Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SnoAI PyPI namespace placeholders

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.

Packages reserved

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-llmix was 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).

How publishing works

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.

Releasing a new placeholder

  1. Add a new directory under packages/<name>/ mirroring the existing layout (pyproject.toml, README.md, src/<module>/__init__.py).
  2. Add <name> to the matrix in .github/workflows/publish-placeholders.yml.
  3. Add <name> to the table above.
  4. Configure a PyPI pending publisher for <name> pointing at this repo + publish-placeholders.yml.
  5. Bump the tag: git tag release-<date> && git push origin release-<date>.

Updating an existing placeholder

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.

License

Apache-2.0 — see LICENSE.

About

PyPI namespace placeholder packages reserved by SnoAI to prevent typosquatting

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages