{"id":18263335,"url":"https://github.com/safe-global/safe-config-service","last_synced_at":"2026-02-23T17:28:21.741Z","repository":{"id":37746780,"uuid":"357940699","full_name":"safe-global/safe-config-service","owner":"safe-global","description":"The safe-config-service is a service that provides configuration information in the context of the Safe clients environment","archived":false,"fork":false,"pushed_at":"2025-09-11T11:38:58.000Z","size":1373,"stargazers_count":32,"open_issues_count":11,"forks_count":118,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-09-11T11:41:23.880Z","etag":null,"topics":["django","ethereum","gnosis-safe","python"],"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/safe-global.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"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":"2021-04-14T14:48:38.000Z","updated_at":"2025-09-11T09:30:12.000Z","dependencies_parsed_at":"2023-10-16T18:59:22.693Z","dependency_job_id":"1df1968e-c8a3-47a2-83b4-6c7d11b0d0fd","html_url":"https://github.com/safe-global/safe-config-service","commit_stats":null,"previous_names":[],"tags_count":113,"template":false,"template_full_name":null,"purl":"pkg:github/safe-global/safe-config-service","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/safe-global%2Fsafe-config-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/safe-global%2Fsafe-config-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/safe-global%2Fsafe-config-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/safe-global%2Fsafe-config-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/safe-global","download_url":"https://codeload.github.com/safe-global/safe-config-service/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/safe-global%2Fsafe-config-service/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274864940,"owners_count":25364239,"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","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"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":["django","ethereum","gnosis-safe","python"],"created_at":"2024-11-05T11:11:02.416Z","updated_at":"2026-02-23T17:28:21.735Z","avatar_url":"https://github.com/safe-global.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# safe-config-service\n\n[![Coverage Status](https://coveralls.io/repos/github/gnosis/safe-config-service/badge.svg)](https://coveralls.io/github/gnosis/safe-config-service)\n\nThe `safe-config-service` is a service that provides configuration information in the context of the Safe clients environment (eg.: list of available safe apps and chain metadata).\n\n## Requirements\n\n- `docker-compose` – https://docs.docker.com/compose/install/\n- Python 3.14.0\n\n## Setup\n\nIn order to start the server application:\n\n#### 1. Install the required Python dependencies. Eg.: With a python virtual environment:\n\n```shell\npython -m venv venv # creates a virtual environment venv in the local directory\nsource venv/bin/activate\npip install -r requirements-dev.txt\npip install setuptools\n```\n\n#### 2. Launch the Postgres database image\n\n```shell\ndocker compose up -d db\n```\n\n#### 3. Execute pending database migrations\n\n```shell\npython src/manage.py migrate\n```\n\n#### 4. Create an admin user\n\nThe admin interface of the service will be available under `http://localhost:8000/admin` but you need to have an admin registered before you are able to access the panel.\n\nTo create an admin user:\n\n```shell\npython src/manage.py createsuperuser\n```\n\n#### 5. Launch the service:\n\n```shell\npython src/manage.py runserver\n```\n\nBy default the service will be available under http://127.0.0.1:8000/\n\n## Configuration\n\nThe service is already configured for development purposes however if you wish to deploy it in a production environment you should set some sensitive parameters such as: `POSTGRES_USER`\n, `POSTGRES_PASSWORD`, `SECRET_KEY`.\n`DEBUG` should be set to `false`.\n\nWe provide the `.dev.env` file which explains the role of each environment variable. You can set the configuration using this file and read it in terminal session where the application will be\nexecuted.\n\n## Testing\n\nPytest is used to run the available tests in the project. **Some of these tests validate the integration with the database\nso having one running is required**. From the project root:\n\n```shell\ndocker compose up -d db\npytest src\n```\n\n## Code Style Formatter and Linter\n\nCode formatting and linting are enforced before every commit using `pre-commit`.\n\nTo manually trigger the checks, run:\n\n```shell\npre-commit run --all-files\n```\n\n## Licensing\n\nThis repository contains code developed under two different ownership and licensing regimes, split by a defined cut-over date.\n\n- **Up to and including February 16, 2026**\n  Code is © Safe Ecosystem Foundation and licensed under the **MIT License**.\n  The final SEF-owned MIT snapshot is tagged as: **`sef-mit-final`**\n- **From February 17, 2026 onward**\n  New development is © Safe Labs GmbH and licensed under the\n  **Functional Source License, Version 1.1 (MIT Future License)**.\n\nUsers who require a purely MIT-licensed codebase should base their work on the `sef-mit-final` tag. The historical MIT-licensed code remains MIT and is not retroactively relicensed.\n\nFor full details, see `LICENSE.md` and `NOTICE.md`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsafe-global%2Fsafe-config-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsafe-global%2Fsafe-config-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsafe-global%2Fsafe-config-service/lists"}