Metadata-Version: 2.4
Name: transcrify
Version: 0.1.2
Summary: Harness-agnostic transcript normalization for Claude Code, OpenCode, and Codex sessions
Project-URL: Homepage, https://github.com/secemp9/transcrify
Project-URL: Documentation, https://secemp9.github.io/transcrify
Project-URL: Repository, https://github.com/secemp9/transcrify
Project-URL: Issues, https://github.com/secemp9/transcrify/issues
Project-URL: Changelog, https://github.com/secemp9/transcrify/blob/main/CHANGELOG.md
Author: secemp9
License-Expression: MIT
Keywords: claude-code,codex,jsonl,normalization,opencode,pydantic,transcript
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.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Text Processing :: General
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: importlib-metadata>=6.0; python_version < '3.12'
Requires-Dist: orjson<4,>=3.10
Requires-Dist: pydantic-settings<3,>=2.7
Requires-Dist: pydantic<3,>=2.10
Requires-Dist: structlog<26,>=24.1
Requires-Dist: typing-extensions>=4.9
Provides-Extra: all
Requires-Dist: aiosqlite<1,>=0.20; extra == 'all'
Requires-Dist: click<9,>=8.1; extra == 'all'
Requires-Dist: httpx<1,>=0.28; extra == 'all'
Requires-Dist: jinja2<4,>=3.1; extra == 'all'
Requires-Dist: platformdirs<5,>=4; extra == 'all'
Requires-Dist: prompt-toolkit<4,>=3.0; extra == 'all'
Requires-Dist: pyperclip<2,>=1.9; extra == 'all'
Requires-Dist: rapidfuzz<4,>=3; extra == 'all'
Requires-Dist: rich<14,>=13.0; extra == 'all'
Requires-Dist: zstandard<1,>=0.23; extra == 'all'
Provides-Extra: async
Requires-Dist: aiosqlite<1,>=0.20; extra == 'async'
Provides-Extra: cli
Requires-Dist: click<9,>=8.1; extra == 'cli'
Requires-Dist: jinja2<4,>=3.1; extra == 'cli'
Requires-Dist: platformdirs<5,>=4; extra == 'cli'
Requires-Dist: prompt-toolkit<4,>=3.0; extra == 'cli'
Requires-Dist: pyperclip<2,>=1.9; extra == 'cli'
Requires-Dist: rapidfuzz<4,>=3; extra == 'cli'
Requires-Dist: rich<14,>=13.0; extra == 'cli'
Provides-Extra: codex
Requires-Dist: zstandard<1,>=0.23; extra == 'codex'
Provides-Extra: dev
Requires-Dist: aiosqlite<1,>=0.20; extra == 'dev'
Requires-Dist: click<9,>=8.1; extra == 'dev'
Requires-Dist: coverage[toml]<8,>=7.6; extra == 'dev'
Requires-Dist: httpx<1,>=0.28; extra == 'dev'
Requires-Dist: hypothesis<7,>=6.112; extra == 'dev'
Requires-Dist: jinja2<4,>=3.1; extra == 'dev'
Requires-Dist: mypy<2,>=1.13; extra == 'dev'
Requires-Dist: platformdirs<5,>=4; extra == 'dev'
Requires-Dist: pre-commit<5,>=4.0; extra == 'dev'
Requires-Dist: prompt-toolkit<4,>=3.0; extra == 'dev'
Requires-Dist: pyperclip<2,>=1.9; extra == 'dev'
Requires-Dist: pytest-asyncio<1,>=0.24; extra == 'dev'
Requires-Dist: pytest-benchmark<6,>=5.1; extra == 'dev'
Requires-Dist: pytest-cov<7,>=6.0; extra == 'dev'
Requires-Dist: pytest<9,>=8.0; extra == 'dev'
Requires-Dist: rapidfuzz<4,>=3; extra == 'dev'
Requires-Dist: rich<14,>=13.0; extra == 'dev'
Requires-Dist: ruff<1,>=0.8; extra == 'dev'
Requires-Dist: syrupy<5,>=4.7; extra == 'dev'
Requires-Dist: towncrier>=24.8; extra == 'dev'
Requires-Dist: zstandard<1,>=0.23; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-gen-files>=0.5; extra == 'docs'
Requires-Dist: mkdocs-literate-nav>=0.6; extra == 'docs'
Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
Requires-Dist: mkdocs-section-index>=0.3; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.27; extra == 'docs'
Provides-Extra: html
Requires-Dist: jinja2<4,>=3.1; extra == 'html'
Provides-Extra: http
Requires-Dist: httpx<1,>=0.28; extra == 'http'
