Skip to main content

Extends list, tuple and str with ring (circular) methods

Project description

RingSeqPy

A library that adds new operations to Python list, tuple and str for when such a sequence needs to be considered circular, its elements forming a ring.

Working for Python 3.10 and above.

Installation

pip install ring-seq-py

Get started

from ring_seq import RingSeq

>>> RingSeq('RING').rotate_right(1)
'GRIN'
>>> RingSeq([0, 1, 2, 3]).start_at(2)
[2, 3, 0, 1]
>>> RingSeq((1, 3, 5, 7, 9)).reflect_at(3)
(7, 5, 3, 1, 9)

or alternatively, without the class RingSeq wrapper:

from ring_seq.methods import rotate_right, start_at, reflect_at

>>> rotate_right('RING', 1)
'GRIN'
>>> start_at([0, 1, 2, 3], 2)
[2, 3, 0, 1]
>>> reflect_at((1, 3, 5, 7, 9), 3)
(7, 5, 3, 1, 9)

Need

Whenever data are structured in a circular sequence, chances are you don't want to locally reinvent the wheel (pun intended).

Solution

RingSeqPy is a small, purely functional, self-contained library, where most of the circular use cases are already solved and building blocks provided for the others.

Other languages

The same library is available also for the Scala language, check RingSeq (Scala version).

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ring-seq-py-1.0.tar.gz (11.7 kB view hashes)

Uploaded Source

Built Distribution

ring_seq_py-1.0-py3-none-any.whl (13.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page