Contributing to Flyte 2
March 4, 2026 · View on GitHub
We welcome contributions! Whether it's bug fixes, new features, documentation improvements, or testing enhancements.
Setup
uv sync
make dist
This installs the package in editable mode and builds a wheel so the default Image() uses your local changes. Requires a Docker daemon.
Guidelines
Module structure
flyte.*— Task authoring experience onlyflyte.apps.*— App authoring experienceflyte.io.*— Flyte special types that perform large I/O_internal— Internal use only
Keep the core small
- Extensions and extra functionality go in plugins, not core
- Maintain clear module separation so that module loading is fast and efficient
Public API surface
- Users should never need to import
_module(underscore-prefixed) modules - Use
__all__and__init__.pyto export the public API - Never expose protobuf to users
- Plugins should also avoid depending on
_modules— they may change without notice
Code quality
make fmt— format codemake mypy— type check- Include code and example snippets in function/class docstrings
Resources
- Slack — Chat with the community
- GitHub Discussions — Ask questions
- Issues — Report bugs