Metadata-Version: 2.5
Name: tracera-core
Version: 1.1.1
Summary: Tracera Autotest adapter core (HTTP + steps + result upload)
Project-URL: Homepage, https://tracera.dev/docs/adapters
Project-URL: Changelog, https://github.com/tracera-dev/tracera-releases/releases?q=Adapters+%28Python%29
Project-URL: Bug-Tracker, https://github.com/tracera-dev/tracera-releases/issues
Author-email: Tracera <contact@tracera.dev>
License-Expression: Apache-2.0
License-File: LICENSE.md
Keywords: adapter,autotest,reporting,test-reporting,testops,tracera
Classifier: Development Status :: 5 - Production/Stable
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 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.11
Requires-Dist: httpx>=0.27
Description-Content-Type: text/markdown

# tracera-core

Shared Autotest HTTP client, step context, and result upload for Tracera adapters.

**Requires Python ≥ 3.11.**

```bash
pip install tracera-core
```

Import package name is **`tracera`**.

Foreign thread: capture `get_context()` on the test thread, then wrap the worker in `with run_with_context(ctx):`. Without a pin, steps and comments on that thread are dropped.

**Several test processes** (e.g. Pabot, parallel Behave): they share one run automatically — the last process to finish closes it. You do not create the run by hand.

```python
from tracera import step

step("title", lambda: None)


@step("open {path}")
def open_login(path: str): ...


with step("title"):
    ...

async with step("title"):
    ...
```

Used by the official Python adapters. Customer how-to: [Autotest adapters](https://tracera.dev/docs/adapters). Prefer a framework package unless you write a custom runner integration.

Plugin / runner helpers (`begin_reporting`, `create_test_context`, …) live in submodules (`tracera.session`, `tracera.context`, …) — not on the `tracera` package root.

## License

Apache-2.0. Copyright 2026 Tracera.
