Metadata-Version: 2.4
Name: tisura-core
Version: 0.0.2
Classifier: Programming Language :: Python :: 3
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 :: Python :: 3.13
Classifier: Programming Language :: Rust
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: License :: OSI Approved :: MIT License
Summary: Tisura light SDK — TLS-verified HTTP client with offline record decryption
Author: Tisura
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Repository, https://github.com/tisura-labs/mono

# tisura (Python)

Python distribution of the [tisura-core](https://github.com/tisura-labs/mono/tree/dev/sentinel_sdk_core) light SDK, packaged via [maturin](https://maturin.rs/) + [UniFFI](https://mozilla.github.io/uniffi-rs/).

## Install

```bash
pip install tisura-core
```

## Develop

From this directory:

```bash
python3 -m venv .venv && source .venv/bin/activate
pip install maturin
make build       # = maturin develop --release
```

Produces an editable `import tisura_core` in the active venv. To build a distributable wheel:

```bash
make wheel       # → ../../target/wheels/tisura_core-*.whl
```

## Test

E2E tests round-trip through a live proxy + store. Bring the stack up first:

```bash
cd ../../../sentinel && docker compose up -d && make wait-for-services
cd -            # back to bindings/python/
make test
```

Both `tests/happy_path.py` (direct response) and `tests/redirect.py` (3xx follow) assert the bytes received on the tunnel match the bytes the SDK can re-derive offline from proxy-stored records.

