Deployment — PyPI and S3 manual
Related: secrets-and-configuration · troubleshooting-decisions
PyPI
| Item | Value |
|---|---|
| Package name | villa-market-backend-sdk |
| Import | from villa_backend_sdk import VillaClient |
| URL | https://pypi.org/project/villa-market-backend-sdk/ |
| Current version | 0.2.1 (token verification) |
villa-backend-sdk was rejected (too similar to herta-villa-sdk).
Publish locally (requires PYPI_KEY in ~/.env or env):
python -m build
twine upload dist/*
Workflow: .github/workflows/publish.yml (release / manual).
S3 documentation site
| Item | Value |
|---|---|
| Bucket | villa-market-backend-sdk-manual |
| Region | ap-southeast-1 |
| Prefix | latest/ |
| URL | http://villa-market-backend-sdk-manual.s3-website-ap-southeast-1.amazonaws.com/latest/index.html |
Build and deploy:
python3 scripts/build_manual_site.py
python3 scripts/deploy_manual_s3.py
Config: docs/site.config.json
Workflow: .github/workflows/deploy-docs.yml (on docs changes to main; needs AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY).
What gets published
docs/MANUAL.md → site indexdocs/DESIGN.md, TESTING.md, CI_CD.md, COGNITO_TEST.md → HTML pagesdocs/knowledge/*.md → knowledge base section (Obsidian-compatible source)CI overview
See docs/CI_CD.md — lint (ruff), unit (3.10–3.12), integration (live Cognito JWT), build gate, optional PyPI publish.