Python Packaging¶
pyscn is distributed on PyPI as a wheel containing a native Go binary. The Python layer is a stdlib launcher; there are no Python runtime dependencies.
Which installer?¶
| Tool | Good for | Notes |
|---|---|---|
uvx (recommended) |
One-off runs, CI | Runs without installing; caches after first call. |
uv tool install |
Persistent tool management | Fast, isolated. |
pipx |
Persistent CLI install | Isolated from project deps. |
pip |
Installing into a venv | No isolation. |
CI: uvx pyscn@latest check .. Local dev: uv tool install pyscn or pipx install pyscn.
Platform support¶
| OS | Architectures |
|---|---|
| Linux | x86_64, arm64 |
| macOS | x86_64, arm64 |
| Windows | x86_64, arm64 |
Python 3.8–3.13.
Packages¶
| Package | Contains | Install when |
|---|---|---|
pyscn |
CLI + MCP server | You want the CLI. |
pyscn-mcp |
MCP server only | You only want the MCP server. |
Versioning¶
PEP 440, matching the Git tag:
0.1.0— stable0.2.0.dev1— development0.2.0b1— beta
Pin for reproducibility:
Containers¶
Wheel contents¶
pyscn-0.2.0-py3-none-manylinux_2_17_x86_64.whl
├── pyscn/
│ ├── __init__.py
│ ├── __main__.py # CLI launcher
│ ├── mcp_main.py # MCP launcher
│ └── bin/
│ └── pyscn # Go binary
The launcher detects OS + architecture and execs the matching binary.
Releases¶
Versions publish on Git tags starting with v:
GitHub Actions cross-compiles, packages platform-specific wheels, runs twine check, smoke-tests across OS × Python, publishes to PyPI, and creates a GitHub release. See the Releases page.
Alternatives to PyPI¶
go install github.com/ludo-technologies/pyscn/cmd/pyscn@latest(Go 1.22+; does not installpyscn-mcp).- Binary downloads from GitHub Releases.