Thank you for contributing to FractalCore. This document outlines coding standards, development workflows, and pull request procedures.
All contributors are expected to adhere to the FractalCore Code of Conduct.
# 1. Clone your fork
git clone https://github.com/your-username/FractalCore.git
cd FractalCore
# 2. Initialize virtual environment
python3 -m venv venv
source venv/bin/activate
# 3. Install development and test dependencies
pip install -r requirements.txt
pip install pytest black flake8FractalCore enforces strict automated linting and formatting standards. Before opening a pull request, all checks must pass locally:
- Formatting (Black): Code must be formatted with
black:black . black --check .
- Linting (Flake8): Code must pass syntax and complexity checks:
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- Documentation Standard: All markdown files must be technical, precise, and completely free of emojis.
pytest tests/- Create a feature branch from
main:git checkout -b feature/your-feature-name. - Maintain PEP 8 style conventions and add type annotations where applicable.
- Include unit or integration tests for new features and bug fixes.
- Ensure all CI checks pass.
- Write concise, imperative commit messages (
feat: add asynchronous FedAvg queue).