Eppo is a modular flagging and experimentation analysis tool. Eppo's SDKs are built to make assignments in multi-user server-side and client-side contexts. Before proceeding you'll need an Eppo account.
Features
- Feature gates
- Kill switches
- Progressive rollouts
- A/B/n experiments
- Mutually exclusive experiments (Layers)
- Dynamic configuration
- Global holdouts
- Contextual multi-armed bandits
- Install rustup.
- Install Ruby using your preferred package manager.
To release a new version of SDK:
- Make sure that version strings have been updated:
- Eppo core: eppo_core/Cargo.toml
- Rust: rust-sdk/Cargo.toml
- Python: python-sdk/Cargo.toml
- Ruby: ruby-sdk/lib/eppo_client/version.rb and ruby-sdk/ext/eppo_client/Cargo.toml
- If SDK depends on a new version of
eppo_core
, the core should be released first. - Create a new release in GitHub interface.
- For tag, use one of the following formats (choose "create new tag on publish"):
eppo_core@x.y.z
rust-sdk@x.y.z
python-sdk@x.y.z
ruby-sdk@x.y.z
- For generating release notes, select previous tag from the same SDK (e.g., when releasing
python-sdk@4.0.3
, the previous tag should bepython-sdk@4.0.2
). Auto-generate release notes, prune entries that are not relevant for the SDK (e.g., Python SDK release should not list PRs for Ruby). - Publish release.
- CI will automatically push a new release out to package registries.
- For tag, use one of the following formats (choose "create new tag on publish"):