Developer Guide
Welcome to the TheStrat developer guide. This section provides comprehensive information for contributors and developers working with the TheStrat codebase.
For Maintainers
This project is currently private. Contact the author for access and contribution guidelines.
Architecture Overview
TheStrat follows a modular design with clear separation of concerns:
Core Components
- Factory - Component creation and configuration management
- Aggregation - OHLCV timeframe data processing
- Indicators - TheStrat technical analysis implementation
- Schemas - Configuration models and validation
Design Patterns
- Factory Pattern - Centralized component creation with validation
- Abstract Base Classes - Consistent interfaces across components
- Configuration-Driven - Flexible behavior through configuration objects
- Functional Programming - Immutable data transformations where possible
Quick Development Setup
# Clone repository
git clone https://github.com/jlixfeld/thestrat.git
cd thestrat
# Install all development dependencies
uv sync --extra test --extra dev --extra docs
# Verify installation
uv run pytest
uv run ruff check .
uv run mkdocs serve
Guide Sections
Contributing
Guidelines for making contributions, code style, and pull request process.
Development Workflow
- Setup - Install dependencies and verify environment
- Development - Write code following project conventions
- Testing - Ensure comprehensive test coverage
- Documentation - Update docs for any API changes
- Quality - Run linting and formatting tools
- Review - Submit changes for review
Code Quality Standards
- Test Coverage: Maintain >95% coverage
- Code Formatting: Automated with Ruff
- Type Hints: Required for all public APIs
- Documentation: Comprehensive docstrings
- Performance: Benchmarked critical paths
Technology Stack
- Python 3.11+ - Modern Python features
- Polars - High-performance data processing
- Pandas - Legacy support and interoperability
- Pytest - Testing framework
- Ruff - Linting and formatting
- MkDocs Material - Documentation
Getting Help
For development questions:
- Check existing documentation
- Review test cases for examples
- Contact the maintainer directly
Project Status
Version: 1.0.1 - Production/Stable Maintenance: Active development License: Private - All rights reserved