bob <verb> <noun>
commands
Bob created useful CLI commands to increase productivity for developing and maintaining packages. These packages are created and maintained using scikit-package
Level 5 public
standard (https://scikit-package.github.io/scikit-package/).
How to get started
Create ~/.bobrc
with the following content:
{ "packages": "<path-to-your-folder-containing-packages>", }
Manage GitHub repositories
Create many GitHub issues for all packages in the folder specified in
~/.bobrc
:$ bob create issues
Delete all local branches except
main
:$ bob delete local-branches
Manage packages locally
Build a new environment, install dependencies, run pytests, and pre-commit hooks:
$ bob test package
Note
It runs the following command internally:
mamba create -n {env_name} python=3.13 \\ --file requirements/test.txt \\ --file requirements/conda.txt \\ --file requirements/docs.txt -y && \\ source $(conda info --base)/etc/profile.d/conda.sh && \\ conda activate {env_name} && \\ pip install --no-deps -e . && \\ pip install pre-commit && \\ pytest && pre-commit run --all-files
Test whether the package can be uploaded to PyPI before releasing it:
$ bob test release
Note
It runs the following command internally:
mamba create -n {env_name} python=3.13 \\ --file requirements/test.txt \\ --file requirements/conda.txt \\ --file requirements/docs.txt -y && \\ source $(conda info --base)/etc/profile.d/conda.sh && \\ conda activate {env_name} && \\ pip install build twine && \\ pip install . --no-deps && \\ python -m build && twine check dist/*