Metadata-Version: 2.4
Name: stock-manager-cli
Version: 0.1.0
Summary: A world-class Python CLI template powered by Typer and rich.
Author-email: Your Name <your.email@example.com>
License: MIT
License-File: LICENSE
Requires-Python: >=3.10
Requires-Dist: pandas>=2.0.0
Requires-Dist: psycopg2-binary>=2.9.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: requests>=2.28.0
Requires-Dist: rich>=13.0.0
Requires-Dist: streamlit>=1.20.0
Requires-Dist: typer>=0.9.0
Requires-Dist: yahooquery>=2.3.0
Provides-Extra: dev
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pre-commit>=3.0.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Description-Content-Type: text/markdown

# World-Class Python CLI Template

This repository is a state-of-the-art starting point for building Python Command Line Interfaces (CLIs). It's optimized for both human developers and the Antigravity AI pair-programming agent.

## Core Technologies
- **Framework:** [Typer](https://typer.tiangolo.com/) with [Rich](https://rich.readthedocs.io/)
- **Packaging:** Standard `pyproject.toml` (PEP 621) using `hatchling`
- **Linting & Formatting:** [Ruff](https://beta.ruff.rs/docs/)
- **Type Checking:** [Mypy](https://mypy.readthedocs.io/en/stable/)
- **Testing:** [Pytest](https://docs.pytest.org/en/7.4.x/)
- **Git Hooks:** [pre-commit](https://pre-commit.com/)

## Antigravity (AI) Integration
This repository is configured out-of-the-box with `.gemini/rules.md`. These rules instruct Antigravity automatically on architectural patterns (like enforcing standard `Typer` usage over other frameworks and maintaining `ruff` standards). 
See `.gemini/mcp_instructions.md` for tips on how to push the AI even further using MCP tools like `sequential-thinking`.

## How to Work on this project

1. **Install tools and dependencies:**
We highly recommend using `uv` or creating a virtual environment first.
```bash
# Using standard pip in a venv
pip install -e ".[dev]"
```

2. **Setup Git hooks:**
```bash
make setup
```

3. **Useful Commands:**
- `make format`: Auto-fix linting issues and auto-format code using Ruff.
- `make lint`: Run strict Ruff and Mypy checks.
- `make test`: Run pytest suite.
- `make check`: Run format, lint, and tests all at once.

## Database Configuration

Before running commands that require a database connection (like the dashboard), you need to set up your environment variables. 

In PowerShell, you can set them for your current session like this:

```powershell
$env:DB_NAME="fractanomicsdb"
$env:DB_USER="postgres"
$env:DB_PASS="postgres"
$env:DB_HOST="localhost"
$env:DB_PORT="5433"
```

## Try the CLI locally
Once installed, you can invoke the CLI from anywhere in your terminal!
```bash
tradingtools-stock --help
tradingtools-stock example hello World
```
