{"id":35179880,"url":"https://github.com/jacobcoffee/litestar-flags","last_synced_at":"2026-04-02T03:00:15.878Z","repository":{"id":330891468,"uuid":"1124338679","full_name":"JacobCoffee/litestar-flags","owner":"JacobCoffee","description":"Questionably-ready feature flags for Litestar","archived":false,"fork":false,"pushed_at":"2026-03-29T00:34:33.000Z","size":9940,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-29T03:13:30.437Z","etag":null,"topics":["feature-flags","litestar","litestar-framework","litestar-plugin"],"latest_commit_sha":null,"homepage":"http://flags.litestar.scriptr.dev/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JacobCoffee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-28T20:50:30.000Z","updated_at":"2026-02-27T19:17:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/JacobCoffee/litestar-flags","commit_stats":null,"previous_names":["jacobcoffee/litestar-flags"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/JacobCoffee/litestar-flags","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobCoffee%2Flitestar-flags","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobCoffee%2Flitestar-flags/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobCoffee%2Flitestar-flags/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobCoffee%2Flitestar-flags/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JacobCoffee","download_url":"https://codeload.github.com/JacobCoffee/litestar-flags/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobCoffee%2Flitestar-flags/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31294809,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:43:37.129Z","status":"online","status_checked_at":"2026-04-02T02:00:08.535Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["feature-flags","litestar","litestar-framework","litestar-plugin"],"created_at":"2025-12-29T00:56:22.966Z","updated_at":"2026-04-02T03:00:15.858Z","avatar_url":"https://github.com/JacobCoffee.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# litestar-flags\n\nProduction-ready feature flags for [Litestar](https://litestar.dev) applications.\n\n[![PyPI version](https://badge.fury.io/py/litestar-flags.svg)](https://badge.fury.io/py/litestar-flags)\n[![Python versions](https://img.shields.io/pypi/pyversions/litestar-flags.svg)](https://pypi.org/project/litestar-flags/)\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n## Installation\n\n```bash\nuv add litestar-flags\n\n# With extras\nuv add litestar-flags[redis]        # Redis backend\nuv add litestar-flags[database]     # SQLAlchemy backend\nuv add litestar-flags[workflows]    # Approval workflows\nuv add litestar-flags[openfeature]  # OpenFeature SDK provider\nuv add litestar-flags[prometheus]   # Prometheus metrics\nuv add litestar-flags[observability] # OpenTelemetry + structlog\nuv add litestar-flags[all]          # Everything\n```\n\n## Quick Start\n\n```python\nfrom litestar import Litestar, get\nfrom litestar_flags import FeatureFlagsPlugin, FeatureFlagsConfig, FeatureFlagClient\n\nconfig = FeatureFlagsConfig()\nplugin = FeatureFlagsPlugin(config=config)\n\n@get(\"/\")\nasync def index(feature_flags: FeatureFlagClient) -\u003e dict:\n    if await feature_flags.is_enabled(\"new_checkout\"):\n        return {\"flow\": \"new\"}\n    return {\"flow\": \"legacy\"}\n\napp = Litestar(plugins=[plugin])\n```\n\n## Features\n\n- **Multiple backends** - Memory, Redis, and SQLAlchemy storage\n- **Percentage rollouts** - Gradual releases with consistent hashing\n- **User targeting** - Rules based on user attributes\n- **Segment-based targeting** - Reusable user groups for complex targeting\n- **A/B testing** - Weighted variants for experiments\n- **Time-based rules** - Scheduled launches and maintenance windows\n- **Multi-environment** - Environment inheritance, promotion, and per-env configs\n- **Admin API** - REST endpoints for flag management with RBAC and audit logging\n- **Analytics** - Evaluation tracking, metrics, and Prometheus export\n- **OpenFeature support** - Vendor-agnostic evaluation via OpenFeature SDK\n- **Approval workflows** - Human-in-the-loop governance for enterprise use\n\n## Documentation\n\nFull docs at [flags.litestar.scriptr.dev](https://flags.litestar.scriptr.dev).\n\n## Development\n\n```bash\ngit clone https://github.com/JacobCoffee/litestar-flags.git\ncd litestar-flags\nuv sync --all-extras\nuv run pytest\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobcoffee%2Flitestar-flags","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacobcoffee%2Flitestar-flags","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobcoffee%2Flitestar-flags/lists"}