{"id":13948687,"url":"https://github.com/podaac/hydrocron","last_synced_at":"2026-04-24T01:08:44.651Z","repository":{"id":171741538,"uuid":"648349626","full_name":"podaac/hydrocron","owner":"podaac","description":"API for retreiving time series of SWOT data","archived":false,"fork":false,"pushed_at":"2026-04-23T23:28:00.000Z","size":78835,"stargazers_count":32,"open_issues_count":43,"forks_count":7,"subscribers_count":7,"default_branch":"develop","last_synced_at":"2026-04-23T23:29:57.142Z","etag":null,"topics":["development","tva"],"latest_commit_sha":null,"homepage":"https://podaac.github.io/hydrocron/","language":"Python","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/podaac.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":"2023-06-01T19:09:50.000Z","updated_at":"2026-04-23T23:04:54.000Z","dependencies_parsed_at":"2024-04-11T15:50:40.394Z","dependency_job_id":"d06b03e9-ee52-469e-aa61-cc8bd9518113","html_url":"https://github.com/podaac/hydrocron","commit_stats":{"total_commits":200,"total_committers":8,"mean_commits":25.0,"dds":0.55,"last_synced_commit":"39a1cc748ab2b763855759315ba435e6f8450c9c"},"previous_names":["podaac/hydrocron"],"tags_count":169,"template":false,"template_full_name":null,"purl":"pkg:github/podaac/hydrocron","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/podaac%2Fhydrocron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/podaac%2Fhydrocron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/podaac%2Fhydrocron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/podaac%2Fhydrocron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/podaac","download_url":"https://codeload.github.com/podaac/hydrocron/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/podaac%2Fhydrocron/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32204712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T00:06:41.111Z","status":"ssl_error","status_checked_at":"2026-04-24T00:06:35.224Z","response_time":53,"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":["development","tva"],"created_at":"2024-08-08T05:01:27.914Z","updated_at":"2026-04-24T01:08:44.617Z","avatar_url":"https://github.com/podaac.png","language":"Python","funding_links":[],"categories":["Hydrosphere"],"sub_categories":["Ocean and Hydrology Data Access"],"readme":"## Overview\n\nHydrocron is an API that repackages hydrology datasets from the Surface Water and Ocean Topography (SWOT) satellite into formats that make time-series analysis easier, including GeoJSON and CSV. To use Hydrocron, see the official documentation with examples and tutorials here: [https://podaac.github.io/hydrocron/intro.html](https://podaac.github.io/hydrocron/intro.html)\n\nThe following sections of this readme describe how to install and run a development version of Hydrocron locally on your own computer. This is not recommended if you just want to access SWOT data through Hydrocron. To access data, see the documentation linked above.\n\nTo contribute to the development of Hydrocron, see the [contributing guidelines](https://github.com/podaac/hydrocron/blob/develop/CONTRIBUTING.md) and browse the open issues.\n\n***NOTE: the following instructions for installing and running a local version of Hydrocron are out of date, and may result in a broken install. We are aware of the issue and working on restoring local development functionality. Please open a new issue or ask a question on the [PO.DAAC forum](https://podaac.jpl.nasa.gov/forum/viewforum.php?f=6) if you need to run a local installation.***\n\n## Requirements\n\nPython 3.12+\n\n## Running Locally with Docker\n\n1. Build or pull the hydrocron docker image\n2. Run docker compose to launch dynamodb local and hydrocron local\n3. Load test data into dynamodb local\n4. Execute sample requests\n\n### 1. Build or Pull Hydrocron Docker\n\nBuild the docker container:\n\n```bash\n\ndocker build . -f docker/Dockerfile -t hydrocron:latest\n```\n\nPull a pre-built image from [https://github.com/podaac/hydrocron/pkgs/container/hydrocron](https://github.com/podaac/hydrocron/pkgs/container/hydrocron):\n\n```bash\ndocker pull ghcr.io/podaac/hydrocron:latest\n```\n\n### 2. Run Docker Compose\n\nLaunch dynamodb local on port 8000 and hyrdrocron on port 9000\n\n```bash\ndocker-compose up\n```\n\n### 3. Load Test Data\n\nIf you have not setup a python environment yet, use poetry to first initialize the virtual environment.\n\n```bash\npoetry install\n```\n\nThis will load the data in `test/data` into the local dynamo db instance.\n\n```bash\npython tests/load_data_local.py\n```\n\n**NOTE** - By default data will be removed when the container is stopped. There are some commented lines in `docker-compose.yml`\nthat can be used to allow the data to persist across container restarts if desired.\n\n### 4. Execute Sample Requests\n\nThe docker container is running a lambda container image. By posting data to port 9000, the lambda handler will be invoked\nand will return results from the loaded test data. For example:\n\n```bash\ncurl --location 'http://localhost:9000/2015-03-31/functions/function/invocations' \\\n--header 'Content-Type: application/json' \\\n--data '{\n    \"body\":{\n        \"feature\": \"Reach\",\n        \"reach_id\": \"71224100223\",\n        \"start_time\": \"2022-08-04T00:00:00+00:00\",\n        \"end_time\": \"2022-08-23T00:00:00+00:00\",\n        \"output\": \"csv\",\n        \"fields\": \"feature_id,time_str,wse\"\n    }\n}'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpodaac%2Fhydrocron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpodaac%2Fhydrocron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpodaac%2Fhydrocron/lists"}