Metadata-Version: 2.4
Name: tusk-drift-python-sdk
Version: 0.1.0.dev1
Summary: Python SDK for Tusk Drift instrumentation and replay
Author-email: Tusk <support@usetusk.ai>
License: MIT
Project-URL: Homepage, https://usetusk.ai
Project-URL: Documentation, https://docs.usetusk.ai
Project-URL: Repository, https://github.com/Use-Tusk/drift-node-sdk
Project-URL: Issues, https://github.com/Use-Tusk/drift-node-sdk/issues
Keywords: tusk,drift,testing,instrumentation,tracing,replay
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: protobuf>=6.0
Requires-Dist: PyYAML>=6.0
Requires-Dist: requests>=2.32.5
Requires-Dist: tusk-drift-schemas>=0.1.9.dev1
Requires-Dist: aiohttp>=3.9.0
Requires-Dist: aiofiles>=23.0.0
Provides-Extra: flask
Requires-Dist: Flask>=3.1.2; extra == "flask"
Provides-Extra: fastapi
Requires-Dist: fastapi>=0.115.6; extra == "fastapi"
Requires-Dist: uvicorn>=0.34.2; extra == "fastapi"
Requires-Dist: starlette<0.42.0; extra == "fastapi"
Provides-Extra: dev
Requires-Dist: Flask>=3.1.2; extra == "dev"
Requires-Dist: fastapi>=0.115.6; extra == "dev"
Requires-Dist: uvicorn>=0.34.2; extra == "dev"
Requires-Dist: python-jsonpath>=0.10; extra == "dev"

# Drift Python SDK

## Installation

```bash
python -m venv venv
. venv/bin/activate
pip install -r requirements.txt
```

Alternatively, if you have [direnv](https://direnv.net/), just allow this folder and run `pip install -r requirements.txt`.

## Running Tests

```bash
# Run all unit tests
python -m unittest discover -s tests/unit -v

# Run all integration tests (Flask/FastAPI)
timeout 30 python -m unittest discover -s tests/integration -v

# Run specific test file
python -m unittest tests.unit.test_json_schema_helper -v
python -m unittest tests.unit.test_adapters -v
```

### Database Integration Tests

```bash
# Start test databases
docker compose -f docker-compose.test.yml up -d

# Run database tests
python -m unittest tests.integration.test_database -v

# Stop databases
docker compose -f docker-compose.test.yml down
```

### Demo Scripts

```bash
timeout 10 python tests/test_flask_demo.py
timeout 10 python tests/test_fastapi_demo.py
```
