Metadata-Version: 2.4
Name: axiom-mcp
Version: 0.1.1
Summary: 🚀 MCP framework that unlocks truly scalable AI systems with zero friction
Author-email: Viraj Shah <viraj.shah1503@gmail.com>
License-File: LICENSE
Keywords: ai,axiom,llm,machine-learning,mcp,model-context-protocol
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <3.13,>=3.12
Requires-Dist: aiofiles>=23.2.1
Requires-Dist: aiohttp>=3.8.0
Requires-Dist: aiosqlite>=0.21.0
Requires-Dist: cachetools>=5.3.2
Requires-Dist: jsonschema>=4.23.0
Requires-Dist: mcp<2.0.0,>=1.0.0
Requires-Dist: opentelemetry-api>=1.21.0
Requires-Dist: opentelemetry-sdk>=1.21.0
Requires-Dist: pydantic-settings>=2.6.1
Requires-Dist: pydantic<3.0.0,>=2.5.3
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: typer>=0.9.0
Requires-Dist: watchdog>=6.0.0
Provides-Extra: db
Requires-Dist: aioredis>=2.0.1; extra == 'db'
Requires-Dist: asyncpg>=0.29.0; extra == 'db'
Requires-Dist: msgpack>=1.0.7; extra == 'db'
Provides-Extra: dev
Requires-Dist: black>=23.0; extra == 'dev'
Requires-Dist: build>=1.2.2.post1; extra == 'dev'
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: pre-commit>=3.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.25.3; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: rich>=13.9.4; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Requires-Dist: twine>=6.1.0; extra == 'dev'
Requires-Dist: watchdog==6.0.0; extra == 'dev'
Provides-Extra: telemetry
Requires-Dist: opentelemetry-instrumentation>=0.42b0; extra == 'telemetry'
Requires-Dist: prometheus-client>=0.19.0; extra == 'telemetry'
Provides-Extra: validation
Requires-Dist: pydantic[email]>=2.5.3; extra == 'validation'
Description-Content-Type: text/markdown

# Axiom MCP

Model Context Protocol (MCP) implementation for connecting AI systems with external data sources.

## Installation

Using uv (recommended):
```bash
uv pip install axiom-mcp
```

Using pip:
```bash
pip install axiom-mcp
```

## Development Setup

1. Clone the repository:
   ```bash
   git clone https://github.com/yourusername/axiom-mcp.git
   cd axiom-mcp
   ```

2. Install uv if you haven't already:
   ```bash
   curl -LsSf https://astral.sh/uv/install.sh | sh
   ```

3. Create and activate a virtual environment with uv:
   ```bash
   uv venv
   source .venv/bin/activate  # On Unix/Linux
   # or
   .venv\Scripts\activate  # On Windows
   ```

4. Install development dependencies:
   ```bash
   uv pip install -e ".[dev]"
   ```

5. Install pre-commit hooks:
   ```bash
   pre-commit install
   ```

## Pre-commit Hooks

This project uses pre-commit hooks to ensure code quality. The following checks are run automatically before each commit:

- Code formatting with `black`
- Import sorting with `isort`
- Type checking with `mypy`
- Linting with `ruff`
- Basic syntax checks
- Check for large files
- Check for merge conflicts

To manually run all pre-commit hooks:
```bash
uv run pre-commit run --all-files
```

## Running Tests

```bash
uv run python -m pytest
```

For tests with coverage report:
```bash
uv run python -m pytest --cov=axiom_mcp tests/
```

## Code Quality

This project enforces high code quality standards using:

- `black` for consistent code formatting
- `isort` for import sorting
- `mypy` for static type checking
- `ruff` for fast Python linting
- `pytest` for testing with coverage reporting

To run all quality checks:
```bash
black .
isort .
mypy .
ruff .
pytest
```

### Using uv for Fast Dependencies Management

uv provides faster package installation and dependency resolution. Some useful commands:

```bash
# Update dependencies
uv pip compile pyproject.toml -o requirements.txt

# Sync your environment with requirements
uv pip sync requirements.txt

# Add a new dependency
uv pip install package-name
```

## Contributing

1. Fork the repository
2. Create a new branch for your feature
3. Make your changes
4. Run all quality checks:
   ```bash
   pre-commit run --all-files
   pytest
   ```
5. Submit a pull request

## License
GNU General Public License v3 (GPLv3)
