Metadata-Version: 2.4
Name: anvil-tui
Version: 0.1.3
Summary: Terminal User Interface for managing Microsoft Foundry projects and resources
Project-URL: Homepage, https://github.com/mklab-se/anvil
Project-URL: Repository, https://github.com/mklab-se/anvil
Project-URL: Issues, https://github.com/mklab-se/anvil/issues
Author-email: Kristofer <kristofer@example.com>
License-Expression: MIT
License-File: LICENSE
Keywords: azure,cli,foundry,microsoft,terminal,tui
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: azure-ai-projects>=2.0.0b2
Requires-Dist: azure-identity>=1.19.0
Requires-Dist: azure-mgmt-cognitiveservices>=13.7.0
Requires-Dist: azure-mgmt-resource>=23.0.0
Requires-Dist: httpx>=0.28.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: textual>=0.89.0
Provides-Extra: dev
Requires-Dist: mypy>=1.13.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest-cov>=6.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.8.0; extra == 'dev'
Requires-Dist: textual-dev>=1.7.0; extra == 'dev'
Description-Content-Type: text/markdown

# Anvil

A Terminal User Interface (TUI) for managing Microsoft Foundry projects and resources.

![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)
![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)

## Installation

### Using uvx (recommended)

Run directly without installation:

```bash
uvx anvil-tui
```

### Using uv

```bash
uv tool install anvil-tui
anvil
```

### Using pip

```bash
pip install anvil-tui
anvil
```

## Development

### Prerequisites

- Python 3.11 or higher
- [uv](https://docs.astral.sh/uv/) (recommended) or pip

### Setup

```bash
# Clone the repository
git clone https://github.com/mklab-se/anvil.git
cd anvil

# Install dependencies
uv sync --dev

# Run the application
uv run anvil

# Or use the Textual dev console for debugging
uv run textual run --dev src/anvil/app.py
```

### Testing

```bash
# Run all tests
uv run pytest

# Run with coverage report
uv run pytest --cov=anvil --cov-report=html

# Run a specific test file
uv run pytest tests/test_app.py

# Run a specific test
uv run pytest tests/test_app.py::test_app_starts
```

### Linting and Formatting

```bash
# Check code style
uv run ruff check src tests

# Auto-fix issues
uv run ruff check --fix src tests

# Format code
uv run ruff format src tests

# Type checking
uv run mypy src
```

## Project Structure

```
anvil/
├── src/anvil/
│   ├── app.py          # Main application entry point
│   ├── screens/        # TUI screens (pages)
│   ├── widgets/        # Custom Textual widgets
│   ├── services/       # API and backend services
│   └── styles/         # TCSS stylesheets
├── tests/              # Test suite
└── pyproject.toml      # Project configuration
```

## License

MIT
