{"id":13552795,"url":"https://github.com/openflagr/flagr","last_synced_at":"2025-05-13T22:03:25.329Z","repository":{"id":37736143,"uuid":"105691816","full_name":"openflagr/flagr","owner":"openflagr","description":"Flagr is a feature flagging, A/B testing and dynamic configuration microservice","archived":false,"fork":false,"pushed_at":"2025-04-29T13:00:45.000Z","size":41825,"stargazers_count":2486,"open_issues_count":5,"forks_count":191,"subscribers_count":61,"default_branch":"main","last_synced_at":"2025-05-11T07:01:57.575Z","etag":null,"topics":["ab-testing","dynamic-configuration","feature-flags","feature-toggles","golang","swagger"],"latest_commit_sha":null,"homepage":"https://openflagr.github.io/flagr","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openflagr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-10-03T19:07:32.000Z","updated_at":"2025-05-02T11:58:44.000Z","dependencies_parsed_at":"2023-02-16T11:46:03.903Z","dependency_job_id":"94287500-d5e1-4818-adba-99602e1d81ef","html_url":"https://github.com/openflagr/flagr","commit_stats":null,"previous_names":["checkr/flagr"],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openflagr%2Fflagr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openflagr%2Fflagr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openflagr%2Fflagr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openflagr%2Fflagr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openflagr","download_url":"https://codeload.github.com/openflagr/flagr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254036811,"owners_count":22003653,"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":["ab-testing","dynamic-configuration","feature-flags","feature-toggles","golang","swagger"],"created_at":"2024-08-01T12:02:10.409Z","updated_at":"2025-05-13T22:03:25.297Z","avatar_url":"https://github.com/openflagr.png","language":"Go","funding_links":[],"categories":["Go","Server Applications","Repositories"],"sub_categories":["HTTP Clients"],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/openflagr/flagr/actions/workflows/ci.yml?query=branch%3Amain+\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://github.com/openflagr/flagr/actions/workflows/ci.yml/badge.svg?branch=main\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://goreportcard.com/report/github.com/openflagr/flagr\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://goreportcard.com/badge/github.com/openflagr/flagr\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://godoc.org/github.com/openflagr/flagr\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/godoc-reference-green.svg\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/openflagr/flagr/releases\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/release/openflagr/flagr.svg?style=flat\u0026color=green\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://codecov.io/gh/openflagr/flagr\"\u003e\n        \u003cimg src=\"https://codecov.io/gh/openflagr/flagr/branch/main/graph/badge.svg?token=iwjv26grrN\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n## Introduction\n`openflagr/flagr` is a community-driven OSS effort of advancing the development of Flagr.\n\nFlagr is an open source Go service that delivers the right experience to the right entity and monitors the impact. It provides feature flags, experimentation (A/B testing), and dynamic configuration. It has clear swagger REST APIs for flags management and flag evaluation.\n\n## Documentation\n- https://openflagr.github.io/flagr\n\n## Quick demo\n\nTry it with Docker.\n\n```sh\n# Start the docker container\ndocker pull ghcr.io/openflagr/flagr\ndocker run -it -p 18000:18000 ghcr.io/openflagr/flagr\n\n# Open the Flagr UI\nopen localhost:18000\n```\n\nOr try it on [https://try-flagr.onrender.com](https://try-flagr.onrender.com),\nit may take a while for a cold start, and every commit to the `main` branch will trigger\na redeployment of the demo website.\n\n```\ncurl --request POST \\\n     --url https://try-flagr.onrender.com/api/v1/evaluation \\\n     --header 'content-type: application/json' \\\n     --data '{\n       \"entityID\": \"127\",\n       \"entityType\": \"user\",\n       \"entityContext\": {\n         \"state\": \"NY\"\n       },\n       \"flagID\": 1,\n       \"enableDebug\": true\n     }'\n```\n\n\n## Flagr Evaluation Performance\n\nTested with `vegeta`. For more details, see [benchmarks](./benchmark).\n\n```\nRequests      [total, rate]            56521, 2000.04\nDuration      [total, attack, wait]    28.2603654s, 28.259999871s, 365.529µs\nLatencies     [mean, 50, 95, 99, max]  371.632µs, 327.991µs, 614.918µs, 1.385568ms, 12.50012ms\nBytes In      [total, mean]            23250552, 411.36\nBytes Out     [total, mean]            8308587, 147.00\nSuccess       [ratio]                  100.00%\nStatus Codes  [code:count]             200:56521\nError Set:\n```\n\n## Flagr UI\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./docs/images/demo_readme.png\" width=\"900\"\u003e\n\u003c/p\u003e\n\n## Client Libraries\n\n| Language | Clients |\n| -------- | ------- |\n| Go | [goflagr](https://github.com/openflagr/goflagr) |\n| Javascript | [jsflagr](https://github.com/openflagr/jsflagr) |\n| Python | [pyflagr](https://github.com/openflagr/pyflagr) |\n| Ruby | [rbflagr](https://github.com/openflagr/rbflagr) |\n\n## License and Credit\n- [`openflagr/flagr`](https://github.com/openflagr/flagr) Apache 2.0\n- [`checkr/flagr`](https://github.com/checkr/flagr) Apache 2.0\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenflagr%2Fflagr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenflagr%2Fflagr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenflagr%2Fflagr/lists"}