{"id":34701771,"url":"https://github.com/hubmapconsortium/ingest-api","last_synced_at":"2026-04-30T16:00:47.037Z","repository":{"id":37850409,"uuid":"321758131","full_name":"hubmapconsortium/ingest-api","owner":"hubmapconsortium","description":"HuBMAP Data Ingest API","archived":false,"fork":false,"pushed_at":"2026-04-30T14:37:49.000Z","size":2019,"stargazers_count":0,"open_issues_count":12,"forks_count":0,"subscribers_count":12,"default_branch":"main","last_synced_at":"2026-04-30T16:00:17.976Z","etag":null,"topics":["ot2od030545"],"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/hubmapconsortium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","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":"2020-12-15T18:44:05.000Z","updated_at":"2026-04-29T17:14:12.000Z","dependencies_parsed_at":"2024-04-08T14:46:21.012Z","dependency_job_id":"b06253d5-2255-4fe3-a46a-82e079e60df2","html_url":"https://github.com/hubmapconsortium/ingest-api","commit_stats":null,"previous_names":[],"tags_count":153,"template":false,"template_full_name":null,"purl":"pkg:github/hubmapconsortium/ingest-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmapconsortium%2Fingest-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmapconsortium%2Fingest-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmapconsortium%2Fingest-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmapconsortium%2Fingest-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hubmapconsortium","download_url":"https://codeload.github.com/hubmapconsortium/ingest-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmapconsortium%2Fingest-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32469346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ot2od030545"],"created_at":"2025-12-24T22:53:00.020Z","updated_at":"2026-04-30T16:00:46.968Z","avatar_url":"https://github.com/hubmapconsortium.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HuBMAP Data Ingest API\n\nA restful web service exposing calls needed for the [Ingest UI](https://github.com/hubmapconsortium/ingest-ui) React application.\n\n## Working with submodule\n\nThis repository relies on the [ingest-validation-tools](https://github.com/hubmapconsortium/ingest-validation-tools) as a submodule for metadata validation. The\nfile `.gitmodules` contains the configuration for the URL and specific branch of the submodule that is to be used. Once\nyou already have cloned this repository and switched to the target branch, to load the latest `ingest-validation-tools` submodule:\n\n```\ngit submodule update --init --remote\n```\n\n## Flask app configuration\n\nThis application is written in Flask and it includes an **app.cfg.example** file in the `instance` directory.  Copy the file and rename it **app.cfg** and modify  with the appropriate information.\n\n## Standalone local development\n\nThis assumes you are developing the code with the Flask development server and you have access to the remote neo4j database.\n\n### Generate the BUILD file\n\nIn the project root directory:\n\n````\n./generate-build-version.sh\n````\n\n### Install dependencies\n\nCreate a new Python 3.x virtual environment:\n\n````\npython3 -m venv venv-hm-ingest-api\nsource venv-hm-ingest-api/bin/activate\n````\n\nUpgrade pip:\n````\npython3 -m pip install --upgrade pip\n````\n\nThen install the dependencies with using the `main` branch code of commons:\n\n````\nexport COMMONS_BRANCH=main\npip install -r requirements.txt\n````\n\n### Start the server\n\nEither methods below will run the search-api web service at `http://localhost:5005`. Choose one:\n\n#### Directly via Python\n\n````\npython3 app.py\n````\n\n#### With the Flask Development Server\n\n````\ncd src\nexport FLASK_APP=app.py\nexport FLASK_ENV=development\npython3 -m flask run -p 5000\n````\n\n## Development process\n\n### Verification of tests\nThe GitHub repository for ingest-api will run the `nose2` tests in the `test` directory when code changes are pushed.  These can be run locally prior to pushing using the following commands:\n- cd $DEVELOPMENT_HOME/ingest-api/\n- source .venv/bin/activate\n- `nose2 --verbose --log-level debug`\n\n### To release via TEST infrastructure\n- Make new feature or bug fix branches from `main` branch (the default branch)\n- Make PRs to `main`\n- As a codeowner, Zhou (github username `yuanzhou`) is automatically assigned as a reviewer to each PR. When all other reviewers have approved, he will approve as well, merge to TEST infrastructure, and redeploy the TEST instance.\n- Developer or someone on the team who is familiar with the change will test/qa the change\n- When any current changes in the `main` have been approved after test/qa on TEST, Zhou will release to PROD using the same docker image that has been tested on TEST infrastructure.\n\n### To work on features in the development environment before ready for testing and releasing\n- Make new feature branches off the `main` branch\n- Make PRs to `dev-integrate`\n- As a codeowner, Zhou is automatically assigned as a reviewer to each PR. When all other reviewers have approved, he will approve as well, merge to devel, and redeploy the DEV instance.\n- When a feature branch is ready for testing and release, make a PR to `main` for deployment and testing on the TEST infrastructure as above.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubmapconsortium%2Fingest-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhubmapconsortium%2Fingest-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubmapconsortium%2Fingest-api/lists"}