API stability

Updated Jul 14, 2026

simulacat classifies every public symbol and fixture into one of three stability tiers. The canonical registry lives in simulacat.api_stability.PUBLIC_API.

Tier Meaning Consumer guidance
stable Part of the supported API. Changes follow the deprecation lifecycle. Safe to depend on without pinning a specific patch version.
provisional May change without the full deprecation lifecycle. Pin the simulacat version when depending on provisional symbols.
deprecated Will be removed in a future version. Warnings are emitted with migration guidance. Migrate to the documented replacement before the stated removal version.

All symbols exported via simulacat.__all__ and all fixtures registered through the pytest11 entry point (github_sim_config, github_simulator, simulacat_single_repo, simulacat_empty_org) are currently classified as stable.

The stability tier of any symbol can be inspected programmatically:

from simulacat import PUBLIC_API

tier = PUBLIC_API["ScenarioConfig"]
print(tier)  # "stable"