This repo is a monorepo with two deliverables:
- Python package:
python/(PyPI name:cccc-sdk) - TypeScript package:
ts/(npm name:cccc-sdk)
- SDK major/minor tracks CCCC:
0.4.18. - RC sequence is SDK-owned (
0.4.18rcNfor Python,0.4.18-rc.Nfor npm). - Compatibility is enforced by contracts/capabilities/op-probing, not by matching RC numbers.
./scripts/sync_specs_from_cccc.sh ../cccc- TestPyPI and PyPI accounts
- Repository secrets in
ChesterRa/cccc-sdk:TEST_PYPI_API_TOKENPYPI_API_TOKEN
Edit python/pyproject.toml (project.version).
./.venv/bin/python -m unittest discover -s python/tests -p "test_*.py" -vgit tag v0.4.18rcN
git push origin v0.4.18rcNThis triggers .github/workflows/python-publish-testpypi.yml.
Install check:
python -m pip install --index-url https://pypi.org/simple \
--extra-index-url https://test.pypi.org/simple \
cccc-sdk==0.4.18rcNgit tag v0.4.18
git push origin v0.4.18This triggers .github/workflows/python-publish.yml.
Edit ts/package.json (version).
Examples:
- RC:
0.4.18-rc.N - Stable:
0.4.18
cd ts
npm ci
npm run typecheck
npm run buildcd ts
npm publish --tag rc --access publiccd ts
npm publish --access public- Run Python compat check against a running daemon:
python python/examples/compat_check.py- Verify npm package installs and can
import { CCCCClient } from 'cccc-sdk'.