{"id":20222,"name":"emissions-api","description":"A solution that provides simple access to emissions data of climate-relevant gases.","url":"https://github.com/emissions-api/emissions-api","last_synced_at":"2026-04-06T00:01:48.998Z","repository":{"id":37548342,"uuid":"211305042","full_name":"emissions-api/emissions-api","owner":"emissions-api","description":"Web API to easily access satellite-based emission data","archived":false,"fork":false,"pushed_at":"2024-05-01T04:23:07.000Z","size":6976,"stargazers_count":78,"open_issues_count":23,"forks_count":11,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-04-02T05:58:06.737Z","etag":null,"topics":["air-quality","citizen-science","copernicus","emissions-api","esa","hacktoberfest","python","remote-sensing","sentinel-5"],"latest_commit_sha":null,"homepage":"https://emissions-api.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/emissions-api.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.rst","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-27T11:33:23.000Z","updated_at":"2026-04-01T14:00:00.000Z","dependencies_parsed_at":"2024-06-13T04:18:14.182Z","dependency_job_id":"51af59d3-269e-4efd-8323-d5ae1b041745","html_url":"https://github.com/emissions-api/emissions-api","commit_stats":{"total_commits":381,"total_committers":12,"mean_commits":31.75,"dds":0.7454068241469816,"last_synced_commit":"fa1c92990b44465fecb29b9881406425c72f529b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/emissions-api/emissions-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emissions-api%2Femissions-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emissions-api%2Femissions-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emissions-api%2Femissions-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emissions-api%2Femissions-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emissions-api","download_url":"https://codeload.github.com/emissions-api/emissions-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emissions-api%2Femissions-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31454200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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"}},"owner":{"login":"emissions-api","name":"Emissions API","uuid":"47664099","kind":"organization","description":"Easy access to satellite-based emission data for everyone","email":null,"website":"https://emissions-api.org","location":"Osnabrück, Germany","twitter":"emissions_api","company":null,"icon_url":"https://avatars.githubusercontent.com/u/47664099?v=4","repositories_count":7,"last_synced_at":"2023-03-03T02:45:25.788Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/emissions-api","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-13T15:51:32.336Z","updated_at":"2023-03-03T02:45:25.842Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emissions-api","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emissions-api/repositories"},"packages":[],"commits":{"id":1254203,"full_name":"emissions-api/emissions-api","default_branch":"main","total_commits":381,"total_committers":12,"total_bot_commits":183,"total_bot_committers":2,"mean_commits":31.75,"dds":0.7454068241469816,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-01T22:04:11.790Z","last_synced_commit":"fa1c92990b44465fecb29b9881406425c72f529b","created_at":"2023-03-27T10:59:40.009Z","updated_at":"2026-04-01T22:03:31.727Z","committers":[{"name":"dependabot-preview[bot]","email":"27856297+dependabot-preview[bot]","login":"dependabot-preview[bot]","count":97},{"name":"Lars Kiesow","email":"lkiesow@uos.de","login":"lkiesow","count":88},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":86},{"name":"Sven Haardiek","email":"sven@haardiek.de","login":"shaardie","count":82},{"name":"Timo Brockmeyer","email":"timo.brockmeyer@gmail.com","login":null,"count":6},{"name":"Max Brenner","email":"xamrennerb@gmail.com","login":"brennerm","count":5},{"name":"David Dalisay","email":"dalisay.david3@gmail.com","login":"dalisaydavid","count":4},{"name":"Sven Haardiek","email":"sven.haardiek@iotec-gmbh.de","login":null,"count":4},{"name":"Simon Kerssen","email":"Simon.Kerssen@iotec-gmbh.de","login":"benszau","count":3},{"name":"Björn","email":"frangiz@gmail.com","login":"frangiz","count":3},{"name":"EmbeddedHenni","email":"47663931+EmbeddedHenni","login":"EmbeddedHenni","count":2},{"name":"TylerBird","email":"tj.rose90@gmail.com","login":"TylerBird","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/emissions-api%2Femissions-api/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-06T00:00:08.903Z","repositories_count":6211188,"commits_count":923272957,"contributors_count":35716138,"owners_count":1144010,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"emissions-api/emissions-api","html_url":"https://github.com/emissions-api/emissions-api","last_synced_at":"2026-02-28T06:00:52.473Z","status":"error","issues_count":64,"pull_requests_count":493,"avg_time_to_close_issue":5471558.94117647,"avg_time_to_close_pull_request":1906235.9917184266,"issues_closed_count":51,"pull_requests_closed_count":483,"pull_request_authors_count":12,"issue_authors_count":7,"avg_comments_per_issue":1.296875,"avg_comments_per_pull_request":0.6977687626774848,"merged_pull_requests_count":332,"bot_issues_count":0,"bot_pull_requests_count":332,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:36:44.403Z","updated_at":"2026-02-28T06:00:52.473Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/emissions-api%2Femissions-api","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/emissions-api%2Femissions-api/issues","issue_labels_count":{"good first issue":18,"enhancement":16,"documentation":6,"bug":4,"hacktoberfest":4,"question":3,"devops":2,"tests":2,"algorithm":1},"pull_request_labels_count":{"dependencies":370,"bug":14,"tests":11,"documentation":9,"enhancement":5,"devops":1,"security":1},"issue_author_associations_count":{"COLLABORATOR":34,"CONTRIBUTOR":27,"NONE":3},"pull_request_author_associations_count":{"CONTRIBUTOR":447,"COLLABORATOR":78,"NONE":2},"issue_authors":{"lkiesow":34,"shaardie":25,"martincarapia":1,"airqualityanthony":1,"marcoarthur":1,"benszau":1,"tibroc":1},"pull_request_authors":{"dependabot[bot]":229,"dependabot-preview[bot]":134,"lkiesow":78,"shaardie":64,"benszau":6,"tibroc":4,"frangiz":3,"brennerm":2,"dalisaydavid":2,"martincarapia":2,"EmbeddedHenni":2,"TylerBird":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-22T00:00:10.760Z","repositories_count":13869163,"issues_count":34667991,"pull_requests_count":113248558,"authors_count":11208335,"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":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"lkiesow","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lkiesow"}],"active_maintainers":[]},"events":{"total":{"WatchEvent":2},"last_year":{}},"keywords":["air-quality","citizen-science","copernicus","emissions-api","esa","hacktoberfest","python","remote-sensing","sentinel-5"],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-07-12T16:22:37.811Z","updated_at":"2022-07-12T16:22:37.811Z","repository_link":"https://github.com/emissions-api/emissions-api/blob/main/requirements.txt","dependencies":[{"id":169565802,"package_name":"alembic","ecosystem":"pypi","requirements":"==1.7.7","direct":true,"kind":"runtime","optional":false},{"id":169565803,"package_name":"connexion","ecosystem":"pypi","requirements":"==2.14.0","direct":true,"kind":"runtime","optional":false},{"id":169565804,"package_name":"Flask","ecosystem":"pypi","requirements":"==2.1.1","direct":true,"kind":"runtime","optional":false},{"id":169565805,"package_name":"GeoAlchemy2","ecosystem":"pypi","requirements":"==0.10.0","direct":true,"kind":"runtime","optional":false},{"id":169565806,"package_name":"geopandas","ecosystem":"pypi","requirements":"==0.10.2","direct":true,"kind":"runtime","optional":false},{"id":169565807,"package_name":"gunicorn","ecosystem":"pypi","requirements":"==20.1.0","direct":true,"kind":"runtime","optional":false},{"id":169565808,"package_name":"iso3166","ecosystem":"pypi","requirements":"==2.0.2","direct":true,"kind":"runtime","optional":false},{"id":169565809,"package_name":"pandas","ecosystem":"pypi","requirements":"==1.3.5","direct":true,"kind":"runtime","optional":false},{"id":169565810,"package_name":"psycopg2","ecosystem":"pypi","requirements":"==2.9.3","direct":true,"kind":"runtime","optional":false},{"id":169565811,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.2","direct":true,"kind":"runtime","optional":false},{"id":169565812,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==6.0","direct":true,"kind":"runtime","optional":false},{"id":169565813,"package_name":"s5a","ecosystem":"pypi","requirements":"==0.4","direct":true,"kind":"runtime","optional":false},{"id":169565814,"package_name":"sentinel5dl","ecosystem":"pypi","requirements":"==1.1","direct":true,"kind":"runtime","optional":false},{"id":169565815,"package_name":"SQLAlchemy","ecosystem":"pypi","requirements":"==1.4.35","direct":true,"kind":"runtime","optional":false},{"id":169565816,"package_name":"swagger-ui-bundle","ecosystem":"pypi","requirements":"==0.0.9","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-07-12T16:22:37.856Z","updated_at":"2022-07-12T16:22:37.856Z","repository_link":"https://github.com/emissions-api/emissions-api/blob/main/setup.py","dependencies":[{"id":169565968,"package_name":"connexion","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":169565969,"package_name":"GeoAlchemy2","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":169565970,"package_name":"geojson","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":169565971,"package_name":"geopandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":169565972,"package_name":"iso3166","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":169565973,"package_name":"psycopg2","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":169565974,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":169565975,"package_name":"s5a","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":169565976,"package_name":"sentinel5dl","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":169565977,"package_name":"SQLAlchemy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/codeql.yml","sha":null,"kind":"manifest","created_at":"2023-01-31T08:46:09.038Z","updated_at":"2023-01-31T08:46:09.038Z","repository_link":"https://github.com/emissions-api/emissions-api/blob/main/.github/workflows/codeql.yml","dependencies":[{"id":7267886028,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7267886029,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7267886030,"package_name":"github/codeql-action/autobuild","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7267886031,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/docs.yml","sha":null,"kind":"manifest","created_at":"2023-01-31T08:46:09.098Z","updated_at":"2023-01-31T08:46:09.098Z","repository_link":"https://github.com/emissions-api/emissions-api/blob/main/.github/workflows/docs.yml","dependencies":[{"id":7267886182,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7267886183,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7267886184,"package_name":"JamesIves/github-pages-deploy-action","ecosystem":"actions","requirements":"3.7.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/lint.yml","sha":null,"kind":"manifest","created_at":"2023-01-31T08:46:09.159Z","updated_at":"2023-01-31T08:46:09.159Z","repository_link":"https://github.com/emissions-api/emissions-api/blob/main/.github/workflows/lint.yml","dependencies":[{"id":7267887962,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7267887965,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/main.yml","sha":null,"kind":"manifest","created_at":"2023-01-31T08:46:09.305Z","updated_at":"2023-01-31T08:46:09.305Z","repository_link":"https://github.com/emissions-api/emissions-api/blob/main/.github/workflows/main.yml","dependencies":[{"id":7267888707,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":".github/docker-compose.yml","sha":null,"kind":"manifest","created_at":"2023-01-31T08:46:09.365Z","updated_at":"2023-01-31T08:46:09.365Z","repository_link":"https://github.com/emissions-api/emissions-api/blob/main/.github/docker-compose.yml","dependencies":[{"id":7267888747,"package_name":"registry.hub.docker.com/postgis/postgis","ecosystem":"docker","requirements":"12-master","direct":true,"kind":"runtime","optional":false}]}],"score":7.1000271666292605,"created_at":"2023-09-11T14:52:10.939Z","updated_at":"2026-04-06T00:01:49.021Z","avatar_url":"https://github.com/emissions-api.png","language":"Python","category":"Emissions","sub_category":"Emission Observation and Modeling","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"Emissions API\n=============\n\n.. image:: https://img.shields.io/travis/com/emissions-api/emissions-api?label=Docs\n   :target: https://docs.emissions-api.org\n   :alt: Documentation Status\n.. image:: https://github.com/emissions-api/emissions-api/actions/workflows/main.yml/badge.svg\n   :target: https://github.com/emissions-api/emissions-api/actions/workflows/main.yml\n   :alt: Integration Test\n\nThis is the main repository for the `Emissions API \u003chttps://emissions-api.org/\u003e`_.\n\nIf you just want to use Emissions API as a service, take a look at our `API documentation \u003chttps://api.emissions-api.org/\u003e`_\nor visit our `website \u003chttps://emissions-api.org/\u003e`_ for additional information and examples.\n\nBelow you will find a small introduction about setting the services in this repository up for development.\n\nIf you want to take a deeper dive into this, you can take a look at the `documentation \u003chttps://docs.emissions-api.org/\u003e`_,\nvisit the `issues \u003chttps://github.com/emissions-api/emissions-api/issues\u003e`_\nor take a look into the `libraries and tools \u003chttps://github.com/emissions-api\u003e`_ we created around this project.\n\nInstallation\n------------\n\nTo install the requirements execute\n\n.. code-block:: bash\n\n   pip install -r requirements.txt\n\nYou might have to explicitly deal with C-dependencies like ``psycopg2`` yourself,\nOne way to do this is to use your corresponding system packages.\n\nAfter that you can run the different services using\n\n* **preprocess**\\ : ``python -m emissionsapi.preprocess``\n* **autoupdater**\\ : ``python -m emissionsapi.autoupdater``\n* **web**\\ : ``python -m emissionsapi.web``\n\nConfiguration\n-------------\n\nEmissions API will look for configuration files in the following order:\n\n* ``./emissionsapi.yml``\n* ``~/emissionsapi.yml``\n* ``/etc/emissionsapi.yml``\n\nA configuration file template can be found at ``etc/emissionsapi.yml``.\nTo get started, just copy this to the main project directory and adjust the\nvalues if the defaults do not work for you.\n\nDatabase Setup\n--------------\n\nThis project is using a `PostgreSQL \u003chttps://postgresql.org\u003e`_ database with the `PostGIS \u003chttps://postgis.net\u003e`_ extension.\n\nThere is a simple ``docker-compose.yml`` file to make it easier to setup a\ndatabase for development.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["geography","geoprocessing","sentinel5"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20222","html_url":"https://ost.ecosyste.ms/projects/20222"}