agentcenter 0.1.0
Agent Center - A Python project built with LangChain for managing AI agents
License: MIT
Requires Python: >=3.12
Keywords: agents, ai, conversational-ai, langchain, langchain-agents, llm

# Agent Center

Agent Center - A Python project built with LangChain for managing AI agents.

## Features

- Built with LangChain for powerful AI agent capabilities
- Clean project structure following Python best practices
- Type hints and Pydantic models for data validation
- Comprehensive test suite with pytest
- Code formatting with Black and Ruff
- Type checking with Mypy

## Project Structure

```
agentcenter/
\x00\x00 src/
   \x00\x00 agentcenter/
       \x00\x00 __init__.py       # Package initialization
       \x00\x00 core.py           # Core agent functionality
       \x00\x00 config.py         # Configuration management
       \x00\x00 utils.py          # Utility functions
\x00\x00 tests/
   \x00\x00 __init__.py
   \x00\x00 test_core.py          # Core functionality tests
   \x00\x00 test_utils.py         # Utility function tests
\x00\x00 docs/                     # Documentation
\x00\x00 scripts/                  # Utility scripts
\x00\x00 pyproject.toml           # Project configuration
\x00\x00 README.md                # This file
```

## Installation

### Prerequisites

- Python 3.12 or higher
- [uv](https://docs.astral.sh/uv/) package manager

### Setup

1. Clone the repository:
```bash
git clone <your-repo-url>
cd agentcenter
```

2. Install dependencies:
```bash
uv sync
```

3. Install development dependencies:
```bash
uv add --dev pytest pytest-cov black ruff mypy
```

## Usage

### Basic Usage

```python
from agentcenter import AgentCenter

# Create an agent
agent = AgentCenter(name="MyAgent")

# Process input
response = agent.process("Hello, agent!")
print(response)

# Get conversation history
messages = agent.get_messages()
```

### Running with uv

```bash
# Run the main script
uv run python main.py

# Run a specific module
uv run python -m agentcenter.core
```

## Development

### Running Tests

Our test suite has **99% code coverage** with 56 comprehensive tests!

```bash
# Run all tests
uv run pytest

# Run with coverage report
uv run pytest --cov=agentcenter --cov-report=term-missing

# Generate HTML coverage report
uv run pytest --cov=agentcenter --cov-report=html
open htmlcov/index.html

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

# Run with verbose output
uv run pytest -v
```

**Test Coverage:**
- `__init__.py`: 100%
- `cli.py`: 97%
- `config.py`: 100%
- `core.py`: 100%
- `utils.py`: 100%
- **Total: 99%**

### Code Formatting

```bash
# Format code with Black
uv run black src/ tests/

# Lint with Ruff
uv run ruff check src/ tests/

# Type check with Mypy
uv run mypy src/
```

### Installing Dev Dependencies

```bash
uv add --dev pytest pytest-cov black ruff mypy
```

## Configuration

The project uses environment variables for configuration. Create a `.env` file in the root directory:

```env
APP_NAME=Agent Center
DEBUG=false
LOG_LEVEL=INFO
API_KEY=your-api-key-here
```

## Publishing

To publish a new version to PyPI:

### Quick Release

```bash
# Use the automated release script
./scripts/release.sh 0.1.0
```

### Manual Release

```bash
# 1. Update version in pyproject.toml
# 2. Update CHANGELOG.md
# 3. Run tests and checks
uv run pytest --cov=agentcenter --cov-fail-under=80
uv run black src/ tests/
uv run ruff check src/ tests/

# 4. Build and publish
uv build
uv run twine upload --repository testpypi dist/*  # Test first
uv run twine upload dist/*                         # Then publish
```

See [Publishing Guide](docs/publishing.md) for detailed instructions.

## Contributing

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

Please ensure your PR:
- ✅ Passes all tests (`uv run pytest`)
- ✅ Has adequate test coverage (≥80%)
- ✅ Follows code style (`uv run black src/ tests/`)
- ✅ Passes linting (`uv run ruff check src/ tests/`)

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Contact

Your Name - your.email@example.com

Project Link: [https://github.com/yourusername/agentcenter](https://github.com/yourusername/agentcenter)