Skip to main content

some used tool collections

Project description

zxtoolbox

A collection of tools for frequently performed repetitive tasks on Windows, Mac, and Linux systems

English | Chinese

0x01. Install

uv tool install zxtoolbox

0x02. Common Commands

Markdown to PDF

# Convert a single Markdown file
zxtool mkpdf ./README.md

# Merge a Markdown directory into one PDF
zxtool mkpdf ./docs -o ./dist/docs.pdf

Notes:

  • Supports common Markdown styling: headings, lists, tables, blockquotes, code blocks, and images
  • In directory mode, it reads README.md by default, or a custom entry file via --file
  • Mermaid is bundled locally by default, so offline rendering works without a CDN
  • A local Edge, Chrome, or Chromium installation is required for headless PDF printing

Full usage is documented in docs/mkpdf_manager.md.

0x03. Directory Structure

toolbox/
├── doc/                    # Documentation directory
│   ├── index.md           # Project documentation
│   ├── computer_info.md   # Computer information retrieval documentation
│   ├── config_manager.md  # Configuration file management documentation
│   ├── git_config.md      # Git repository configuration documentation
│   ├── letsencrypt.md     # Let's Encrypt certificate documentation
│   ├── mkdocs_manager.md  # MkDocs project management documentation
│   ├── ssl_cert.md        # SSL certificate generation documentation
│   └── video_download.md  # Video download documentation
├── src/                   # Source code directory
│   └── zxtoolbox/         # Main package
│       ├── __init__.py    # Package initialization
│       ├── cli.py         # Command-line entry point
│       ├── computer_info.py    # Computer information retrieval
│       ├── config_manager.py   # Configuration file management
│       ├── git_config.py       # Git repository configuration management
│       ├── letsencrypt.py      # Let's Encrypt certificate management
│       ├── mkdocs_manager.py   # MkDocs project management
│       ├── pyopt_2fa.py        # 2FA tool
│       ├── ssl_cert.py         # SSL certificate generation
│       ├── video_download.py   # Video download
│       └── test/          # Test directory
├── pyproject.toml        # Project configuration and dependencies
├── README.md             # Project description
└── uv.lock               # uv locked dependency versions

0x04. Dependencies

Core Dependencies

Package Purpose Website
paramiko SSH connections paramiko.org
prettytable Table formatting github.com
psutil System information psutil.readthedocs.io
py-cpuinfo CPU information github.com
nvidia-ml-py NVIDIA GPU information github.com
pyotp 2FA one-time passwords github.com
yt-dlp Video downloading github.com
pyyaml YAML parsing pyyaml.org
acme ACME protocol (Let's Encrypt) github.com
cryptography Cryptographic functions cryptography.io
requests HTTP requests requests.readthedocs.io
mkdocs Documentation site building mkdocs.org
mkdocs-smzhbook-theme MkDocs theme github.com
Markdown Markdown rendering python-markdown.github.io

0x05. Running Unit Tests

The project uses pytest as the testing framework. Test files are located in the src/zxtoolbox/test/ directory.

Install Test Dependencies

uv add --dev pytest

Run All Tests

uv run pytest src/zxtoolbox/test/ -v

Run Single Test File

uv run pytest src/zxtoolbox/test/test_cli.py -v

Run Specific Test Class or Method

# Run specific test class
uv run pytest src/zxtoolbox/test/test_cli.py::TestCliGit -v

# Run specific test method
uv run pytest src/zxtoolbox/test/test_cli.py::TestCliGit::test_git_config_check -v

View Test Coverage

uv add --dev pytest-cov
uv run pytest src/zxtoolbox/test/ --cov=zxtoolbox --cov-report=term-missing

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zxtoolbox-1.8.12.tar.gz (977.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zxtoolbox-1.8.12-py3-none-any.whl (991.7 kB view details)

Uploaded Python 3

File details

Details for the file zxtoolbox-1.8.12.tar.gz.

File metadata

  • Download URL: zxtoolbox-1.8.12.tar.gz
  • Upload date:
  • Size: 977.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.6

File hashes

Hashes for zxtoolbox-1.8.12.tar.gz
Algorithm Hash digest
SHA256 cf328469117af232dd3bf70c0bca5063d47aa83d8d890ffebe9a7baa6514226a
MD5 8bbd61ae4b3d1e1ff16f96c6bc0ece34
BLAKE2b-256 e855f8ca986fd4b80a04520274b0b31dc03f5a76fe3744994023e6101ee0d3d9

See more details on using hashes here.

File details

Details for the file zxtoolbox-1.8.12-py3-none-any.whl.

File metadata

  • Download URL: zxtoolbox-1.8.12-py3-none-any.whl
  • Upload date:
  • Size: 991.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.6

File hashes

Hashes for zxtoolbox-1.8.12-py3-none-any.whl
Algorithm Hash digest
SHA256 b434aeb777e512b13379d7169f9c481ee6cfbcdfdd83dda055f19875ad146f7e
MD5 18b5022452f6f0af551384aaf2ddb1e4
BLAKE2b-256 f72beb98ee63c885c395ba3eb9152b78ee4fb26995cb6a970e26b022b67576da

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page