Rings are marine vortices with a scale of hundreds of kilometers that can last for months, whose associated transport and mixing play an important role in the ocean dynamics. Such features are traditionally treated as a geostrophic flow, but since the centrifugal acceleration is not negligible in the inner core, the cyclo-geostrophic balance is a better approximation for the rings. In the present work, we describe a novel objective technique to identify the ring center, which is used as the origin of a convenient framework to handle rings under the cyclo-geostrophic balance. Furthermore, we correct the velocity field by the translation to isolate the swirl movement, a procedure ignored by other methodologies. We show that the lack of such correction would lead to an error of 30km on the center definition of a ship surveyed North Brazil Current Ring with 160km of radius. Another distinct characteristic of our approach is the flexibility in the spatio-temporal structure of the data, because it allows for ungridded data, an important ability for in situ observations. That also enables the use of a hybrid dataset composed from different instruments. The error on the Monte Carlo experiments to identify the center of the propagating ring is less than 10km, and depends on the level of noise, sampling strategy, and strength of the ring, among other factors. This technique was fully implemented in PyRings, an open Python library with a collection of procedures to handle oceanic rings and mesoscale eddies in general.