User Guides¶
In-depth guides and tutorials for EzCompiler framework.
Overview¶
This section provides comprehensive guides for mastering EzCompiler features and best practices. Whether you're just getting started or looking to contribute to the project, you'll find detailed documentation here.
Available Guides¶
| Guide | Description | Level |
|---|---|---|
| Configuration Guide | Detailed configuration options and best practices | Beginner |
| Development Guide | Development workflow and contribution guide | Intermediate |
Quick Links¶
For Beginners¶
- Getting Started - Start here if you're new to EzCompiler
- Basic Examples - Simple usage examples
- Configuration Guide - Learn to configure your projects
For Developers¶
- Development Guide - Set up your development environment
- API Reference - Complete API documentation
For Advanced Users¶
- API Reference - Detailed module documentation
- CLI Reference - Command-line interface usage
- GitHub Repository - Source code and issues
Topics¶
Core Concepts¶
- Compilation Backends - Understanding Cx_Freeze, PyInstaller, and Nuitka compilers
- Configuration Management - YAML and JSON configuration files
- Template System - Dynamic file generation with templates
- Upload Backends - Distribution to disk and HTTP servers
Framework Features¶
- Type Safety - Using Python 3.11+ type hints for better IDE support
- Error Handling - Comprehensive exception hierarchy
- Validation - 9 specialized validation modules
- Logging - Integrated logging and debugging
Integration¶
- Application Integration - Integrating EzCompiler into your build workflows
- CI/CD Integration - GitHub Actions, GitLab CI, and other platforms
- Template Customization - Creating custom templates
- Custom Compilers - Extending the compiler protocol
Best Practices¶
- Project Structure - Organizing your project for compilation
- Performance - Optimizing compilation and package size
- Error Handling - Robust error handling in build scripts
- Testing - Testing compiled applications
Development Workflow¶
Setting Up¶
- Clone the repository
- Install in development mode
- Install pre-commit hooks (if available)
See the Development Guide for detailed setup instructions.
Testing¶
Run the test suite to ensure everything works:
# Run all tests
pytest tests/
# Run with coverage
pytest tests/ --cov=ezcompiler
# Run specific test types
pytest tests/unit/
pytest tests/integration/
Contributing¶
We welcome contributions! Here's how to get started:
- Fork the repository on GitHub
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes with tests
- Run tests and linting (
pytest,ruff check) - Commit your changes with conventional commits
- Push to your fork (
git push origin feature/amazing-feature) - Open a Pull Request on GitHub
See the Development Guide for contribution guidelines.
Code Style¶
EzCompiler follows these coding standards:
- PEP 8 - Python style guide
- Type Hints - Full type annotations for Python 3.11+
- Docstrings - Google-style docstrings for all public APIs
- Testing - Comprehensive test coverage
- Black - Code formatting (88 character line length)
- Ruff - Linting and code quality
Documentation¶
Building Docs¶
Build the documentation locally:
# Install docs dependencies
pip install -e ".[docs]"
# Build documentation
mkdocs build
# Serve locally
mkdocs serve
Then open http://127.0.0.1:8000 in your browser.
Writing Docs¶
Documentation is written in Markdown and built with MkDocs Material:
- Guides - Located in
docs/guides/ - API Reference - Auto-generated from docstrings with mkdocstrings
- Examples - Code examples in
docs/examples/ - CLI - Command-line interface docs in
docs/cli/
See Also¶
- Getting Started - Quick start guide
- API Reference - Complete API documentation
- Examples - Practical code examples
- CLI Reference - Command-line interface
Need Help?¶
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Repository: https://github.com/neuraaak/ezcompiler
Happy building with EzCompiler! 🚀