insiders¤
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.