This repo holds the source for placeholder packages that SnoAI has published to PyPI to prevent typosquatting on names within our namespace.
None of these packages contain functional code. Each is a single empty module with a README pointing visitors back to github.com/sno-ai.
| PyPI name | Module | Status | Notes |
|---|---|---|---|
snoai |
snoai |
Reserved | Top-level brand namespace |
sno-nodix |
sno_nodix |
Reserved | |
sno-nexus |
sno_nexus |
Reserved | |
sno-skillix |
sno_skillix |
Reserved |
Note:
sno-llmixwas originally on this list as a placeholder, but is reserved for the standalone LLMix Python release rather than being squatted here.
For SnoAI's actually-shipping software, see other repos under github.com/sno-ai — notably mda-config (@snoai/mda-config on npm, snoai-mda-config on PyPI).
All 6 packages publish via PyPI Trusted Publishing (OIDC). No long-lived API tokens.
Each PyPI project has its own pending publisher pointing at:
- Repo:
sno-ai/pypi-placeholders - Workflow:
publish-placeholders.yml - Environment: (none)
The workflow runs on tags matching release-*. A matrix job builds and publishes each package in parallel.
- Add a new directory under
packages/<name>/mirroring the existing layout (pyproject.toml,README.md,src/<module>/__init__.py). - Add
<name>to the matrix in.github/workflows/publish-placeholders.yml. - Add
<name>to the table above. - Configure a PyPI pending publisher for
<name>pointing at this repo +publish-placeholders.yml. - Bump the tag:
git tag release-<date> && git push origin release-<date>.
Bump the package's version in its pyproject.toml (PyPI rejects re-uploading the same version), commit, and push a new release-* tag. The matrix re-publishes the whole set; PyPI accepts the bumped versions and rejects unchanged ones with a no-op error — that's fine, the workflow has fail-fast: false.
Apache-2.0 — see LICENSE.