Skip to main content

A project that provides queue-based I/O functionality

Project description

This Python package provides two classes, QueuePipeIO and LimitedQueuePipeIO, that represent queue-based I/O objects. These classes are ideal for multi-threaded or asynchronous programming where data is produced in one thread or coroutine and consumed in another.

Installation

You can install this package from PyPI:

pip install queuepipeio

Usage

Here’s a basic example of how to use QueuePipeIO and LimitedQueuePipeIO:

from queuepipeio import QueuePipeIO, LimitedQueuePipeIO

# Define MB as a constant
MB = 1024 * 1024

# Create a QueuePipeIO object
qpio = QueuePipeIO(chunk_size=8*MB)

# Write data to the queue
qpio.write(b'Hello, world!')

# Close the writer
qpio.close()

# Read data from the queue
data = qpio.read()

print(data)  # Outputs: b'Hello, world!'

# Create a LimitedQueuePipeIO object with a memory limit
lqpio = LimitedQueuePipeIO(memory_limit=16*MB, chunk_size=8*MB)

# Write data to the queue
lqpio.write(b'Hello, again!')

# Close the writer
lqpio.close()

# Read data from the queue
data = lqpio.read()

print(data)  # Outputs: b'Hello, again!'

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Project details


Download files

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

Source Distribution

queuepipeio-0.1.13.tar.gz (7.9 kB view hashes)

Uploaded Source

Built Distribution

queuepipeio-0.1.13-py3-none-any.whl (7.7 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