Skip to content

insiders¤

ci documentation pypi version gitpod gitter

Manage your Insiders projects.

Installation¤

pip install insiders

With uv:

uv tool install insiders

Usage¤

insiders¤

Manage your Insiders projects.

This tool lets you manage your local and remote Git repositories for projects that offer an Insiders version.

See the documentation / help text of the different subcommands available.

Example

insiders --debug-info

Options

  • -h, --help: Print the program help and exit. Default: False.
  • -V, --version: Print the program version and exit. Default: False.
  • --debug-info: Print debug information. Default: False.
  • --completion COMPLETION: Print shell-specific completion source. Default: False.

Subcommands

create¤

Create public/insiders repositories.

This command will do several things:

  • Create public and insiders repositories on GitHub (using the provided namespace, username, repository name, description, etc.).
  • Clone these two repositories locally (using the provided repository paths).
  • Initialize the public repository with a README and a dummy CI job that always passes.
  • Optionally initialize the insiders repository by generating initial contents using the specified Copier template.

Example 1 - Project in user's namespace

The insiders namespace, insiders repository name and username are inferred from the namespace and repository name.

insiders create \
    -n pawamoy \
    -r mkdocs-ultimate \
    -d "The ultimate plugin for MkDocs (??)" \
    -p ~/data/dev/mkdocs-ultimate \
    -P ~/data/dev/insiders/mkdocs-ultimate \
    -t gh:pawamoy/copier-pdm

Example 2 - Project in another namespace:

The insiders namespace, insiders repository name and username are different, so must be provided explicitly:

insiders create \
    -n mkdocstrings \
    -r rust \
    -d "A Rust handler for mkdocstrings" \
    -p ~/data/dev/mkdocstrings-rust \
    -P ~/data/dev/insiders/mkdocstrings-rust \
    -N pawamoy-insiders \
    -R mkdocstrings-rust \
    -u pawamoy \
    -t gh:mkdocstrings/handler-template

Options

  • -h, --help: Print the program help and exit. Default: False.
  • -n, --namespace NAMESPACE: Namespace of the public repository.
  • -r, --repo REPO: Name of the public repository.
  • -d, --description DESCRIPTION: Shared description.
  • -p, --repo-path REPO_PATH: Local path in which to clone the public repository.
  • -P, --insiders-repo-path INSIDERS_REPO_PATH: Local path in which to clone the insiders repository.
  • -N, --insiders-namespace INSIDERS_NAMESPACE: Namespace of the insiders repository. Defaults to the public namespace. Default: None.
  • -R, --insiders-repo INSIDERS_REPO: Name of the insiders repository. Defaults to the public name. Default: None.
  • -u, --username USERNAME: Username. Defaults to the public namespace value. Default: None.
  • -t, --copier-template COPIER_TEMPLATE: Copier template to initialize the local insiders repository with. Default: None.
  • -i, --register-pypi: Whether to register the project name on PyPI as version 0.0.0. Default: False.

pypi¤

Manage PyPI-related things.

Options

  • -h, --help: Print the program help and exit. Default: False.

Subcommands

register¤

Register a name on PyPI.

This will create a temporary project on your filesystem, then build both source and wheel distributions for it, and upload them to PyPI using Twine.

After that, you will see an initial version 0.0.0 of your project on PyPI.

Example

insiders pypi register -u pawamoy -n my-new-project -d "My new project!"

Credentials must be configured in ~/.pypirc to allow Twine to push to PyPI. For example, if you use PyPI API tokens, add the token to your keyring:

pipx install keyring
keyring set https://upload.pypi.org/legacy/ __token__
# __token__ is a literal string, do not replace it with your token.
# The command will prompt you to paste your token.

And configure ~/.pypirc:

[distutils]
index-servers =
    pypi

[pypi]
username: __token__

Options

  • -h, --help: Print the program help and exit. Default: False.
  • -u, --username USERNAME: Username on PyPI (your account).
  • -n, --name NAME: Name to register.
  • -d, --description DESCRIPTION: Description of the project on PyPI.