Metadata-Version: 2.4
Name: stichotrope
Version: 0.1.0.dev1
Summary: Python profiling library with block-level profiling and multi-track organization
Author-email: Eliott Jacopin <eliott.jacopin@riken.jp>
License: AGPL-3.0-or-later
Project-URL: Homepage, https://github.com/LittleCoinCoin/stichotrope
Project-URL: Repository, https://github.com/LittleCoinCoin/stichotrope
Project-URL: Issues, https://github.com/LittleCoinCoin/stichotrope/issues
Keywords: profiling,performance,benchmarking,instrumentation,profiler
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
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: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: System :: Benchmark
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: tomli>=2.0.0; python_version < "3.11"
Requires-Dist: tomli-w>=1.0.0
Provides-Extra: dev
Requires-Dist: python-semantic-release>=8.0.0; extra == "dev"
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.5.0; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == "docs"
Requires-Dist: mkdocs-material>=9.5.0; extra == "docs"
Dynamic: license-file

# Stichotrope

> **⚠️ Development Status**: This repository is currently in the setup phase. The library is not yet available for use.

A Python profiling library for deterministic function and block-level profiling.

## Overview

Stichotrope aims to provide a native Python equivalent of CppProfiler, offering:

- **Block-level profiling**: Fills the gap between function-level and line-level profiling
- **Multi-track organization**: Logical grouping of profiling data
- **Explicit instrumentation**: Decorators and context managers for precise control
- **Deterministic profiling**: Predictable, reproducible performance measurements

## Project Status

🚧 **In Development** - Phase 1: Infrastructure Foundation

This project is actively being developed following a structured roadmap toward v1.0.0. Current focus:

- ✅ Testing framework and performance baseline
- ✅ CI/CD pipeline
- 🔄 PyPI packaging setup
- ⏳ Documentation infrastructure
- ⏳ Thread-safe architecture
- ⏳ Configuration system
- ⏳ Production features

## Planned Features

- Thread-safe profiling for multi-threaded applications
- TOML-based configuration system
- CSV/JSON export (CppProfiler-compatible)
- Statistical benchmarking with confidence intervals
- Cross-platform support (Windows, Linux, macOS)
- Python 3.9-3.12 support

## Installation

**Not yet available on PyPI**

Once released, installation will be:

```bash
pip install stichotrope
```

## Quick Start

**Coming soon** - The library is not yet ready for use.

Example usage (planned):

```python
from stichotrope import Profiler

profiler = Profiler("MyApp")

@profiler.track(0, "process_data")
def process_data(data):
    return transform(data)

def complex_function():
    with profiler.block(1, "database_query"):
        result = query_database()
    return result
```

## Documentation

Documentation will be available at [Read the Docs](https://stichotrope.readthedocs.io) once the project reaches a stable release.

## Development

This project follows a milestone-based development workflow with strict quality gates. See the [roadmap](__design__/02-product_roadmap_v2.md) for detailed planning.

### Contributing

Contributions are welcome once the project reaches v1.0.0. For now, development is focused on establishing the core infrastructure and architecture.

## License

This project is licensed under the [GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later)](LICENSE).

## Links

- **Repository**: [github.com/LittleCoinCoin/stichotrope](https://github.com/LittleCoinCoin/stichotrope)
- **Issues**: [github.com/LittleCoinCoin/stichotrope/issues](https://github.com/LittleCoinCoin/stichotrope/issues)
- **Roadmap**: [Product Roadmap](__design__/02-product_roadmap_v2.md)

---

**Target Release**: v1.0.0 (7-9 weeks from project start)  
**Current Version**: 0.0.0 (development)

