Agent Center - A Python project built with LangChain for managing AI agents
Project description
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 package manager
Setup
- Clone the repository:
git clone <your-repo-url>
cd agentcenter
- Install dependencies:
uv sync
- Install development dependencies:
uv add --dev pytest pytest-cov black ruff mypy
Usage
Basic Usage
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
# 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!
# 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
# 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
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:
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
# Use the automated release script
./scripts/release.sh 0.1.0
Manual Release
# 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 for detailed instructions.
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentcenter-0.1.0.tar.gz.
File metadata
- Download URL: agentcenter-0.1.0.tar.gz
- Upload date:
- Size: 103.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c23c68b1acd7b7c629cf2c378232a13e8cd41c8bdbefa57a79cdc0787d5c2208
|
|
| MD5 |
e412304de8087814730bb7437576392f
|
|
| BLAKE2b-256 |
1f796c1d01b2c9dcd78b58a3cacf320afa2b1269537a718c461ac42442a0117f
|
File details
Details for the file agentcenter-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agentcenter-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4cc8de672fd76168fad3f72e480121a7df530a08afbff5f6f98d755a7a04002
|
|
| MD5 |
20212f5c6011802127481f7659ac728b
|
|
| BLAKE2b-256 |
cc6c439b5976cfeb9ae5ecb2f752bd9f8246d4af3e535b861c684594be420b4b
|