Skip to main content

Rivusio

codecov PyPI version Documentation Status Python versions License Tests Downloads Ruff Type Checking: mypy Security: bandit

A blazing-fast, type-safe data processing pipeline framework in Python, designed for seamless integration of both synchronous and asynchronous operations, complete with robust parallel execution for ultimate performance and scalability.

🚀 Key Features

  • Type Safety: Comprehensive type hints and runtime validation
  • Flexible Processing: Support for both sync and async operations
  • High Performance: Parallel execution strategies and optimized processing
  • Stream Processing: Built-in support for various windowing strategies
  • Robust Error Handling: Configurable retries and error recovery
  • Monitoring: Built-in metrics collection and monitoring
  • Configuration: Type-safe configuration using Pydantic
  • Extensible: Plugin system for custom components
  • Composable: Easy pipeline composition with the >> operator
  • Comprehensive Documentation: Extensive guides and examples

🛠️ Installation

pip install rivusio

🎯 Quick Start

from typing import Dict, List
from rivusio import AsyncBasePipe, SyncBasePipe, AsyncPipeline

# Define a simple transformation pipe
class NumberFilterPipe(AsyncBasePipe[Dict[str, int], List[int]]):
    async def __call__(self, data: Dict[str, int]) -> List[int]:
        return [v for v in data.values() if v > 100]

# Create and use a pipeline
async def main():
    pipeline = AsyncPipeline([NumberFilterPipe()])
    
    # Process data
    data = {"a": 150, "b": 50, "c": 200}
    result = await pipeline(data)  # [150, 200]
    print(result)

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())

📚 Documentation

Visit our comprehensive documentation for:

  • Detailed guides and tutorials
  • API reference
  • Best practices
  • Advanced examples
  • Configuration options

🔧 Development Setup

# Clone the repository
git clone https://github.com/zbytealchemy/rivusio.git
cd rivusio

# Install dependencies
poetry install

# Run tests
poetry run pytest

# Build documentation
poetry install --with docs
make docs

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details on:

  • Code of Conduct
  • Development process
  • Pull request guidelines
  • Testing requirements

📋 Requirements

  • Python 3.10+
  • Poetry for dependency management
  • Git for version control

📈 Performance

Rivusio is designed for high performance:

  • Efficient batch processing
  • Parallel execution capabilities
  • Optimized stream processing
  • Minimal overhead

🔒 Security

  • Regular security audits
  • Type-safe operations
  • Input validation
  • Comprehensive testing

📄 License

MIT License - see LICENSE file for details.

🙏 Acknowledgments

Special thanks to all contributors who have helped make Rivusio better.


Built with ❤️ by ZbyteAlchemy

Download files

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

Source Distribution

rivusio-0.2.0.tar.gz (25.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rivusio-0.2.0-py3-none-any.whl (32.0 kB view details)

Uploaded Python 3

File details

Details for the file rivusio-0.2.0.tar.gz.

File metadata

  • Download URL: rivusio-0.2.0.tar.gz
  • Upload date:
  • Size: 25.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.16 Linux/6.8.0-1020-azure

File hashes

Hashes for rivusio-0.2.0.tar.gz
Algorithm Hash digest
SHA256 906135547b55fb42658a0104716d624b08c7b6d99cffadb160d785f48ccf56cb
MD5 1f3aa9779866262e6f0d08d202e19252
BLAKE2b-256 c67659884c1572d6e49f950810fe3c111661635c1de8f18a6647915198c11a3a

See more details on using hashes here.

File details

Details for the file rivusio-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: rivusio-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 32.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.16 Linux/6.8.0-1020-azure

File hashes

Hashes for rivusio-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4d4cd89da07713c2148d2d5db246b0d47d50c7adc245fd470975903d341e41c8
MD5 8d2e7966c8e6093e3f3a03b22bc8f013
BLAKE2b-256 80f99171ee6e1d8b753e2428c1d1a1728a786c0751165250994f69dcede5e0cd

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page