A collection of tools for Hypermindz AI workflows, including CrewAI integrations
Project description
Hypermindz Tools
A comprehensive toolkit for AI agents and automation workflows, featuring CrewAI integrations and advanced search capabilities.
Features
- ๐ค CrewAI Integration: Advanced tools for AI agent workflows
- ๐ RAG Search: Retrieval-Augmented Generation search capabilities
- ๐ ๏ธ Developer Tools: Complete development environment with code quality enforcement
- ๐ Testing: Comprehensive test suite with coverage reporting
- ๐ CI/CD: Automated testing, building, and deployment
Quick Start
Installation
# Install the package
pip install hypermindz-tools
# For development
git clone https://github.com/yourusername/hypermindz-tools.git
cd hypermindz-tools
make setup-dev
Basic Usage
from hypermindz_tools.crewai import rag_search
# Example usage
result = rag_search.search("your query here")
print(result)
Development Setup
Prerequisites
- Python 3.10, 3.11, or 3.12
- Git
- Make (optional but recommended)
Quick Setup
# Clone the repository
git clone https://github.com/yourusername/hypermindz-tools.git
cd hypermindz-tools
# Complete development setup (installs dependencies + pre-commit hooks)
make setup-dev
# Verify setup
make info
Manual Setup (if you don't have make)
# Install in development mode
pip install -e .[dev]
# Install pre-commit hooks
pip install pre-commit
pre-commit install
# Verify setup
pre-commit run --all-files
Development Workflow
Daily Development Commands
# Fix all formatting issues and run checks
make fix-all
# Quick development cycle (format โ lint โ type-check โ test)
make dev-cycle
# Run tests only
make test
# Format code only
make format
Code Quality
This project enforces high code quality standards through:
- Black: Code formatting
- isort: Import sorting
- flake8: Linting and style checking
- mypy: Type checking
- bandit: Security scanning
- pytest: Testing with coverage
Pre-commit Hooks
Pre-commit hooks run automatically before each commit to ensure code quality:
# Hooks run automatically on git commit
git add .
git commit -m "Your changes" # Hooks run here automatically
# Run hooks manually
make pre-commit-run
# Update hook versions
make pre-commit-update
If pre-commit hooks fail:
- Issues are automatically fixed when possible (formatting)
- Manual fixes required for linting/type errors
- Run
make fix-allto resolve most issues - Commit again
Available Make Commands
| Command | Description |
|---|---|
make help |
Show all available commands |
make install |
Install the package |
make install-dev |
Install in development mode |
make setup-dev |
Complete development environment setup |
make test |
Run tests with coverage |
make test-verbose |
Run tests with HTML coverage report |
make lint |
Run linting checks |
make format |
Format code with black and isort |
make type-check |
Run mypy type checking |
make security |
Run security checks with bandit |
make check-all |
Run all quality checks |
make fix-all |
Auto-fix formatting and run all checks |
make dev-cycle |
Quick development cycle |
make ci-check |
Simulate CI checks |
make clean |
Clean build artifacts |
make build |
Build distribution packages |
make upload |
Upload to PyPI |
make upload-test |
Upload to Test PyPI |
make pre-commit-install |
Install pre-commit hooks |
make pre-commit-run |
Run pre-commit on all files |
make info |
Display project information |
Testing
# Run tests with coverage
make test
# Run tests with detailed HTML coverage report
make test-verbose
# View coverage report
open htmlcov/index.html # macOS
xdg-open htmlcov/index.html # Linux
Building and Publishing
# Build distribution packages
make build
# Upload to Test PyPI (for testing)
make upload-test
# Upload to PyPI (production)
make upload
Project Structure
hypermindz-tools/
โโโ .github/
โ โโโ workflows/
โ โโโ ci.yml # CI/CD pipeline
โโโ .pre-commit-config.yaml # Pre-commit configuration
โโโ hypermindz_tools/
โ โโโ __init__.py
โ โโโ crewai/
โ โโโ __init__.py
โ โโโ rag_search.py # RAG search implementation
โโโ tests/
โ โโโ test_crewai/
โ โโโ test_rag_search.py # Test files
โโโ Makefile # Development commands
โโโ pyproject.toml # Project configuration
โโโ README.md # This file
โโโ requirements-dev.txt # Development dependencies
Code Quality Standards
Formatting
- Line length: 127 characters
- Code style: Black formatter
- Import sorting: isort with Black profile
Linting
- Complexity: Maximum 10
- Type hints: Required for public APIs
- Docstrings: Required for public functions
Testing
- Minimum coverage: 80%
- Test location:
tests/directory - Naming:
test_*.pyfiles
CI/CD Pipeline
The project uses GitHub Actions for:
- โ Multi-version testing: Python 3.10, 3.11, 3.12
- โ Code quality checks: Linting, formatting, type checking
- โ Security scanning: Bandit security checks
- โ Test coverage: Pytest with coverage reporting
- โ Automated building: Distribution packages
- โ Automated publishing: PyPI releases on tags
CI Pipeline Triggers
- Push:
mainanddevbranches - Pull Request:
mainbranch - Release: Git tags starting with
v*
Contributing
Development Process
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/hypermindz-tools.git - Setup development environment:
make setup-dev - Create a feature branch:
git checkout -b feature/amazing-feature - Develop your feature
- Test your changes:
make fix-all - Commit your changes (pre-commit hooks will run)
- Push to your fork:
git push origin feature/amazing-feature - Create a Pull Request
Code Style Guidelines
- Follow PEP 8 (enforced by flake8)
- Use type hints for function signatures
- Write docstrings for public functions
- Keep functions focused and small
- Write tests for new functionality
Pull Request Process
- Ensure all tests pass:
make check-all - Update documentation if needed
- Add tests for new functionality
- Ensure CI pipeline passes
- Request review from maintainers
Troubleshooting
Common Issues
Pre-commit hooks fail:
make fix-all # Auto-fix most issues
Import errors in tests:
pip install -e .[dev] # Reinstall in development mode
Coverage too low:
make test-verbose # See detailed coverage report
Type checking errors:
make type-check # Run mypy separately
Getting Help
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Project Wiki
License
This project is licensed under the MIT License - see the LICENSE file for details.
Changelog
See CHANGELOG.md for a list of changes and version history.
Acknowledgments
- CrewAI team for the amazing framework
- Contributors and maintainers
- Open source community
Made with โค๏ธ by the Hypermindz team
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 hypermindz_tools-0.1.0.tar.gz.
File metadata
- Download URL: hypermindz_tools-0.1.0.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
885622c432c3de6e06c2d81ea4e2c92710fcdc1c0242fca51f2ddbba059f380d
|
|
| MD5 |
a2f28b3a6ea70d67f32aee52f3309d7e
|
|
| BLAKE2b-256 |
b6b5c59cab87ae424c65ecacda6f3b83aa0a5eeb68a177e75e8b1d668bbe09ca
|
File details
Details for the file hypermindz_tools-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hypermindz_tools-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8edcccaa322840266c62e0377925d7474888027586cd4a51102c1ea264425aa3
|
|
| MD5 |
2f18733f7e7596c6b4c36f2055e450bd
|
|
| BLAKE2b-256 |
4f7f067336a4351e2b3deeeca50daf5c2b42ff8d2f8ea043419f3f4c6eeeb1aa
|