Skip to main content

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:

  1. Issues are automatically fixed when possible (formatting)
  2. Manual fixes required for linting/type errors
  3. Run make fix-all to resolve most issues
  4. 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_*.py files

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: main and dev branches
  • Pull Request: main branch
  • Release: Git tags starting with v*

Contributing

Development Process

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/yourusername/hypermindz-tools.git
  3. Setup development environment: make setup-dev
  4. Create a feature branch: git checkout -b feature/amazing-feature
  5. Develop your feature
  6. Test your changes: make fix-all
  7. Commit your changes (pre-commit hooks will run)
  8. Push to your fork: git push origin feature/amazing-feature
  9. 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

  1. Ensure all tests pass: make check-all
  2. Update documentation if needed
  3. Add tests for new functionality
  4. Ensure CI pipeline passes
  5. 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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hypermindz_tools-0.1.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hypermindz_tools-0.1.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

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

Hashes for hypermindz_tools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 885622c432c3de6e06c2d81ea4e2c92710fcdc1c0242fca51f2ddbba059f380d
MD5 a2f28b3a6ea70d67f32aee52f3309d7e
BLAKE2b-256 b6b5c59cab87ae424c65ecacda6f3b83aa0a5eeb68a177e75e8b1d668bbe09ca

See more details on using hashes here.

File details

Details for the file hypermindz_tools-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hypermindz_tools-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8edcccaa322840266c62e0377925d7474888027586cd4a51102c1ea264425aa3
MD5 2f18733f7e7596c6b4c36f2055e450bd
BLAKE2b-256 4f7f067336a4351e2b3deeeca50daf5c2b42ff8d2f8ea043419f3f4c6eeeb1aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page