This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
zerohertzLib is a comprehensive Python library providing utilities for scientific computing, AI/ML, data visualization, monitoring, and API integrations. The library supports modular installation with optional dependencies through extras like [api], [mlops], [quant], and [all].
python -m venv venv
source venv/bin/activate
pip install .'[all]' --no-cache-dir# Install style requirements
pip install -r requirements/requirements-style.txt
# Format code
ruff format .
# Lint and check code
ruff check .
# Check formatting (CI mode)
ruff format --check .# Install test dependencies
pip install pytest pytest-cov
# Run all tests with coverage
PYTHONPATH=. pytest --cov=zerohertzLib --cov-report=xml --junitxml=junit.xml -o junit_family=legacy
# Run specific test module
PYTHONPATH=. pytest test/test_api.py
# Run specific test function
PYTHONPATH=. pytest test/test_api.py::test_discord_bot_message# Build Sphinx documentation
cd sphinx
python -m pip install -r requirements/requirements-docs.txt
# Documentation building scripts are in sphinx/ directory# Required system dependency for vision module
sudo apt install python3-opencv -y
# Install library with all dependencies
pip install .'[all]'- api/: External service integrations (Discord, Slack, OpenAI, GitHub, etc.)
- algorithm/: Data structures and algorithms
- logging/: Enhanced logging utilities with rich formatting
- mlops/: ML operations tools including Triton inference server support
- monitoring/: System monitoring and resource tracking
- plot/: Data visualization with matplotlib/seaborn
- quant/: Quantitative finance tools and data analysis
- util/: General utilities and helper functions
- vision/: Computer vision utilities with OpenCV
The library supports Python 3.10+ and uses conditional imports for modules with heavy dependencies:
- API integrations require
[api]extra - MLOps features require
[mlops]extra - Quantitative finance requires
[quant]extra - Vision module requires OpenCV system package
Several CLI tools are installed as scripts:
trictl: Triton inference server managementvert: Vision-related operationsgrid: Grid operations for visionimg2gif/vid2gif: Media conversion utilities
Tests require environment variables for API credentials:
DISCORD_WEBHOOK_URL,DISCORD_BOT_TOKEN,DISCORD_CHANNEL_IDSLACK_WEBHOOK_URL,SLACK_BOT_TOKENOPENAI_API_KEY,GH_TOKEN
Test data is located in test/data/ directory.
master: Main production branchdev-*: Development branches for feature work- CI/CD runs on pushes to dev branches and PRs to master
- Uses Ruff for formatting and linting (replaces Black, flake8, and pylint)
- Consistent docstring format with type hints