{"id":20607277,"url":"https://github.com/u2d-ai/msafeature","last_synced_at":"2026-04-21T06:32:18.772Z","repository":{"id":60181948,"uuid":"541537988","full_name":"u2d-ai/msaFeature","owner":"u2d-ai","description":"msaFeature - Feature switch management with conditions or simple decorators Optimized for use with Starlette/FastAPI/Pydantic.","archived":false,"fork":false,"pushed_at":"2022-09-26T10:55:37.000Z","size":40,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-06T17:56:48.980Z","etag":null,"topics":["fastapi","feature-flags","feature-management","microservices","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/u2d-ai.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":null,"support":null}},"created_at":"2022-09-26T10:54:52.000Z","updated_at":"2022-11-01T14:58:14.000Z","dependencies_parsed_at":"2022-09-26T11:50:30.309Z","dependency_job_id":null,"html_url":"https://github.com/u2d-ai/msaFeature","commit_stats":null,"previous_names":["swelcker/msafeature"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/u2d-ai%2FmsaFeature","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/u2d-ai%2FmsaFeature/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/u2d-ai%2FmsaFeature/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/u2d-ai%2FmsaFeature/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/u2d-ai","download_url":"https://codeload.github.com/u2d-ai/msaFeature/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242251937,"owners_count":20097091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["fastapi","feature-flags","feature-management","microservices","python3"],"created_at":"2024-11-16T10:06:14.056Z","updated_at":"2025-12-08T06:02:15.838Z","avatar_url":"https://github.com/u2d-ai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"http://logos.u2d.ai/msaFeature_logo.png?raw=true\" alt=\"msaFeature Logo\"/\u003e\n\u003c/p\u003e\n\n------\n\u003cp align=\"center\"\u003e\n    \u003cem\u003emsaFeature - Feature switch management with conditions or simple decorators\u003c/em\u003e\n\u003cbr\u003e\n    Optimized for use with Starlette/FastAPI/Pydantic.\n\u003cbr\u003e\n    Allows to create feature switches and to setup conditions those switches will be enabled\n    for. Once configured, switches can then be checked against inputs (requests, user objects, etc) to see if the switches are active/enabled.\n\u003cbr\u003e\n  \u003ca href=\"https://pypi.org/project/msaFeature\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/pypi/v/msaFeature?color=%2334D058\u0026label=pypi%20package\" alt=\"Package version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/msaFeature\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/pypi/pyversions/msaFeature.svg?color=%2334D058\" alt=\"Supported Python versions\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n------\n\n**Documentation**: \u003ca href=\"https://msaFeature.u2d.ai/\" target=\"_blank\"\u003emsaFeature Documentation (https://msaFeature.u2d.ai/)\u003c/a\u003e\n\n------\n\n## Features\nThis library includes two versions for FastAPI Feature Flags Management:\n\n- **Simple**: Just a decorator and configuration with json from a file, dict or via url.\n- **Complex with Switch \u0026 Conditions**: Complex version with switches and conditions based on your pydantic model and their business logic.\n\n\n## License Agreement\n\n- `msaFeature`Based on `MIT` open source and free to use, it is free for commercial use, but please show/list the copyright information about msaFeature somewhere.\n\n\n## How to create the documentation\n\nWe use mkdocs and mkdocsstring. The code reference and nav entry get's created virtually by the triggered python script /docs/gen_ref_pages.py while ``mkdocs`` ``serve`` or ``build`` is executed.\n\n### Requirements Install for the PDF creation option:\nPDF Export is using mainly weasyprint, if you get some errors here pls. check there documentation. Installation is part of the msaFeature, so this should be fine.\n\nWe can now test and view our documentation using:\n\n    mkdocs serve\n\nBuild static Site:\n\n    mkdocs build\n\n\n## Build and Publish\n  \nBuild:  \n\n    python setup.py sdist\n\nPublish to pypi:\n\n    twine upload dist/*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fu2d-ai%2Fmsafeature","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fu2d-ai%2Fmsafeature","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fu2d-ai%2Fmsafeature/lists"}