{"id":22538137,"url":"https://github.com/cfpb/ccdb5-api","last_synced_at":"2025-12-29T21:04:44.928Z","repository":{"id":21630052,"uuid":"91718773","full_name":"cfpb/ccdb5-api","owner":"cfpb","description":"An API that provides an interface to search complaint data.","archived":false,"fork":false,"pushed_at":"2025-11-19T20:19:24.000Z","size":7748,"stargazers_count":17,"open_issues_count":5,"forks_count":21,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-11-19T21:14:26.883Z","etag":null,"topics":["api","django","elasticsearch","hacktoberfest"],"latest_commit_sha":null,"homepage":"https://cfpb.github.io/ccdb5-api/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cfpb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-05-18T17:09:58.000Z","updated_at":"2025-11-19T19:38:57.000Z","dependencies_parsed_at":"2023-01-12T03:45:48.927Z","dependency_job_id":"f853e63a-52e9-44ee-b27e-9e72482c1b2b","html_url":"https://github.com/cfpb/ccdb5-api","commit_stats":null,"previous_names":[],"tags_count":84,"template":false,"template_full_name":null,"purl":"pkg:github/cfpb/ccdb5-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fccdb5-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fccdb5-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fccdb5-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fccdb5-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cfpb","download_url":"https://codeload.github.com/cfpb/ccdb5-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fccdb5-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28121156,"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-12-29T02:00:07.021Z","response_time":58,"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":["api","django","elasticsearch","hacktoberfest"],"created_at":"2024-12-07T11:10:24.328Z","updated_at":"2025-12-29T21:04:44.923Z","avatar_url":"https://github.com/cfpb.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![ci](https://github.com/cfpb/ccdb5-api/workflows/ci/badge.svg)[![Coverage Status](https://coveralls.io/repos/github/cfpb/ccdb5-api/badge.svg?branch=main)](https://coveralls.io/github/cfpb/ccdb5-api?branch=main)\n\nccdb5-api\n================\n\nAn API that provides an interface to search complaint data.\n\n## Features\n\n* Search complaint data\n* Suggest complaint data based on input\n* Get complaint based on ID\n\n## Requirements\n\nRequirements are batch-installed via pip (see below).\n\n* django - Web framework\n* django-localflavor - Country-specific Django helpers\n* djangorestframework - Rest API framework\n* opensearchpy - low-and-high-level client for OpenSearch\n* requests - http requests to get different data format\n\n\n## Setup \u0026 Running\nThis repository assumes that you have an instance of OpenSearch (or Elasticsearch) running with complaint data set up and running.\n\nIf not, please refer to the [CCDB Data Pipeline](https://github.com/cfpb/ccdb-data-pipeline/blob/main/INSTALL.md) to\nload data into OpenSearch.\n\n### Environment Variables\nThis project uses environment variables and uses autoenv to automatically define environment variables and launch the virtualenv upon cding to the project folder.\n\nYou will need to install Autoenv if you haven't:\n```shell\nbrew install autoenv\n```\n\nAfter installation, Homebrew will output instructions similar to:\n\n```shell\nTo finish the installation, source activate.sh in your shell:\n  source /Users/[YOUR USERNAME]/homebrew/opt/autoenv/activate.sh\n```\n\nRun that now for your initial setup. Any time you run the project you’ll need to run that last line, so if you’ll be working with the project consistently, we suggest adding it to your Bash profile by running:\n```\necho 'source /Users/[YOUR USERNAME]/homebrew/opt/autoenv/activate.sh' \u003e\u003e ~/.bash_profile\n```\n\nIf you need to find this info again later, you can run:\n```shell\nbrew info autoenv\n```\n\nYou can then copy the `.env_SAMPLE` file to `.env`, then update any environment variables accordingly.\n\n### Dependencies\nFirst, create a virtual environment for Python dependencies:\n```\nmkvirtualenv ccdb5-api\n```\n\nNext, use `pip` to install dependencies, which are defined in `setup.py`:\n```\npip install -e '.[testing]'\n```\n\nWith that, you just need a few additional commands to get up and running:\n```\npython manage.py runserver\n```\n\n## API Docs\n\nOriginal API documentation is available at https://cfpb.github.io/ccdb5-api/, but the docs are not being updated at this time.\n\n##  Running Tests\n\nIf you have [Tox](https://tox.readthedocs.io/en/latest/) installed (recommended),\nyou can run the specs for this project with the `tox` command.\n\nIf not, this command will run the specs on the python version your local\nenvironment has installed: `./manage.py test`.\n\nIf you run the tests via Tox, it will automatically display spec coverage information.\nTo get test coverage information outside of Tox, install [Coverage.py](https://coverage.readthedocs.io/en/coverage-4.5.1a/)\nand run these commands:\n\n```\ncoverage erase\ncoverage run manage.py test\ncoverage report\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfpb%2Fccdb5-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcfpb%2Fccdb5-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfpb%2Fccdb5-api/lists"}