Metadata-Version: 2.4
Name: qink
Version: 0.1.1
Summary: A real-time data processing framework
Author-email: Kosmas Papadatos <k.papadatos@quadible.co.uk>
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Cython>=3.0.12
Requires-Dist: setuptools>=78.1.0
Requires-Dist: pytest>=8.3.5
Requires-Dist: pytest-cov>=4.1.0
Requires-Dist: pytest-watch>=4.0.0
Requires-Dist: pytest-asyncio>=0.26.0
Requires-Dist: aiohttp>=3.9.0
Requires-Dist: redis>=5.0.1
Requires-Dist: aioredis>=2.0.0
Requires-Dist: aiokafka>=0.12.0
Requires-Dist: azure-storage-blob>=12.19.0
Requires-Dist: python-dotenv>=1.1.0
Dynamic: license-file

# qink - Real-time data processing framework

<img src="logo.png" alt="Qink Logo" >

A Cython-based data pipeline project.

## Development Setup

```
# Windows
set PYTHONPATH=.

# Linux/macOS
export PYTHONPATH=.
```

1. Create and activate a virtual environment:

```bash
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
```

2. Install dependencies:

```bash
pip install -r requirements.txt
```

3. Build the Cython modules:

```bash
python setup.py build_ext --inplace
```

## Testing

To run the tests:

```bash
pytest
```

This will run all tests and generate a coverage report. The coverage report will show which parts of the code are covered by tests.

To run tests with more detailed output:

```bash
pytest -v
```

To run a specific test file:

```bash
pytest tests/test_fib.py
```

To run tests in watch mode (automatically re-runs tests when files change):

```bash
ptw
```

You can also use additional options with watch mode:

```bash
ptw -- -v  # Verbose output
ptw -- -k "test_name"  # Run tests matching the given name
```

Copyright 2024 Quadible

This software is the property of Quadible and is protected under copyright law. Unauthorized copying, distribution, or use of this software, in whole or in part, without express permission from Quadible is strictly prohibited.
This repository and its contents are for authorized internal use only. External sharing or modification is not permitted unless written consent is obtained from Quadible.
For inquiries about permitted usage or licensing, contact [info@quadible.co.uk](mailto:info@quadible.co.uk).
