Metadata-Version: 2.4
Name: apache-iggy
Version: 0.5.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Distributed Computing
Requires-Dist: pytest>=7.0,<9.0 ; extra == 'testing'
Requires-Dist: pytest-asyncio>=0.21.0,<1.0 ; extra == 'testing'
Requires-Dist: pytest-xdist>=3.0,<4.0 ; extra == 'testing'
Requires-Dist: pytest-timeout>=2.0,<3.0 ; extra == 'testing'
Requires-Dist: loguru>=0.7.0,<1.0 ; extra == 'examples'
Requires-Dist: testcontainers[docker]>=3.7.0,<5.0 ; extra == 'testing-docker'
Requires-Dist: maturin>=1.2,<2.0 ; extra == 'dev'
Requires-Dist: black>=23.0,<25.0 ; extra == 'dev'
Requires-Dist: isort>=5.12.0,<6.0 ; extra == 'dev'
Requires-Dist: mypy>=1.5.0,<2.0 ; extra == 'dev'
Requires-Dist: ruff>=0.1.0,<1.0 ; extra == 'dev'
Requires-Dist: pytest>=7.0,<9.0 ; extra == 'all'
Requires-Dist: pytest-asyncio>=0.21.0,<1.0 ; extra == 'all'
Requires-Dist: pytest-xdist>=3.0,<4.0 ; extra == 'all'
Requires-Dist: pytest-timeout>=2.0,<3.0 ; extra == 'all'
Requires-Dist: loguru>=0.7.0,<1.0 ; extra == 'all'
Requires-Dist: testcontainers[docker]>=3.7.0,<5.0 ; extra == 'all'
Requires-Dist: maturin>=1.2,<2.0 ; extra == 'all'
Requires-Dist: black>=23.0,<25.0 ; extra == 'all'
Requires-Dist: isort>=5.12.0,<6.0 ; extra == 'all'
Requires-Dist: mypy>=1.5.0,<2.0 ; extra == 'all'
Requires-Dist: ruff>=0.1.0,<1.0 ; extra == 'all'
Provides-Extra: testing
Provides-Extra: examples
Provides-Extra: testing-docker
Provides-Extra: dev
Provides-Extra: all
License-File: LICENSE
License-File: NOTICE
Summary: Apache Iggy is the persistent message streaming platform written in Rust, supporting QUIC, TCP and HTTP transport protocols, capable of processing millions of messages per second.
Keywords: streaming,messaging,pubsub,iggy,rust,performance
Author-email: Dario Lencina Talarico <darioalessandrolencina@gmail.com>, Albin Skott <albin@mattsson.io>
Requires-Python: >=3.7
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://iggy.apache.org
Project-URL: Documentation, https://iggy.apache.org/docs/
Project-URL: Repository, https://github.com/apache/iggy
Project-URL: Bug Tracker, https://github.com/apache/iggy/issues
Project-URL: Discord, https://discord.gg/C5Sux5NcRa

# apache-iggy

[![discord-badge](https://img.shields.io/discord/1144142576266530928)](https://discord.gg/C5Sux5NcRa)

Apache Iggy is the persistent message streaming platform written in Rust, supporting QUIC, TCP and HTTP transport protocols, capable of processing millions of messages per second.

## Installation

### Basic Installation

```bash
pip install apache-iggy
```

### Development Installation

For testing:

```bash
pip install -e ".[testing]"
```

For development with all tools:

```bash
pip install -e ".[dev,testing,examples]"
```

### Supported Python Versions

- Python 3.7+

## Usage and Examples

All examples rely on a running iggy server. To start the server, execute:

```bash
# Using latest version
docker run --rm -p 8080:8080 -p 3000:3000 -p 8090:8090 apache/iggy:latest

# Or build from source (recommended for development)
cd ../../ && cargo run --bin iggy-server
```

## Testing

### Quick Test

```bash
# Run tests with Docker (recommended)
docker compose -f docker-compose.test.yml up --build
```

### Local Development

```bash
# Install dependencies and build
pip install -e ".[testing]"
maturin develop

# Run tests (requires iggy-server running)
pytest tests/ -v
```

## Examples

Refer to the [python_examples/](https://github.com/apache/iggy/tree/master/foreign/python/python_examples) directory for usage examples.

## Contributing

See [CONTRIBUTING.md](https://github.com/apache/iggy/blob/master/foreign/python/CONTRIBUTING.md) for development setup and guidelines.

## License

Licensed under the Apache License 2.0. See [LICENSE](https://github.com/apache/iggy/blob/master/foreign/python/LICENSE) for details.

