Metadata-Version: 2.4
Name: traceroot
Version: 0.0.7
Summary: The SDK that revolutionizes debugging and tracing.
Author: TraceRoot Team
License: Apache-2.0
Project-URL: Homepage, https://traceroot.ai/
Project-URL: Documentation, https://docs.traceroot.ai
Project-URL: Repository, https://github.com/traceroot-ai/traceroot-sdk
Project-URL: Bug Reports, https://github.com/traceroot-ai/traceroot-sdk/issues
Keywords: artificial-intelligence,agent-systems,opentelemetry,tracing,logging,debugging
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
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: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Logging
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: opentelemetry-api==1.34.1
Requires-Dist: opentelemetry-sdk==1.34.1
Requires-Dist: opentelemetry-exporter-otlp==1.34.1
Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.34.1
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.34.1
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.34.1
Requires-Dist: opentelemetry-instrumentation==0.55b1
Requires-Dist: opentelemetry-instrumentation-asgi==0.55b1
Requires-Dist: opentelemetry-instrumentation-fastapi==0.55b1
Requires-Dist: opentelemetry-proto==1.34.1
Requires-Dist: opentelemetry-sdk-extension-aws==2.1.0
Requires-Dist: opentelemetry-propagator-aws-xray==1.0.2
Requires-Dist: opentelemetry-semantic-conventions==0.55b1
Requires-Dist: opentelemetry-util-http==0.55b1
Requires-Dist: watchtower==3.4.0
Requires-Dist: pandas>=1.5.0
Requires-Dist: PyYAML==6.0.2
Provides-Extra: dev
Requires-Dist: pytest==8.4.1; extra == "dev"
Requires-Dist: pytest-asyncio==1.1.0; extra == "dev"
Requires-Dist: black==25.1.0; extra == "dev"
Requires-Dist: pre-commit==4.2.0; extra == "dev"
Requires-Dist: flake8==7.3.0; extra == "dev"
Requires-Dist: mypy==1.17.0; extra == "dev"
Provides-Extra: fastapi
Requires-Dist: fastapi==0.115.12; extra == "fastapi"
Requires-Dist: uvicorn==0.34.3; extra == "fastapi"
Requires-Dist: httpx==0.27.0; extra == "fastapi"
Requires-Dist: opentelemetry-instrumentation-fastapi==0.55b1; extra == "fastapi"
Provides-Extra: all
Requires-Dist: opentelemetry-api==1.34.1; extra == "all"
Requires-Dist: opentelemetry-sdk==1.34.1; extra == "all"
Requires-Dist: opentelemetry-exporter-otlp==1.34.1; extra == "all"
Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.34.1; extra == "all"
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.34.1; extra == "all"
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.34.1; extra == "all"
Requires-Dist: opentelemetry-instrumentation==0.55b1; extra == "all"
Requires-Dist: opentelemetry-instrumentation-asgi==0.55b1; extra == "all"
Requires-Dist: opentelemetry-instrumentation-fastapi==0.55b1; extra == "all"
Requires-Dist: opentelemetry-proto==1.34.1; extra == "all"
Requires-Dist: opentelemetry-sdk-extension-aws==2.1.0; extra == "all"
Requires-Dist: opentelemetry-propagator-aws-xray==1.0.2; extra == "all"
Requires-Dist: opentelemetry-semantic-conventions==0.55b1; extra == "all"
Requires-Dist: opentelemetry-util-http==0.55b1; extra == "all"
Requires-Dist: watchtower==3.4.0; extra == "all"
Requires-Dist: pandas>=1.5.0; extra == "all"
Requires-Dist: PyYAML==6.0.2; extra == "all"
Requires-Dist: pytest==8.4.1; extra == "all"
Requires-Dist: pytest-asyncio==1.1.0; extra == "all"
Requires-Dist: black==25.1.0; extra == "all"
Requires-Dist: flake8==7.3.0; extra == "all"
Requires-Dist: mypy==1.17.0; extra == "all"
Requires-Dist: fastapi==0.115.12; extra == "all"
Requires-Dist: uvicorn==0.34.3; extra == "all"
Requires-Dist: pre-commit==4.2.0; extra == "all"
Requires-Dist: pytest==8.4.1; extra == "all"
Requires-Dist: httpx==0.27.0; extra == "all"
Requires-Dist: opentelemetry-instrumentation-fastapi==0.55b1; extra == "all"
Dynamic: license-file

# TraceRoot Python SDK

<div align="center">
  <a href="https://traceroot.ai/">
    <img src="https://raw.githubusercontent.com/traceroot-ai/traceroot/main/misc/images/traceroot_logo.png" alt="TraceRoot Logo">
  </a>
</div>

<div align="center">

[![Testing Status][testing-image]][testing-url]
[![Documentation][docs-image]][docs-url]
[![PyPI Version][pypi-image]][pypi-url]
[![PyPI SDK Downloads][pypi-sdk-downloads-image]][pypi-sdk-downloads-url]
[![TraceRoot.AI Website](https://raw.githubusercontent.com/traceroot-ai/traceroot/refs/heads/main/misc/images/custom-website-badge.svg)][company-website-url]

</div>

Please see the [Python SDK Docs](https://docs.traceroot.ai/sdk/python) for details.

## Installation

```bash
pip install traceroot
```

## Examples

```python
import traceroot
import asyncio

logger = traceroot.get_logger()

@traceroot.trace()
async def greet(name: str) -> str:
    logger.info(f"Greeting inside traced function: {name}")
    # Simulate some async work
    await asyncio.sleep(0.1)
    return f"Hello, {name}!"

async def main():
    result = await greet("world")
    logger.info(f"Greeting result: {result}")

if __name__ == "__main__":
    asyncio.run(main())
```

## Contact Us

Please reach out to founders@traceroot.ai if you have any questions.

[company-website-url]: https://traceroot.ai
[docs-image]: https://img.shields.io/badge/docs-traceroot.ai-0dbf43
[docs-url]: https://docs.traceroot.ai
[pypi-image]: https://badge.fury.io/py/traceroot.svg
[pypi-sdk-downloads-image]: https://static.pepy.tech/badge/traceroot
[pypi-sdk-downloads-url]: https://pypi.python.org/pypi/traceroot
[pypi-url]: https://pypi.python.org/pypi/traceroot
[testing-image]: https://github.com/traceroot-ai/traceroot/actions/workflows/test.yml/badge.svg
[testing-url]: https://github.com/traceroot-ai/traceroot/actions/workflows/test.yml
