Gwenflow is open source under the MIT license, at github.com/gwenlake/gwenflow. Contributions are welcome, from a typo to a new feature: open an issue or a pull request.

Set up

The project uses uv:

Tests

Tests that call a provider replay recorded HTTP responses (VCR cassettes, through pytest-recording), so they run without API keys. --record-mode=all re-records them against the live APIs. Tests marked integration call live services: -m "not integration" skips them. The Temporal tests use the SDK’s time-skipping test server, downloaded on first run. internal_tests/ holds integration scenarios (skills, flows, live model calls) that are not part of the default run.

Lint and format

A pre-commit configuration runs both: pre-commit install.

Licenses

Gwenflow stays usable in commercial products: its dependencies are limited to permissive licenses (MIT, Apache-2.0, BSD), and strong copyleft licenses (GPL, LGPL, AGPL) are refused. licensecheck verifies the dependency tree:

Layout

Releasing

The version lives in pyproject.toml and gwenflow/version.py, and CHANGELOG.md follows Keep a Changelog. Pushing a vX.Y.Z tag and creating the GitHub release publishes the package to PyPI.