{"id":25947,"name":"datahub","description":"Self-hostable, open-source engine for reproducible data harmonization, dataset building \u0026 exploration","url":"https://github.com/datasnack/datahub","last_synced_at":"2025-09-05T03:00:48.313Z","repository":{"id":244215092,"uuid":"754054868","full_name":"datasnack/datahub","owner":"datasnack","description":"Self-hostable, open-source engine for reproducible data harmonization, dataset building \u0026 exploration","archived":false,"fork":false,"pushed_at":"2025-06-26T07:56:20.000Z","size":12812,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-26T08:41:35.566Z","etag":null,"topics":["data-harmonization","reproducibility","self-hosted"],"latest_commit_sha":null,"homepage":"https://demo.datasnack.org/","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/datasnack.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-07T10:07:17.000Z","updated_at":"2025-06-26T07:56:24.000Z","dependencies_parsed_at":"2024-07-19T12:36:58.937Z","dependency_job_id":"bd155dee-5dc9-40d4-8eae-45254a0f605b","html_url":"https://github.com/datasnack/datahub","commit_stats":null,"previous_names":["datasnack/datahub"],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/datasnack/datahub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasnack%2Fdatahub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasnack%2Fdatahub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasnack%2Fdatahub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasnack%2Fdatahub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datasnack","download_url":"https://codeload.github.com/datasnack/datahub/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasnack%2Fdatahub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273703685,"owners_count":25153003,"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-05T02:00:09.113Z","response_time":402,"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"}},"owner":{"login":"datasnack","name":"Data Snack","uuid":"158162003","kind":"organization","description":"","email":null,"website":"https://datasnack.github.io/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/158162003?v=4","repositories_count":1,"last_synced_at":"2024-06-13T13:05:59.713Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/datasnack","funding_links":[],"total_stars":0,"followers":0,"following":0,"created_at":"2024-06-13T13:06:00.069Z","updated_at":"2024-06-13T13:06:00.069Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datasnack","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datasnack/repositories"},"packages":[],"commits":{"message":"Repository syncing started."},"issues_stats":{"full_name":"datasnack/datahub","html_url":"https://github.com/datasnack/datahub","last_synced_at":"2025-08-31T13:43:10.626Z","status":null,"issues_count":0,"pull_requests_count":1,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":45.0,"issues_closed_count":0,"pull_requests_closed_count":1,"pull_request_authors_count":1,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":45.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2025-08-30T13:22:15.759Z","updated_at":"2025-09-02T16:08:46.368Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasnack%2Fdatahub","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasnack%2Fdatahub/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":1},"pull_request_author_associations_count":{"NONE":1},"issue_authors":{"benedikt-weyer":1},"pull_request_authors":{"z1zzle":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.444Z","repositories_count":10083752,"issues_count":31254324,"pull_requests_count":96222393,"authors_count":10694625,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"NONE":1},"past_year_issue_authors":{"benedikt-weyer":1},"past_year_pull_request_authors":{"z1zzle":1},"maintainers":[],"active_maintainers":[]},"events":{"total":{"IssuesEvent":2,"WatchEvent":2,"IssueCommentEvent":2,"PushEvent":31,"PullRequestEvent":2,"ForkEvent":1,"CreateEvent":29},"last_year":{"IssuesEvent":2,"WatchEvent":2,"IssueCommentEvent":2,"PushEvent":31,"PullRequestEvent":2,"ForkEvent":1,"CreateEvent":29}},"keywords":["data-harmonization","reproducibility","self-hosted"],"dependencies":[{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2024-06-13T13:29:34.853Z","updated_at":"2024-06-13T13:29:34.853Z","repository_link":"https://github.com/datasnack/datahub/blob/main/Dockerfile","dependencies":[{"id":18586733586,"package_name":"ghcr.io/osgeo/gdal","ecosystem":"docker","requirements":"ubuntu-small-3.8.4","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"docker-compose.yml","sha":null,"kind":"manifest","created_at":"2024-06-13T13:29:36.231Z","updated_at":"2024-06-13T13:29:36.231Z","repository_link":"https://github.com/datasnack/datahub/blob/main/docker-compose.yml","dependencies":[{"id":18586734056,"package_name":"postgis/postgis","ecosystem":"docker","requirements":"16-3.4","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"app/static/vendor/highlight/es/package.json","sha":null,"kind":"manifest","created_at":"2024-06-13T13:29:36.359Z","updated_at":"2024-06-13T13:29:36.359Z","repository_link":"https://github.com/datasnack/datahub/blob/main/app/static/vendor/highlight/es/package.json","dependencies":[]},{"ecosystem":"npm","filepath":"app/static/vendor/highlight/package.json","sha":null,"kind":"manifest","created_at":"2024-06-13T13:29:37.893Z","updated_at":"2024-06-13T13:29:37.893Z","repository_link":"https://github.com/datasnack/datahub/blob/main/app/static/vendor/highlight/package.json","dependencies":[{"id":18586734300,"package_name":"@colors/colors","ecosystem":"npm","requirements":"^1.6.0","direct":true,"kind":"development","optional":false},{"id":18586734301,"package_name":"@rollup/plugin-commonjs","ecosystem":"npm","requirements":"^25.0.5","direct":true,"kind":"development","optional":false},{"id":18586734302,"package_name":"@rollup/plugin-json","ecosystem":"npm","requirements":"^6.0.1","direct":true,"kind":"development","optional":false},{"id":18586734303,"package_name":"@rollup/plugin-node-resolve","ecosystem":"npm","requirements":"^15.2.3","direct":true,"kind":"development","optional":false},{"id":18586734304,"package_name":"@types/mocha","ecosystem":"npm","requirements":"^10.0.2","direct":true,"kind":"development","optional":false},{"id":18586734305,"package_name":"@typescript-eslint/eslint-plugin","ecosystem":"npm","requirements":"^6.7.4","direct":true,"kind":"development","optional":false},{"id":18586734306,"package_name":"@typescript-eslint/parser","ecosystem":"npm","requirements":"^6.7.4","direct":true,"kind":"development","optional":false},{"id":18586734307,"package_name":"clean-css","ecosystem":"npm","requirements":"^5.3.2","direct":true,"kind":"development","optional":false},{"id":18586734308,"package_name":"cli-table","ecosystem":"npm","requirements":"^0.3.1","direct":true,"kind":"development","optional":false},{"id":18586734309,"package_name":"commander","ecosystem":"npm","requirements":"^11.0.0","direct":true,"kind":"development","optional":false},{"id":18586734310,"package_name":"css","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"development","optional":false},{"id":18586734311,"package_name":"css-color-names","ecosystem":"npm","requirements":"^1.0.1","direct":true,"kind":"development","optional":false},{"id":18586734312,"package_name":"deep-freeze-es6","ecosystem":"npm","requirements":"^3.0.2","direct":true,"kind":"development","optional":false},{"id":18586734313,"package_name":"del","ecosystem":"npm","requirements":"^7.1.0","direct":true,"kind":"development","optional":false},{"id":18586734314,"package_name":"dependency-resolver","ecosystem":"npm","requirements":"^2.0.1","direct":true,"kind":"development","optional":false},{"id":18586734315,"package_name":"eslint","ecosystem":"npm","requirements":"^8.51.0","direct":true,"kind":"development","optional":false},{"id":18586734316,"package_name":"eslint-config-standard","ecosystem":"npm","requirements":"^17.1.0","direct":true,"kind":"development","optional":false},{"id":18586734317,"package_name":"eslint-plugin-import","ecosystem":"npm","requirements":"^2.28.1","direct":true,"kind":"development","optional":false},{"id":18586734318,"package_name":"eslint-plugin-node","ecosystem":"npm","requirements":"^11.1.0","direct":true,"kind":"development","optional":false},{"id":18586734319,"package_name":"eslint-plugin-promise","ecosystem":"npm","requirements":"^6.1.1","direct":true,"kind":"development","optional":false},{"id":18586734320,"package_name":"glob","ecosystem":"npm","requirements":"^8.1.0","direct":true,"kind":"development","optional":false},{"id":18586734322,"package_name":"glob-promise","ecosystem":"npm","requirements":"^6.0.5","direct":true,"kind":"development","optional":false},{"id":18586734324,"package_name":"handlebars","ecosystem":"npm","requirements":"^4.7.8","direct":true,"kind":"development","optional":false},{"id":18586734325,"package_name":"http-server","ecosystem":"npm","requirements":"^14.1.1","direct":true,"kind":"development","optional":false},{"id":18586734327,"package_name":"jsdom","ecosystem":"npm","requirements":"^22.1.0","direct":true,"kind":"development","optional":false},{"id":18586734329,"package_name":"lodash","ecosystem":"npm","requirements":"^4.17.20","direct":true,"kind":"development","optional":false},{"id":18586734331,"package_name":"mocha","ecosystem":"npm","requirements":"^10.2.0","direct":true,"kind":"development","optional":false},{"id":18586734333,"package_name":"refa","ecosystem":"npm","requirements":"^0.4.1","direct":true,"kind":"development","optional":false},{"id":18586734335,"package_name":"rollup","ecosystem":"npm","requirements":"^4.0.2","direct":true,"kind":"development","optional":false},{"id":18586734336,"package_name":"should","ecosystem":"npm","requirements":"^13.2.3","direct":true,"kind":"development","optional":false},{"id":18586734337,"package_name":"terser","ecosystem":"npm","requirements":"^5.21.0","direct":true,"kind":"development","optional":false},{"id":18586734338,"package_name":"tiny-worker","ecosystem":"npm","requirements":"^2.3.0","direct":true,"kind":"development","optional":false},{"id":18586734339,"package_name":"typescript","ecosystem":"npm","requirements":"^5.2.2","direct":true,"kind":"development","optional":false},{"id":18586734340,"package_name":"wcag-contrast","ecosystem":"npm","requirements":"^3.0.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2024-06-13T13:29:38.055Z","updated_at":"2024-06-13T13:29:38.055Z","repository_link":"https://github.com/datasnack/datahub/blob/main/requirements.txt","dependencies":[{"id":18586734491,"package_name":"affine","ecosystem":"pypi","requirements":"==2.4.0","direct":true,"kind":"runtime","optional":false},{"id":18586734492,"package_name":"asgiref","ecosystem":"pypi","requirements":"==3.7.2","direct":true,"kind":"runtime","optional":false},{"id":18586734493,"package_name":"attrs","ecosystem":"pypi","requirements":"==23.2.0","direct":true,"kind":"runtime","optional":false},{"id":18586734494,"package_name":"certifi","ecosystem":"pypi","requirements":"==2023.11.17","direct":true,"kind":"runtime","optional":false},{"id":18586734495,"package_name":"click","ecosystem":"pypi","requirements":"==8.1.7","direct":true,"kind":"runtime","optional":false},{"id":18586734496,"package_name":"click-plugins","ecosystem":"pypi","requirements":"==1.1.1","direct":true,"kind":"runtime","optional":false},{"id":18586734497,"package_name":"cligj","ecosystem":"pypi","requirements":"==0.7.2","direct":true,"kind":"runtime","optional":false},{"id":18586734498,"package_name":"datacite","ecosystem":"pypi","requirements":"==1.1.3","direct":true,"kind":"runtime","optional":false},{"id":18586734562,"package_name":"Django","ecosystem":"pypi","requirements":"==5.0.6","direct":true,"kind":"runtime","optional":false},{"id":18586734563,"package_name":"django-environ","ecosystem":"pypi","requirements":"==0.11.2","direct":true,"kind":"runtime","optional":false},{"id":18586734564,"package_name":"fiona","ecosystem":"pypi","requirements":"==1.9.5","direct":true,"kind":"runtime","optional":false},{"id":18586734565,"package_name":"GeoAlchemy2","ecosystem":"pypi","requirements":"==0.14.3","direct":true,"kind":"runtime","optional":false},{"id":18586734566,"package_name":"geopandas","ecosystem":"pypi","requirements":"==0.14.4","direct":true,"kind":"runtime","optional":false},{"id":18586734567,"package_name":"meteostat","ecosystem":"pypi","requirements":"==1.6.7","direct":true,"kind":"runtime","optional":false},{"id":18586734568,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.26.4","direct":true,"kind":"runtime","optional":false},{"id":18586734569,"package_name":"openpyxl","ecosystem":"pypi","requirements":"==3.1.2","direct":true,"kind":"runtime","optional":false},{"id":18586734570,"package_name":"osmnx","ecosystem":"pypi","requirements":"==1.9.3","direct":true,"kind":"runtime","optional":false},{"id":18586734571,"package_name":"packaging","ecosystem":"pypi","requirements":"==23.2","direct":true,"kind":"runtime","optional":false},{"id":18586734572,"package_name":"pandas","ecosystem":"pypi","requirements":"==2.1.4","direct":true,"kind":"runtime","optional":false},{"id":18586734573,"package_name":"psycopg","ecosystem":"pypi","requirements":"==3.1.17","direct":true,"kind":"runtime","optional":false},{"id":18586734574,"package_name":"psycopg-binary","ecosystem":"pypi","requirements":"==3.1.17","direct":true,"kind":"runtime","optional":false},{"id":18586734575,"package_name":"psycopg2-binary","ecosystem":"pypi","requirements":"==2.9.9","direct":true,"kind":"runtime","optional":false},{"id":18586734576,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.1.1","direct":true,"kind":"runtime","optional":false},{"id":18586734577,"package_name":"pyproj","ecosystem":"pypi","requirements":"==3.6.1","direct":true,"kind":"runtime","optional":false},{"id":18586734578,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.2","direct":true,"kind":"runtime","optional":false},{"id":18586734579,"package_name":"pytz","ecosystem":"pypi","requirements":"==2023.3.post1","direct":true,"kind":"runtime","optional":false},{"id":18586734580,"package_name":"rasterio","ecosystem":"pypi","requirements":"==1.3.10","direct":true,"kind":"runtime","optional":false},{"id":18586734581,"package_name":"shapely","ecosystem":"pypi","requirements":"==2.0.4","direct":true,"kind":"runtime","optional":false},{"id":18586734582,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":18586734583,"package_name":"snuggs","ecosystem":"pypi","requirements":"==1.4.7","direct":true,"kind":"runtime","optional":false},{"id":18586734584,"package_name":"SQLAlchemy","ecosystem":"pypi","requirements":"==2.0.25","direct":true,"kind":"runtime","optional":false},{"id":18586734585,"package_name":"sqlparse","ecosystem":"pypi","requirements":"==0.4.4","direct":true,"kind":"runtime","optional":false},{"id":18586734586,"package_name":"typing_extensions","ecosystem":"pypi","requirements":"==4.9.0","direct":true,"kind":"runtime","optional":false},{"id":18586734587,"package_name":"tzdata","ecosystem":"pypi","requirements":"==2023.4","direct":true,"kind":"runtime","optional":false},{"id":18586734588,"package_name":"django-debug-toolbar","ecosystem":"pypi","requirements":"==4.3.0","direct":true,"kind":"runtime","optional":false},{"id":18586734589,"package_name":"django-taggit","ecosystem":"pypi","requirements":"==5.0.1","direct":true,"kind":"runtime","optional":false},{"id":18586734590,"package_name":"geojson","ecosystem":"pypi","requirements":"==3.1.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2024-06-21T00:16:34.657Z","updated_at":"2024-06-21T00:16:34.657Z","repository_link":"https://github.com/datasnack/datahub/blob/main/pyproject.toml","dependencies":[]}],"score":null,"created_at":"2025-09-04T15:50:57.983Z","updated_at":"2025-10-07T08:11:44.452Z","avatar_url":"https://github.com/datasnack.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/25947","html_url":"https://science.ecosyste.ms/projects/25947","bibtex_url":"https://science.ecosyste.ms/projects/25947/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/25947/export.apalike"}