This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This repository contains a Python project template using uv for dependency management. It includes:
- A Python package (
testblank) with simple functionality - A Streamlit web application for a ticker-tape calculator
- Configuration for testing, documentation, and CI/CD
Set up the development environment with:
make installThis installs dependencies and pre-commit hooks using uv.
streamlit run app.pyRun all tests:
uv run pytestRun with coverage:
uv run pytest --cov=testblankRun a specific test:
uv run pytest tests/test_foo.py -vRun all pre-commit hooks:
uv run pre-commit run -aRun specific linting tools:
uv run ruff check .
uv run ruff format .
uv run mypy testblankBuild documentation:
uv run mkdocs buildServe documentation locally:
uv run mkdocs serve-
testblank/: Main package directory__init__.py: Package initializationfoo.py: Simple example function
-
tests/: Test directorytest_foo.py: Tests for the foo module
-
app.py: Streamlit ticker-tape calculator application -
Configuration files:
pyproject.toml: Project metadata and tool configurationtox.ini: Multi-environment testing configurationmkdocs.yml: Documentation configuration.pre-commit-config.yaml: Pre-commit hooks configuration
This project uses uv for dependency management. Key dependency groups:
- Core dependencies: None currently specified
- Development dependencies: pytest, pre-commit, tox-uv, mypy, ruff, mkdocs, etc.
Add new dependencies by updating the pyproject.toml file.
- Create an API Token on PyPI
- Add the token to GitHub secrets as
PYPI_TOKEN - Create a new release on GitHub with a tag in the form
*.*.*
The CI/CD pipeline will automatically build and publish the package to PyPI.
The repository includes a Streamlit application (app.py) that implements a ticker-tape calculator with:
- Numeric keypad interface (0-9, decimal point)
- Operation buttons (+, -, ×, ÷)
- Support for multi-step calculations
- Ticker-tape history display
- Operation rollback functionality
- Styled interface with custom CSS
Run the app with streamlit run app.py.