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

SurfaceValue
GitHub org / repohoox-sh/pyne (Actions host)
PyPI account (owner)jango-blockchained (personal)
PyPI projecthoox-pyne
Import / CLIsimport pynescript; CLIs pyne / pyne-lsp (aliases pynescript / pynescript-lsp)
Package versionsrc/pynescript/__about__.py0.6.4
VS Marketplace / Open VSX publisherhoox-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

ItemAction
Actions enabledOrg/repo Settings → Actions allowed for this repo
Environment pypiRecreate if missing: gh api -X PUT repos/hoox-sh/pyne/environments/pypi
SecretsRe-set if missing: METADATA_KEY, CRYPTO_KEY (same Fernet material as scripts/build/.metadata.key)
OptionalVSCE_PAT for Marketplace publish on tag
Workflow permissionsRead/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

  1. pypi.org as jango-blockchainedAPI tokens → add token.
  2. gh secret set PYPI_API_TOKEN -R hoox-sh/pyne
  3. First upload creates project hoox-pyne owned by your user.

Optional — Trusted Publishing

Log in as jango-blockchained (personal), then pending publisher:

FieldValue
PyPI project namehoox-pyne
Ownerhoox-sh (GitHub repo owner — Actions host)
Repositorypyne
Workflow namepublish.yml
Environment namepypi

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

  1. Push main with publish-ready tree to hoox-sh/pyne.
  2. Confirm CI green (lint, test matrix, package, docker, vscode-ext).
  3. Actions → Publish → Run workflow → dry_run=true (build + twine only, no upload).

5. Cut v0.6.4

  1. Move CHANGELOG.md Unreleased notes into ## [0.6.4] - YYYY-MM-DD.
  2. Align VSIX version in vscode-extension/package.json (already 0.4.4) if shipping Marketplace/VSIX with this tag.
  3. Tag and push:
git tag -a v0.6.4 -m "v0.6.4"
git push origin v0.6.4
  1. Watch in parallel:
    • Publish → PyPI hoox-pyne
    • Build & Release → GitHub Release assets + optional Marketplace
    • GHCRghcr.io/hoox-sh/pyne/{api,cli,lsp}:0.6.4

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:

LocationRole
pyproject.toml [project.urls]PyPI package links
.github/workflows/publish.yml headerTrusted Publisher fields
Dockerfile org.opencontainers.image.sourceImage source label
package.json / vscode-extension/package.json repositoryClone / issues URLs
docs/pyne/docs.json navbar GitHubDocs site link
scripts/build/README.md gh secret set -RSecret target repo
CONTRIBUTING.md + this pageHuman publish runbook

Intentionally not changed

ItemWhy
.github/FUNDING.ymlGitHub Sponsors username (personal)
Sister repos jango-blockchained/{axis,hoox}Separate transfers
Author strings jango_blockchainedCopyright / author field
PyPI account jango-blockchainedPackage owner; not the VS Code namespace

See also