# MarkiTect Project Dependencies

## Overview
This document lists all project dependencies for the MarkiTect project.

## Production Dependencies
These are required for running the application:

- **markdown-it-py** - Markdown parsing library
- **PyYAML** - YAML file processing
- **click>=8.0.0** - Command-line interface framework
- **tabulate>=0.9.0** - Table formatting for output
- **jsonpath-ng>=1.5.0** - JSONPath query support
- **aiohttp>=3.8.0** - Async HTTP client/server
- **toml** - TOML file parsing (for frontmatter support)

## Development Dependencies
These are required for development, testing, and code quality:

- **pytest** - Testing framework
- **pytest-cov** - Test coverage reporting
- **black** - Code formatting
- **flake8** - Code linting
- **mypy** - Type checking

## Test Dependencies
Additional dependencies for testing (from tests/requirements-test.txt if present):
- See `tests/requirements-test.txt` for any additional test-specific dependencies

## Installation

### Quick Setup
```bash
# Install production dependencies only
pip install -e .

# Install with development dependencies
make dev
```

### Manual Installation
```bash
# Production dependencies
pip install markdown-it-py PyYAML click>=8.0.0 tabulate>=0.9.0 jsonpath-ng>=1.5.0 aiohttp>=3.8.0 toml

# Development dependencies
pip install pytest pytest-cov black flake8 mypy
```

### Virtual Environment Setup
```bash
# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
make dev
```

## Running Tests
After installing dependencies:

```bash
# Run all tests
make test

# Run tests with coverage
pytest --cov

# Run specific test layers
make test-foundation
make test-infrastructure
make test-integration
```

## Code Quality Tools

```bash
# Format code
make format

# Run linting
make lint

# Type checking
mypy markitect/
```

## Notes
- Python 3.8+ is required
- Virtual environment (.venv) is recommended
- All dependencies are managed through pyproject.toml