Metadata-Version: 2.3
Name: project-toolbox
Version: 0.4.2
Summary: A modular toolbox to support your Python development workflow
Author: Farid Smaï
Author-email: Farid Smaï <f.smai@brgm.fr>
Requires-Dist: click>=8.3.1
Requires-Python: >=3.11
Project-URL: repository, https://gitlab.com/fsmai/project-toolbox
Description-Content-Type: text/markdown

# 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](https://click.palletsprojects.com/) commands


## Getting started

Install the main command globally:
```shell
uv tool install project-toolbox
```

Enable completion (bash) by adding the following to the end of your `~/.bashrc`:
```shell
eval "$(_T_COMPLETE=bash_source t)"
```
Instructions for completion with other shells [can be found here](https://click.palletsprojects.com/en/stable/shell-completion/#enabling-completion).

Manage the toolbox:
```shell
t self
```

Read carefully crafted manuals guiding you through the workflow:
```shell
t manual
```

Use the toolbox:
```shell
# show all commands
t
# use a tool
t <command> <arg1> <arg2> ...
```
