Thank you for improving the Twilic Python implementation.
This package implements the Twilic wire format and session-aware encoder/decoder. Keep changes aligned with the normative spec in twilic/twilic.
Requirements:
- Python 3.12 or later
- uv
Implementation code belongs in src/twilic/. The public API is exported from src/twilic/__init__.py.
uv sync
uv run ruff format --check .
uv run ruff check .
uv run pytestMarkdown in this repository is formatted with Prettier and linted with markdownlint (same tooling as twilic/twilic-go):
pnpm install
pnpm format # write
pnpm format:check # CI check
pnpm lint # markdownlintInterop scripts under scripts/ expect ../twilic-rust as a sibling clone. They verify Rust and Python decode the same logical values and that pytest interop tests pass.
We follow Conventional Commits.
Examples:
feat: add FOR bitpack vector codecfix(session): reset intern table on control frame
- Tests added or updated for behavior changes
uv run ruff format --check,uv run ruff check, anduv run pytestpass locallypnpm format:checkandpnpm lintpass when Markdown changes- Interop fixtures updated when wire behavior changes
docs/SPEC-TEST-TRACEABILITY.mdupdated when spec coverage changes- Commit messages follow Conventional Commits
By contributing to this repository, you agree that your contribution may be distributed under the MIT license used by the project.