{"id":13812536,"url":"https://github.com/sunnah-com/api","last_synced_at":"2025-05-14T22:30:46.475Z","repository":{"id":41226703,"uuid":"74298902","full_name":"sunnah-com/api","owner":"sunnah-com","description":"API for sunnah.com","archived":false,"fork":false,"pushed_at":"2024-11-18T17:02:00.000Z","size":703,"stargazers_count":336,"open_issues_count":905,"forks_count":66,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-11-18T18:24:21.317Z","etag":null,"topics":["hadith","islam","quran","sunnah"],"latest_commit_sha":null,"homepage":"https://sunnah.com","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/sunnah-com.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-11-20T19:57:25.000Z","updated_at":"2024-11-18T17:02:05.000Z","dependencies_parsed_at":"2024-01-14T04:45:32.618Z","dependency_job_id":"621f62b1-6a3b-4d59-a732-a5efaac05692","html_url":"https://github.com/sunnah-com/api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunnah-com%2Fapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunnah-com%2Fapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunnah-com%2Fapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunnah-com%2Fapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sunnah-com","download_url":"https://codeload.github.com/sunnah-com/api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254239454,"owners_count":22037713,"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":["hadith","islam","quran","sunnah"],"created_at":"2024-08-04T04:00:53.001Z","updated_at":"2025-05-14T22:30:46.459Z","avatar_url":"https://github.com/sunnah-com.png","language":"Python","funding_links":[],"categories":["APIs \u0026 Data","Open Source Projects","Hadith Collection and Study (21 projects)"],"sub_categories":["Python","Development Resources"],"readme":"# Overview\n\nThe official API of sunnah.com for retrieving information about hadith collections.\n\n# Getting started\n\nPlease follow the instructions below.\n\nFirst create a local `.env.local` configuration file and update values as needed.\nA sample file is provided at `.env.local.sample`.\n\nRun manually:\n```bash\ngit clone REPO\ncd REPO\npython3 -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\nexport FLASK_ENV=development FLASK_APP=main.py\nflask run --host=0.0.0.0\n```\n\nOr alternatively use `docker-compose` which will give a full environment with a MySQL instance loaded with a sample dataset:\n\n```bash\ndocker-compose up\n```\n\n* Use `--build` option to re-build.\n* Use the `-d` option to run in detached mode.\n\nYou can then visit [localhost:5000](http://localhost:5000) to verify that it's running on your machine. Or, alternatively:\n\n```bash\n$ curl http://localhost:5000\n```\n\n## Deployment\n\nConfiguration files are located at `env.local` and `uwsgi.ini`.\n\nA production ready uWSGI daemon (uwsgi socket exposed on port 5001) can be started with:\n\n```bash\ndocker-compose -f docker-compose.prod.yml up -d --build\n```\n\n## Routes\n\nVisit https://sunnah.stoplight.io/docs/api/ for full API documentation.\n\n## Linting and Formatting\n\n`flake8` and `black` are used for code linting and formatting respectively. Before submitting pull requests, make sure black and flake8 is run against the code. Follow the instructions below for using `black` and `flake8`:\n\n```sh\n# goto repository root directory\n# make sure the virtual environment is activated\nblack .\nflake8 .\n# fix any linting issues\n# Then you are ready to submit your PR\n```\n\nTo add more rules for linting and formatting, make changes to `.flake8` and `pyproject.toml` accordingly.\n\n# Guidelines for Sending a Pull Request\n\n1. Only change one thing at a time.\n2. Don't mix a lot of formatting changes with logic change in the same pull request.\n3. Keep code refactor and logic change in separate pull requests.\n4. Squash your commits. When you address feedback, squash it as well. No one benefits from \"addressed feedback\" commit in the history.\n5. Break down bigger changes into smaller separate pull requests.\n6. If changing UI, attach a screenshot of how the changes look.\n7. Reference the issue being fixed by adding the issue tag in the commit message.\n8. Do not send a big change before first proposing it and getting a buy-in from the maintainer.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunnah-com%2Fapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunnah-com%2Fapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunnah-com%2Fapi/lists"}