This release is a pre-release and may not be stable for production use.
pyringbuf
A python extension implementing a circular/ring buffer of characters as a C extension. It overwrites silently.
Availability
Currently, pyringbuf is available at https://pypi.python.org/pypi/pyringbuf, or via pip install pyringbuf. As this is a C extension, there is a compilation step, so your system will need to be able to compile extension modules for python.
Usage
>>> from ringbuf import RingBuffer
>>> R = RingBuffer(5) #choose your buffer size
>>> R.push("a") #push a single character into the buffer
>>> R.pop() #pop a single character
'a'
>>> R.write("bcdef") #fill buffer with many characters at once
>>> R.read(4) #read many characters at once
'bcde'
>>> R.read(1)
'f'
>>> R.read(1) #returns an empty string if the buffer is empty
''
Implementation
For the interested, this has been implemented as a pure C extension. The ring buffer itself is implemented as a fixed length array of chars (8-bit signed), dynamically allocated on the Python Heap on instantiation of a buffer. Read and write indexes both increase monotonically, and addresses in the array are determined using index % (modulo) buffer size. Writing more than the buffer size at once throws an exception, otherwise if writing overtakes the read index in the modulo space the buffer contents are silently overwritten.
Metadata
Release files for pyringbuf 0.1b2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyringbuf-0.1b2.tar.gz | 3.7 kB | Without provenance | Details for pyringbuf-0.1b2.tar.gz |
Release files / pyringbuf-0.1b2.tar.gz
| Download URL | pyringbuf-0.1b2.tar.gz |
|---|---|
| Size | 3.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a93f14be50f0b5320bc6a2281ee2c4f2193171aef7be14dbe5635bbc84aa98fb
|
|
BLAKE2b-256 checksum How to use checksums |
1413c1f4a8442b8f01383dd7dabd1f3bc41ab6aa1df4fcacf5f9fee25dad40a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for pyringbuf 0.1b2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.