Skip to main content

project-toolbox

A modular toolbox to support your Python development workflow.

  • project-toolbox provides 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)

Source distribution for project-toolbox 0.4.9
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)

Table of built distributions (wheels) for project-toolbox 0.4.9
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page