A collection of small, independent Python utilities. Each tool is self-contained with its own dependencies and can be installed/run independently.
| Tool | Description |
|---|---|
| locust-compare | Compare performance metrics between two Locust runs |
| config-utils | CLI tool for capturing environment variables and Django settings |
| wt-worktree | Git worktree manager for parallel development workflows |
Option 1: uv tool install
Each tool can be installed independently using uvx directly from GitHub:
For example:
# Install locust-compare
uv tool install 'git+https://github.com/dev-ankit/python-tools.git#subdirectory=tools/locust-compare'
# Install config-utils
uv tool install 'git+https://github.com/dev-ankit/python-tools.git#subdirectory=tools/config-utils'
# Install wt-worktree
uv tool install 'git+https://github.com/dev-ankit/python-tools.git#subdirectory=tools/wt-worktree'After installation, you can run from anywhere:
locust-compare <base_dir> <current_dir>
config-utils capture-env
wt initTo update to the latest from GitHub:
uv tool upgrade locust-compare
uv tool upgrade config-utils
uv tool upgrade wt-worktree
# Or force reinstall:
uv tool install --force 'git+https://github.com/dev-ankit/python-tools.git#subdirectory=tools/locust-compare'
uv tool install --force 'git+https://github.com/dev-ankit/python-tools.git#subdirectory=tools/config-utils'
uv tool install --force 'git+https://github.com/dev-ankit/python-tools.git#subdirectory=tools/wt-worktree'
# To see installed tools:
uv tool listOption 2: Run directly
uvx --from 'git+https://github.com/dev-ankit/python-tools.git#subdirectory=tools/<tool-name>' <tool-name> [args]For example:
# Run locust-compare
uvx --from 'git+https://github.com/dev-ankit/python-tools.git#subdirectory=tools/locust-compare' locust-compare <base_dir> <current_dir>
# Run config-utils
uvx --from 'git+https://github.com/dev-ankit/python-tools.git#subdirectory=tools/config-utils' config-utils capture-env
# Run wt
uvx --from 'git+https://github.com/dev-ankit/python-tools.git#subdirectory=tools/wt-worktree' wt initOption 3: Clone and run locally:
git clone https://github.com/dev-ankit/python-tools.git
cd python-tools/tools/<tool-name>
uvx --from . <tool-name> [args]python-tools/
├── README.md
├── LICENSE # MIT License (shared)
├── .github/
│ └── workflows/
└── tools/
├── locust-compare/ # Locust performance comparison tool
│ ├── compare_runs.py
│ ├── pyproject.toml
│ ├── README.md
│ └── tests/
├── config-utils/ # CLI tool for capturing environment variables and Django settings
│ ├── cli.py
│ ├── pyproject.toml
│ └── README.md
└── wt-worktree/ # Git worktree manager for parallel development
├── wt/
├── tests/
├── pyproject.toml
├── README.md
├── PRD.md
└── notes.md
- Create a new directory under
tools/:tools/your-tool-name/ - Add your tool's source files and a
pyproject.toml - Add a
README.mdwith usage instructions - Update the CI workflow if needed
- Add an entry to the Tools table in this README
MIT License - see LICENSE for details.