Metadata-Version: 2.4
Name: htoolbox
Version: 0.9.0
Summary: This package includes various tools for developers.
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: dotenv>=0.9.9
Requires-Dist: json5>=0.13.0
Requires-Dist: pip>=25.3
Requires-Dist: pydantic>=2.12.5
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: rich>=14.2.0
Requires-Dist: wget>=3.2
Dynamic: license-file

# HToolbox

This repository provides some useful tools that fit my developing habits.

The package is available on PyPI, so you can directly install this package via `pip`:

```bash
pip install htoolbox
```

Alternatively, you can install it with a cloned repository:

```bash
git clone git@github.com:RabbitWhite1/htoolbox.git $HOME/.htoolbox
cd $HOME/.htoolbox && pip install .
```

`uv` is also recommended to use this package because you can easily install it to your user environment via:

```bash
uv tool install .
```

## codeit

This tool is a quick script for starting vscode server on a remote server, and utilizing SSH port forwarding to access it locally.

```bash
codeit <remote-host>
```

## docker

A Dockerfile providing my preferred development environment.

## downloader

A simple batched video downloader script with `rich` progress bars.

## tmuxer

A helper script `tmuxer` to create multiple tmux panes easily.

Run the installed command:

```bash
tmuxer -s mysession -n 3 --layout ev
```

This will start (or attach) to a tmux session named `mysession` with 3 panes using the `even-vertical` layout (`ev`).

## singularity

A helper script `smagic` that wraps singularity commands for easier usage.

## Release Workflow

Use the helper script `./tag_version <new_version>` to bump the version stored in `pyproject.toml`. The script will print the git commands needed to create and push the release tag so you can copy and run them manually.
