Publish checklist
Publish hoox-pyne under personal PyPI account jango-blockchained from hoox-sh/pyne Actions.
This page
Publish checklist
Abstract
Ship hoox-pyne from GitHub hoox-sh/pyne while owning the PyPI
project under the personal account
jango-blockchained. A PyPI
organization is not required (and is not used while org approval is pending).
0. Identity map
| Surface | Value |
|---|---|
| GitHub org / repo | hoox-sh/pyne (Actions host) |
| PyPI account (owner) | jango-blockchained (personal) |
| PyPI project | hoox-pyne |
| Import / CLIs | import pynescript; CLIs pyne / pyne-lsp (aliases pynescript / pynescript-lsp) |
| Package version | src/pynescript/__about__.py → 0.6.4 |
| VS Marketplace / Open VSX publisher | hoox-sh (hoox-sh.pyne 0.4.4) |
1. Confirm repo host (hoox-sh/pyne)
The GitHub repo already lives at hoox-sh/pyne. If a checkout still points at the old personal remote, retarget it:
git remote set-url origin https://github.com/hoox-sh/pyne.git
git remote -v
gh repo view --json nameWithOwner,url
# expect: hoox-sh/pyne
Automation secrets
| Item | Action |
|---|---|
| Actions enabled | Org/repo Settings → Actions allowed for this repo |
Environment pypi | Recreate if missing: gh api -X PUT repos/hoox-sh/pyne/environments/pypi |
| Secrets | Re-set if missing: METADATA_KEY, CRYPTO_KEY (same Fernet material as scripts/build/.metadata.key) |
| Optional | VSCE_PAT for Marketplace publish on tag |
| Workflow permissions | Read/write as needed for release.yml (contents: write on release job) |
gh secret set METADATA_KEY -R hoox-sh/pyne < scripts/build/.metadata.key
gh secret set CRYPTO_KEY -R hoox-sh/pyne < scripts/build/.metadata.key
# optional marketplace:
# gh secret set VSCE_PAT -R hoox-sh/pyne
2. PyPI under personal account jango-blockchained
Preferred — API token
- pypi.org as
jango-blockchained→ API tokens → add token. gh secret set PYPI_API_TOKEN -R hoox-sh/pyne- First upload creates project
hoox-pyneowned by your user.
Optional — Trusted Publishing
Log in as jango-blockchained (personal), then pending publisher:
| Field | Value |
|---|---|
| PyPI project name | hoox-pyne |
| Owner | hoox-sh (GitHub repo owner — Actions host) |
| Repository | pyne |
| Workflow name | publish.yml |
| Environment name | pypi |
Leave PYPI_API_TOKEN unset to force OIDC. Do not put your PyPI username
in the GitHub Owner field.
Details: PyPI publish.
3. Local package smoke (no upload)
# version already 0.6.4 in src/pynescript/__about__.py
pip install build twine
rm -rf dist/
python -m build
twine check dist/*
# expect: hoox_pyne-0.6.4-py3-none-any.whl hoox_pyne-0.6.4.tar.gz
python -m venv /tmp/pyne-smoke
/tmp/pyne-smoke/bin/pip install dist/*.whl
/tmp/pyne-smoke/bin/python -c "import pynescript; print(pynescript.__version__)"
/tmp/pyne-smoke/bin/pyne --help
4. GitHub Actions dry-run
- Push
mainwith publish-ready tree tohoox-sh/pyne. - Confirm CI green (lint, test matrix, package, docker, vscode-ext).
- Actions → Publish → Run workflow →
dry_run=true(build + twine only, no upload).
5. Cut v0.6.4
- Move
CHANGELOG.mdUnreleased notes into## [0.6.4] - YYYY-MM-DD. - Align VSIX version in
vscode-extension/package.json(already 0.4.4) if shipping Marketplace/VSIX with this tag. - Tag and push:
git tag -a v0.6.4 -m "v0.6.4"
git push origin v0.6.4
- Watch in parallel:
- Publish → PyPI
hoox-pyne - Build & Release → GitHub Release assets + optional Marketplace
- GHCR →
ghcr.io/hoox-sh/pyne/{api,cli,lsp}:0.6.4
- Publish → PyPI
6. Post-publish verify
pip index versions hoox-pyne # or: pip install hoox-pyne==0.6.4
python -c "import pynescript; print(pynescript.__version__)"
# GitHub Release: https://github.com/hoox-sh/pyne/releases/tag/v0.6.4
# PyPI: https://pypi.org/project/hoox-pyne/0.6.4/
Hardcoded owner map (repo automation)
Workflows use relative github.* context (no hard-coded owner) except
documentation/comments. Project metadata and docs must point at hoox-sh/pyne:
| Location | Role |
|---|---|
pyproject.toml [project.urls] | PyPI package links |
.github/workflows/publish.yml header | Trusted Publisher fields |
Dockerfile org.opencontainers.image.source | Image source label |
package.json / vscode-extension/package.json repository | Clone / issues URLs |
docs/pyne/docs.json navbar GitHub | Docs site link |
scripts/build/README.md gh secret set -R | Secret target repo |
CONTRIBUTING.md + this page | Human publish runbook |
Intentionally not changed
| Item | Why |
|---|---|
.github/FUNDING.yml | GitHub Sponsors username (personal) |
Sister repos jango-blockchained/{axis,hoox} | Separate transfers |
Author strings jango_blockchained | Copyright / author field |
PyPI account jango-blockchained | Package owner; not the VS Code namespace |
See also
- PyPI publish
- Release — LSP + VSIX
- CI
- Root
CONTRIBUTING.md