BossNet AI Agent Toolkit
BossNet AI Agent Toolkit is a Python library for building AI-powered agents. It provides a comprehensive set of tools and utilities for building, training, and deploying AI agents. BossKit is designed to be modular and extensible, allowing users to easily add new features and functionality to their agents.
Installation
Prerequisites
- Python 3.11 or higher
- Git
- pip (Python package manager)
Using pip
To install BossKit using pip:
pip install bosskit
From Source
- Clone the repository:
git clone https://github.com/boss-net/ai-masterclass.git
cd ai-masterclass
- Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Install in development mode:
pip install -e .
Getting Started
Basic Usage
To create a new AI agent project:
bosskit init my_agent
This will create a new project structure with:
- Basic configuration files
- Example agent implementation
- Testing setup
Configuration
BossKit uses environment variables for configuration. Create a .env file based on the .env.example template:
cp .env.example .env
Edit the .env file to configure your agent's behavior:
AGENT_NAME: Name of your AI agentMODEL_PATH: Path to your AI modelAPI_KEY: API key for external services (if needed)
Running Your Agent
To run your AI agent:
bosskit run
Or with specific configuration:
bosskit run --config path/to/config.yaml
Features
- Modular agent architecture
- Built-in support for popular AI models
- Easy configuration management
- Built-in monitoring and logging
- Extensible plugin system
- Development tools and utilities
Development
Setting up Development Environment
-
Install development dependencies:
-
Fork the repository
-
Create your feature branch (
git checkout -b feature/amazing-feature) -
Set up development environment:
# Install pre-commit hooks pip install pre-commit pre-commit install # Install development dependencies pip install -r requirements-dev.txt
-
Make your changes and ensure they follow our code style:
- Use type hints for all public functions and classes
- Follow PEP 8 style guidelines
- Write clear docstrings using Google style
- Keep lines under 88 characters
- Use descriptive variable names
-
Run tests and checks:
# Run all tests pytest # Run type checking mypy . # Run linting flake8 .
-
Commit your changes with a descriptive message
-
Push to the branch (
git push origin feature/amazing-feature) -
Open a Pull Request
Code Style Guidelines
- Use type hints for all public interfaces
- Follow Google-style docstrings:
def function_name(param: type) -> return_type: """Brief description. Args: param: Description of the parameter Returns: Description of the return value """
- Use descriptive variable names
- Keep functions focused and single-purpose
- Use context managers for file operations
- Handle exceptions appropriately
- Write unit tests for new functionality
Type Hints
All public functions and classes should have proper type hints. For example:
from typing import List, Optional, Dict
def process_data(
data: List[str],
config: Optional[Dict[str, Any]] = None
) -> List[str]:
"""Process input data with optional configuration.
Args:
data: List of input strings to process
config: Optional configuration dictionary
Returns:
Processed data as list of strings
"""
pass
Error Handling
- Use specific exceptions rather than bare except clauses
- Provide clear error messages
- Use context managers for resource cleanup
- Handle common error cases gracefully
Testing
- Write unit tests for new functionality
- Use pytest fixtures for test setup
- Mock external dependencies
- Test error conditions
- Keep tests focused and isolated
Documentation
- Update relevant documentation when making changes
- Keep README.md up-to-date
- Document new features and breaking changes
- Include usage examples where applicable
Git Workflow
- Use feature branches for new development
- Keep commits focused and atomic
- Write descriptive commit messages
- Rebase before merging
- Use conventional commit messages:
- feat: for new features
- fix: for bug fixes
- docs: for documentation changes
- style: for formatting changes
- refactor: for code refactoring
- test: for adding missing tests
- chore: for maintenance tasks
Security
- Never commit sensitive information
- Use environment variables for configuration
- Handle API keys securely
- Follow security best practices
- Regularly update dependencies
Contributing
We welcome contributions from the community! Please follow these guidelines:
- Check for existing issues before creating new ones
- Follow our code style and guidelines
- Write tests for new features
- Update documentation
- Be respectful and professional in all communications
By contributing to this project, you agree to abide by our Code of Conduct.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Support
For support, please open an issue on the GitHub Issues page.
Contributing
Contributions are welcome! Please read our Contributing Guidelines before submitting a pull request.
Acknowledgments
- Thanks to all contributors who have helped make this project possible
- Special thanks to the open source community for their support and contributions
Documentation
For more detailed documentation, visit our ReadTheDocs page
Metadata
Release files for bosskit 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| bosskit-0.0.1.tar.gz | 6.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bosskit-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.0 kB
Release files / bosskit-0.0.1.tar.gz
| Download URL | bosskit-0.0.1.tar.gz |
|---|---|
| Size | 6.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a6f5f17c56b402bff820e2abb5881df272916616a7cdcaa08bb8a42aaad7e384
|
|
BLAKE2b-256 checksum How to use checksums |
259cf2eb4edfe556fe02aa9ac6a131174bf9e9752d5a396d3d7a5d8417317d27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Release files / bosskit-0.0.1-py3-none-any.whl
| Download URL | bosskit-0.0.1-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9fae8736680141359633199bc97970d3dcdfc53cafeaba40296ad46c0b0de695
|
|
BLAKE2b-256 checksum How to use checksums |
3f357cd82a7c99ed27afef7e1d637dc3fda2479c5bcd42bc068b5264a2adfc70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Security for bosskit 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.