project-toolbox
A modular toolbox to support your Python development workflow.
project-toolboxprovides the box of the toolbox as a unique command:t.- Tools are selected/added to the box at the project level.
Features
- one command (
t) gathering all tools- prevent cluttering command namespace
- completion even for tools installed in dedicated environment
- toolboxs are plugins
- each project can select its own set of plugins
- a plugin can be public (pypi) or shipped with the project
- tool calls are automatically embeded (eg
uv run ...) - tools are click commands
Getting started
Install the main command globally:
uv tool install project-toolbox
Enable completion (bash) by adding the following to the end of your ~/.bashrc:
eval "$(_T_COMPLETE=bash_source t)"
Instructions for completion with other shells can be found here.
Manage the toolbox:
# show all 'self' subcommands
t self
# add a toolbox to current project
t self install <toolbox>
Read carefully crafted manuals guiding you through the workflow:
# show all 'manual' subcommands
t manual
Use the toolbox:
# show all commands
t
# use a tool
t <command> <arg1> <arg2> ...
Filling the toolbox with tools
Adding plugins to a project
Your toolbox need to be filled with tools.
The toolbox content is selected at project level and may differ between projects.
Use t self install to add a published toolbox to the project.
If your toolbox is not published, it can be shipped whithin the project repo and added locally:
uv add --dev path/to/plugin-package/
Writing plugins
A project-toolbox plugin is a python package that defines some click commands and registers them to the dedicated entry points.
This is very similar to the usual way of creating console scripts, only the pyproject.toml entry changes from [project.scripts] to [project.entry-points.'project_toolbox'].
# pyproject.toml
[project.entry-points.'project_toolbox']
tool_name_1 = "package.module_1:object_1"
tool_name_2 = "package.module_2:object_2"
Metadata
Release files for project-toolbox 0.4.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| project_toolbox-0.4.9.tar.gz | 4.4 kB | Without provenance | Details for project_toolbox-0.4.9.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| project_toolbox-0.4.9-py3-none-any.whl | Python 3 | none | any | Details for project_toolbox-0.4.9-py3-none-any.whl |
Total release size: 11.1 kB
Release files / project_toolbox-0.4.9.tar.gz
| Download URL | project_toolbox-0.4.9.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
08c3546137e8444852e5424991a3c14ba520a8cf8163fd51b56a06948776e298
|
|
BLAKE2b-256 checksum How to use checksums |
e5f414273c29dcadf1bc5d2a41a6e61d27f067cdbe546c2316208dd46856a7e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Alpine Linux","version":"3.23.3","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / project_toolbox-0.4.9-py3-none-any.whl
| Download URL | project_toolbox-0.4.9-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61d023f4b3002a0186b537acad4a8f921d6b2f5547246f1b770f8989458c29b4
|
|
BLAKE2b-256 checksum How to use checksums |
265072106ba03ba8de5ea356ce1a251874a61298c99787f4cf2aa7335537d0df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Alpine Linux","version":"3.23.3","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for project-toolbox 0.4.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.