{"id":128362,"name":"Fossil Shipment Tracker","description":"A data platform that provides decision-makers, journalists and campaigning organizations with information that helps identify fossil fuel shipments from Russia.","url":"https://github.com/energyandcleanair/fossil_shipment_tracker","last_synced_at":"2025-11-20T03:30:16.611Z","repository":{"id":37496733,"uuid":"471649611","full_name":"energyandcleanair/fossil_shipment_tracker","owner":"energyandcleanair","description":"Russian fossil fuel shipment tracking platform","archived":false,"fork":false,"pushed_at":"2024-10-25T10:51:01.000Z","size":16922,"stargazers_count":3,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-29T22:31:51.743Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/energyandcleanair.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2022-03-19T09:32:38.000Z","updated_at":"2024-10-25T10:51:04.000Z","dependencies_parsed_at":"2023-10-25T11:55:23.582Z","dependency_job_id":"0aad9066-0125-48ee-bacd-204e459b660d","html_url":"https://github.com/energyandcleanair/fossil_shipment_tracker","commit_stats":{"total_commits":2080,"total_committers":10,"mean_commits":208.0,"dds":0.5461538461538462,"last_synced_commit":"a28b791301dca95ffcf2877b1456af1543084d38"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/energyandcleanair%2Ffossil_shipment_tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/energyandcleanair%2Ffossil_shipment_tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/energyandcleanair%2Ffossil_shipment_tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/energyandcleanair%2Ffossil_shipment_tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/energyandcleanair","download_url":"https://codeload.github.com/energyandcleanair/fossil_shipment_tracker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234204643,"owners_count":18795938,"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","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":"energyandcleanair","name":"CREA","uuid":"64344323","kind":"organization","description":"","email":null,"website":"https://energyandcleanair.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/64344323?v=4","repositories_count":9,"last_synced_at":"2023-03-05T05:05:09.572Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/energyandcleanair","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-15T06:26:51.723Z","updated_at":"2023-03-05T05:05:09.599Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/energyandcleanair","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/energyandcleanair/repositories"},"packages":[],"commits":{"id":1443420,"full_name":"energyandcleanair/fossil_shipment_tracker","default_branch":"master","total_commits":0,"total_committers":10,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":208.5,"dds":0.547242206235012,"past_year_total_commits":440,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":220.0,"past_year_dds":0.011363636363636354,"last_synced_at":"2025-11-16T21:12:24.313Z","last_synced_commit":null,"created_at":"2023-11-01T00:05:53.615Z","updated_at":"2024-12-19T09:05:03.196Z","committers":[{"name":"Hubert Thieriot","email":"hubert@energyandcleanair.org","login":null,"count":944},{"name":"Panda Rushwood","email":"panda@energyandcleanair.org","login":null,"count":571},{"name":"lietava-git","email":"lietava.jan@gmail.com","login":null,"count":445},{"name":"Hubert Thieriot","email":"","login":null,"count":65},{"name":"hubert-thieriot","email":"hubert.thieriot@gmail.com","login":"hubert-thieriot","count":48},{"name":"Oscar","email":"druiventakoscar@gmail.com","login":null,"count":6},{"name":"lietava-git","email":"66491804+lietava-git","login":"lietava-git","count":3},{"name":"Lohit Bisen","email":"lohitkbisen@gmail.com","login":null,"count":1},{"name":"laurimyllyvirta","email":"laurimyllyvirta@yahoo.com","login":null,"count":1},{"name":"lietava-git","email":"jan@crea-server.europe-west1-b.c.crea-aq-data.internal","login":null,"count":1}],"past_year_committers":[{"name":"Panda Rushwood","email":"panda@energyandcleanair.org","login":null,"count":435},{"name":"hubert-crea","email":"hubert@energyandcleanair.org","login":null,"count":5}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/energyandcleanair%2Ffossil_shipment_tracker/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-11-18T00:00:11.973Z","repositories_count":6110111,"commits_count":924451325,"contributors_count":36011611,"owners_count":1116996,"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":"energyandcleanair/fossil_shipment_tracker","html_url":"https://github.com/energyandcleanair/fossil_shipment_tracker","last_synced_at":"2025-04-10T06:04:44.179Z","status":"not_found","issues_count":2,"pull_requests_count":51,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":135985.6530612245,"issues_closed_count":0,"pull_requests_closed_count":49,"pull_request_authors_count":6,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":46,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":2,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":27288.5,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":2,"created_at":"2023-11-01T00:06:24.589Z","updated_at":"2025-11-17T02:01:36.007Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/energyandcleanair%2Ffossil_shipment_tracker","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/energyandcleanair%2Ffossil_shipment_tracker/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":1},"issue_author_associations_count":{"NONE":1},"pull_request_author_associations_count":{"COLLABORATOR":39,"MEMBER":7,"NONE":1,"CONTRIBUTOR":1},"issue_authors":{"tomaszpochron":1},"pull_request_authors":{"TickleThePanda":29,"lietava-git":9,"hubert-thieriot":7,"dependabot[bot]":1,"Lohit-B":1,"hubert-crea":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-11-19T00:00:09.757Z","repositories_count":11660198,"issues_count":35520586,"pull_requests_count":115225211,"authors_count":11044777,"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":"TickleThePanda","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/TickleThePanda"},{"login":"lietava-git","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lietava-git"},{"login":"hubert-thieriot","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hubert-thieriot"},{"login":"Lohit-B","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lohit-B"}],"active_maintainers":[]},"events":{"total":{"PushEvent":12},"last_year":{}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/api-workflow.yml","sha":null,"kind":"manifest","created_at":"2023-09-25T22:45:07.595Z","updated_at":"2023-09-25T22:45:07.595Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/.github/workflows/api-workflow.yml","dependencies":[{"id":13937861033,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13937861034,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13937861035,"package_name":"google-github-actions/auth","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":13937861036,"package_name":"google-github-actions/deploy-appengine","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/engine-workflow.yml","sha":null,"kind":"manifest","created_at":"2023-09-25T22:45:07.642Z","updated_at":"2023-09-25T22:45:07.642Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/.github/workflows/engine-workflow.yml","dependencies":[{"id":13937861037,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13937861038,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/russia-api-deploy-development.yml","sha":null,"kind":"manifest","created_at":"2023-09-25T22:45:07.681Z","updated_at":"2023-09-25T22:45:07.681Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/.github/workflows/russia-api-deploy-development.yml","dependencies":[{"id":13937861039,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13937861040,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13937861041,"package_name":"google-github-actions/auth","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":13937861042,"package_name":"google-github-actions/setup-gcloud","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":13937861043,"package_name":"google-github-actions/deploy-appengine","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/russia-api-deploy-production.yml","sha":null,"kind":"manifest","created_at":"2023-09-25T22:45:07.707Z","updated_at":"2023-09-25T22:45:07.707Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/.github/workflows/russia-api-deploy-production.yml","dependencies":[{"id":13937861044,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13937861045,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13937861046,"package_name":"google-github-actions/auth","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":13937861047,"package_name":"google-github-actions/setup-gcloud","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":13937861048,"package_name":"google-github-actions/deploy-appengine","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/russia-api-test.yml","sha":null,"kind":"manifest","created_at":"2023-09-25T22:45:07.724Z","updated_at":"2023-09-25T22:45:07.724Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/.github/workflows/russia-api-test.yml","dependencies":[{"id":13937861049,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13937861050,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/russia-engine-test.yml","sha":null,"kind":"manifest","created_at":"2023-09-25T22:45:07.732Z","updated_at":"2023-09-25T22:45:07.732Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/.github/workflows/russia-engine-test.yml","dependencies":[{"id":13937861051,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13937861052,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"api/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-09-25T22:45:26.227Z","updated_at":"2023-09-25T22:45:26.227Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/api/requirements.txt","dependencies":[{"id":13937864529,"package_name":"googleapis-common-protos","ecosystem":"pypi","requirements":"==1.57.1","direct":true,"kind":"runtime","optional":false},{"id":13937864021,"package_name":"aiohttp","ecosystem":"pypi","requirements":"==3.8.4","direct":true,"kind":"runtime","optional":false},{"id":13937864022,"package_name":"aiosignal","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"runtime","optional":false},{"id":13937864023,"package_name":"aniso8601","ecosystem":"pypi","requirements":"==9.0.1","direct":true,"kind":"runtime","optional":false},{"id":13937864024,"package_name":"async-timeout","ecosystem":"pypi","requirements":"==4.0.2","direct":true,"kind":"runtime","optional":false},{"id":13937864025,"package_name":"attrs","ecosystem":"pypi","requirements":"==22.2.0","direct":true,"kind":"runtime","optional":false},{"id":13937864026,"package_name":"blinker","ecosystem":"pypi","requirements":"==1.5","direct":true,"kind":"runtime","optional":false},{"id":13937864027,"package_name":"branca","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"runtime","optional":false},{"id":13937864028,"package_name":"brotlipy","ecosystem":"pypi","requirements":"==0.7.0","direct":true,"kind":"runtime","optional":false},{"id":13937864029,"package_name":"cachetools","ecosystem":"pypi","requirements":"==5.3.0","direct":true,"kind":"runtime","optional":false},{"id":13937864030,"package_name":"certifi","ecosystem":"pypi","requirements":"==2022.12.7","direct":true,"kind":"runtime","optional":false},{"id":13937864031,"package_name":"cffi","ecosystem":"pypi","requirements":"==1.15.1","direct":true,"kind":"runtime","optional":false},{"id":13937864032,"package_name":"cfgv","ecosystem":"pypi","requirements":"==3.3.1","direct":true,"kind":"runtime","optional":false},{"id":13937864033,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==2.1.1","direct":true,"kind":"runtime","optional":false},{"id":13937864034,"package_name":"click","ecosystem":"pypi","requirements":"==8.1.3","direct":true,"kind":"runtime","optional":false},{"id":13937864035,"package_name":"click-plugins","ecosystem":"pypi","requirements":"==1.1.1","direct":true,"kind":"runtime","optional":false},{"id":13937864036,"package_name":"cligj","ecosystem":"pypi","requirements":"==0.7.2","direct":true,"kind":"runtime","optional":false},{"id":13937864215,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.6","direct":true,"kind":"runtime","optional":false},{"id":13937864216,"package_name":"contourpy","ecosystem":"pypi","requirements":"==1.0.7","direct":true,"kind":"runtime","optional":false},{"id":13937864217,"package_name":"cryptography","ecosystem":"pypi","requirements":"==39.0.2","direct":true,"kind":"runtime","optional":false},{"id":13937864218,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.11.0","direct":true,"kind":"runtime","optional":false},{"id":13937864219,"package_name":"distlib","ecosystem":"pypi","requirements":"==0.3.6","direct":true,"kind":"runtime","optional":false},{"id":13937864220,"package_name":"dnspython","ecosystem":"pypi","requirements":"==2.3.0","direct":true,"kind":"runtime","optional":false},{"id":13937864221,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.10.3","direct":true,"kind":"runtime","optional":false},{"id":13937864222,"package_name":"Fiona","ecosystem":"pypi","requirements":"==1.9.2","direct":true,"kind":"runtime","optional":false},{"id":13937864223,"package_name":"Flask","ecosystem":"pypi","requirements":"==2.0.3","direct":true,"kind":"runtime","optional":false},{"id":13937864224,"package_name":"Flask-Cors","ecosystem":"pypi","requirements":"==3.0.10","direct":true,"kind":"runtime","optional":false},{"id":13937864225,"package_name":"Flask-Mail","ecosystem":"pypi","requirements":"==0.9.1","direct":true,"kind":"runtime","optional":false},{"id":13937864226,"package_name":"Flask-RESTful","ecosystem":"pypi","requirements":"==0.3.9","direct":true,"kind":"runtime","optional":false},{"id":13937864303,"package_name":"flask-restx","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":13937864304,"package_name":"folium","ecosystem":"pypi","requirements":"==0.14.0","direct":true,"kind":"runtime","optional":false},{"id":13937864305,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.39.2","direct":true,"kind":"runtime","optional":false},{"id":13937864306,"package_name":"forex-python","ecosystem":"pypi","requirements":"==1.8","direct":true,"kind":"runtime","optional":false},{"id":13937864307,"package_name":"frozenlist","ecosystem":"pypi","requirements":"==1.3.3","direct":true,"kind":"runtime","optional":false},{"id":13937864308,"package_name":"GeoAlchemy2","ecosystem":"pypi","requirements":"==0.13.1","direct":true,"kind":"runtime","optional":false},{"id":13937864311,"package_name":"geopandas","ecosystem":"pypi","requirements":"==0.12.2","direct":true,"kind":"runtime","optional":false},{"id":13937864312,"package_name":"google-api-core","ecosystem":"pypi","requirements":"==1.34.0","direct":true,"kind":"runtime","optional":false},{"id":13937864313,"package_name":"google-auth","ecosystem":"pypi","requirements":"==2.16.3","direct":true,"kind":"runtime","optional":false},{"id":13937864314,"package_name":"google-cloud-core","ecosystem":"pypi","requirements":"==2.3.2","direct":true,"kind":"runtime","optional":false},{"id":13937864315,"package_name":"google-cloud-secret-manager","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":13937864526,"package_name":"google-cloud-storage","ecosystem":"pypi","requirements":"==2.8.0","direct":true,"kind":"runtime","optional":false},{"id":13937864527,"package_name":"google-crc32c","ecosystem":"pypi","requirements":"==1.1.2","direct":true,"kind":"runtime","optional":false},{"id":13937864528,"package_name":"google-resumable-media","ecosystem":"pypi","requirements":"==2.4.1","direct":true,"kind":"runtime","optional":false},{"id":13937864530,"package_name":"greenlet","ecosystem":"pypi","requirements":"==2.0.2","direct":true,"kind":"runtime","optional":false},{"id":13937864531,"package_name":"grpc-google-iam-v1","ecosystem":"pypi","requirements":"==0.12.6","direct":true,"kind":"runtime","optional":false},{"id":13937864535,"package_name":"grpcio","ecosystem":"pypi","requirements":"==1.48.1","direct":true,"kind":"runtime","optional":false},{"id":13937864536,"package_name":"gunicorn","ecosystem":"pypi","requirements":"==20.1.0","direct":true,"kind":"runtime","optional":false},{"id":13937864537,"package_name":"identify","ecosystem":"pypi","requirements":"==2.5.21","direct":true,"kind":"runtime","optional":false},{"id":13937864538,"package_name":"idna","ecosystem":"pypi","requirements":"==3.4","direct":true,"kind":"runtime","optional":false},{"id":13937864539,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==6.1.0","direct":true,"kind":"runtime","optional":false},{"id":13937864540,"package_name":"importlib-resources","ecosystem":"pypi","requirements":"==5.12.0","direct":true,"kind":"runtime","optional":false},{"id":13937864541,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false},{"id":13937864542,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==2.1.2","direct":true,"kind":"runtime","optional":false},{"id":13937864543,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==3.1.2","direct":true,"kind":"runtime","optional":false},{"id":13937864544,"package_name":"joblib","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"runtime","optional":false},{"id":13937864545,"package_name":"jsonschema","ecosystem":"pypi","requirements":"==4.17.3","direct":true,"kind":"runtime","optional":false},{"id":13937864546,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.4.4","direct":true,"kind":"runtime","optional":false},{"id":13937864547,"package_name":"kpler.sdk","ecosystem":"pypi","requirements":"==1.0.29","direct":true,"kind":"runtime","optional":false},{"id":13937864548,"package_name":"mapclassify","ecosystem":"pypi","requirements":"==2.5.0","direct":true,"kind":"runtime","optional":false},{"id":13937864560,"package_name":"MarkupSafe","ecosystem":"pypi","requirements":"==2.1.2","direct":true,"kind":"runtime","optional":false},{"id":13937864561,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.7.1","direct":true,"kind":"runtime","optional":false},{"id":13937864562,"package_name":"multidict","ecosystem":"pypi","requirements":"==6.0.4","direct":true,"kind":"runtime","optional":false},{"id":13937864563,"package_name":"munch","ecosystem":"pypi","requirements":"==2.5.0","direct":true,"kind":"runtime","optional":false},{"id":13937864564,"package_name":"munkres","ecosystem":"pypi","requirements":"==1.1.4","direct":true,"kind":"runtime","optional":false},{"id":13937864565,"package_name":"networkx","ecosystem":"pypi","requirements":"==3.0","direct":true,"kind":"runtime","optional":false},{"id":13937864566,"package_name":"nodeenv","ecosystem":"pypi","requirements":"==1.7.0","direct":true,"kind":"runtime","optional":false},{"id":13937864567,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.24.2","direct":true,"kind":"runtime","optional":false},{"id":13937864568,"package_name":"packaging","ecosystem":"pypi","requirements":"==23.0","direct":true,"kind":"runtime","optional":false},{"id":13937864569,"package_name":"pandas","ecosystem":"pypi","requirements":"==1.4.2","direct":true,"kind":"runtime","optional":false},{"id":13937864570,"package_name":"Pillow","ecosystem":"pypi","requirements":"==9.4.0","direct":true,"kind":"runtime","optional":false},{"id":13937864571,"package_name":"pip","ecosystem":"pypi","requirements":"==23.0.1","direct":true,"kind":"runtime","optional":false},{"id":13937864572,"package_name":"pkgutil_resolve_name","ecosystem":"pypi","requirements":"==1.3.10","direct":true,"kind":"runtime","optional":false},{"id":13937864573,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==3.1.1","direct":true,"kind":"runtime","optional":false},{"id":13937864574,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":13937864575,"package_name":"pooch","ecosystem":"pypi","requirements":"==1.7.0","direct":true,"kind":"runtime","optional":false},{"id":13937864576,"package_name":"pre-commit","ecosystem":"pypi","requirements":"==3.2.1","direct":true,"kind":"runtime","optional":false},{"id":13937864577,"package_name":"proto-plus","ecosystem":"pypi","requirements":"==1.22.2","direct":true,"kind":"runtime","optional":false},{"id":13937864578,"package_name":"protobuf","ecosystem":"pypi","requirements":"==3.20.2","direct":true,"kind":"runtime","optional":false},{"id":13937864579,"package_name":"psycopg2","ecosystem":"pypi","requirements":"==2.9.3","direct":true,"kind":"runtime","optional":false},{"id":13937864580,"package_name":"py","ecosystem":"pypi","requirements":"==1.11.0","direct":true,"kind":"runtime","optional":false},{"id":13937864581,"package_name":"pyasn1","ecosystem":"pypi","requirements":"==0.4.8","direct":true,"kind":"runtime","optional":false},{"id":13937864582,"package_name":"pyasn1-modules","ecosystem":"pypi","requirements":"==0.2.7","direct":true,"kind":"runtime","optional":false},{"id":13937864583,"package_name":"pycparser","ecosystem":"pypi","requirements":"==2.21","direct":true,"kind":"runtime","optional":false},{"id":13937864584,"package_name":"pymongo","ecosystem":"pypi","requirements":"==4.0.2","direct":true,"kind":"runtime","optional":false},{"id":13937864585,"package_name":"pyOpenSSL","ecosystem":"pypi","requirements":"==23.1.0","direct":true,"kind":"runtime","optional":false},{"id":13937864586,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.0.9","direct":true,"kind":"runtime","optional":false},{"id":13937864587,"package_name":"pyproj","ecosystem":"pypi","requirements":"==3.4.1","direct":true,"kind":"runtime","optional":false},{"id":13937864588,"package_name":"pyrsistent","ecosystem":"pypi","requirements":"==0.19.3","direct":true,"kind":"runtime","optional":false},{"id":13937864589,"package_name":"PySocks","ecosystem":"pypi","requirements":"==1.7.1","direct":true,"kind":"runtime","optional":false},{"id":13937864815,"package_name":"pytest","ecosystem":"pypi","requirements":"==7.0.1","direct":true,"kind":"runtime","optional":false},{"id":13937864816,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.2","direct":true,"kind":"runtime","optional":false},{"id":13937864817,"package_name":"python-decouple","ecosystem":"pypi","requirements":"==3.8","direct":true,"kind":"runtime","optional":false},{"id":13937864818,"package_name":"pytz","ecosystem":"pypi","requirements":"==2022.7.1","direct":true,"kind":"runtime","optional":false},{"id":13937864819,"package_name":"pyu2f","ecosystem":"pypi","requirements":"==0.1.5","direct":true,"kind":"runtime","optional":false},{"id":13937865095,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==6.0","direct":true,"kind":"runtime","optional":false},{"id":13937865096,"package_name":"requests","ecosystem":"pypi","requirements":"==2.28.2","direct":true,"kind":"runtime","optional":false},{"id":13937865097,"package_name":"rsa","ecosystem":"pypi","requirements":"==4.9","direct":true,"kind":"runtime","optional":false},{"id":13937865098,"package_name":"Rtree","ecosystem":"pypi","requirements":"==1.0.1","direct":true,"kind":"runtime","optional":false},{"id":13937865149,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"==1.2.2","direct":true,"kind":"runtime","optional":false},{"id":13937865150,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.10.1","direct":true,"kind":"runtime","optional":false},{"id":13937865151,"package_name":"setuptools","ecosystem":"pypi","requirements":"==67.6.0","direct":true,"kind":"runtime","optional":false},{"id":13937865152,"package_name":"shapely","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":13937865153,"package_name":"simplejson","ecosystem":"pypi","requirements":"==3.18.4","direct":true,"kind":"runtime","optional":false},{"id":13937865154,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":13937865155,"package_name":"slack-logger","ecosystem":"pypi","requirements":"==0.3.1","direct":true,"kind":"runtime","optional":false},{"id":13937865156,"package_name":"slack-sdk","ecosystem":"pypi","requirements":"==3.20.2","direct":true,"kind":"runtime","optional":false},{"id":13937865157,"package_name":"SQLAlchemy","ecosystem":"pypi","requirements":"==1.4.34","direct":true,"kind":"runtime","optional":false},{"id":13937865158,"package_name":"threadpoolctl","ecosystem":"pypi","requirements":"==3.1.0","direct":true,"kind":"runtime","optional":false},{"id":13937865159,"package_name":"tomli","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":13937865160,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.65.0","direct":true,"kind":"runtime","optional":false},{"id":13937865161,"package_name":"typing_extensions","ecosystem":"pypi","requirements":"==4.5.0","direct":true,"kind":"runtime","optional":false},{"id":13937865162,"package_name":"ukkonen","ecosystem":"pypi","requirements":"==1.0.1","direct":true,"kind":"runtime","optional":false},{"id":13937865172,"package_name":"unicodedata2","ecosystem":"pypi","requirements":"==15.0.0","direct":true,"kind":"runtime","optional":false},{"id":13937865215,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.26.15","direct":true,"kind":"runtime","optional":false},{"id":13937865216,"package_name":"virtualenv","ecosystem":"pypi","requirements":"==20.21.0","direct":true,"kind":"runtime","optional":false},{"id":13937865217,"package_name":"Werkzeug","ecosystem":"pypi","requirements":"==2.0.3","direct":true,"kind":"runtime","optional":false},{"id":13937865218,"package_name":"wheel","ecosystem":"pypi","requirements":"==0.40.0","direct":true,"kind":"runtime","optional":false},{"id":13937865219,"package_name":"xyzservices","ecosystem":"pypi","requirements":"==2023.2.0","direct":true,"kind":"runtime","optional":false},{"id":13937865220,"package_name":"yarl","ecosystem":"pypi","requirements":"==1.8.2","direct":true,"kind":"runtime","optional":false},{"id":13937865221,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.15.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"dashboard/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-10-25T11:55:16.718Z","updated_at":"2023-10-25T11:55:16.718Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/dashboard/Dockerfile","dependencies":[{"id":14277587816,"package_name":"python","ecosystem":"docker","requirements":"3.8-slim-buster","direct":true,"kind":"build","optional":false}]},{"ecosystem":"pypi","filepath":"api/environment.yml","sha":null,"kind":"manifest","created_at":"2023-10-25T11:55:16.931Z","updated_at":"2023-10-25T11:55:16.931Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/api/environment.yml","dependencies":[{"id":14277587868,"package_name":"slack-logger","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277587871,"package_name":"slack_sdk","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277587874,"package_name":"forex-python","ecosystem":"pypi","requirements":"==1.8","direct":true,"kind":"runtime","optional":false},{"id":14277587899,"package_name":"kpler.sdk","ecosystem":"pypi","requirements":"==1.0.29","direct":true,"kind":"runtime","optional":false},{"id":14277587904,"package_name":"pymongo","ecosystem":"pypi","requirements":"==4.0.2","direct":true,"kind":"runtime","optional":false},{"id":14277587905,"package_name":"flask_mail","ecosystem":"pypi","requirements":"==0.9.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"dashboard/environment.yml","sha":null,"kind":"manifest","created_at":"2023-10-25T11:55:17.503Z","updated_at":"2023-10-25T11:55:17.503Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/dashboard/environment.yml","dependencies":[{"id":14277587990,"package_name":"dash","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277587991,"package_name":"orjson","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588043,"package_name":"colorir","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"dashboard/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-10-25T11:55:17.848Z","updated_at":"2023-10-25T11:55:17.848Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/dashboard/requirements.txt","dependencies":[{"id":14277588091,"package_name":"Brotli","ecosystem":"pypi","requirements":"==1.0.9","direct":true,"kind":"runtime","optional":false},{"id":14277588092,"package_name":"brotlipy","ecosystem":"pypi","requirements":"==0.7.0","direct":true,"kind":"runtime","optional":false},{"id":14277588093,"package_name":"cachelib","ecosystem":"pypi","requirements":"==0.9.0","direct":true,"kind":"runtime","optional":false},{"id":14277588094,"package_name":"certifi","ecosystem":"pypi","requirements":"==2022.12.7","direct":true,"kind":"runtime","optional":false},{"id":14277588095,"package_name":"cffi","ecosystem":"pypi","requirements":"==1.15.1","direct":true,"kind":"runtime","optional":false},{"id":14277588096,"package_name":"cfgv","ecosystem":"pypi","requirements":"==3.3.1","direct":true,"kind":"runtime","optional":false},{"id":14277588097,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==2.1.1","direct":true,"kind":"runtime","optional":false},{"id":14277588098,"package_name":"click","ecosystem":"pypi","requirements":"==8.1.3","direct":true,"kind":"runtime","optional":false},{"id":14277588099,"package_name":"contourpy","ecosystem":"pypi","requirements":"==1.0.7","direct":true,"kind":"runtime","optional":false},{"id":14277588100,"package_name":"cryptography","ecosystem":"pypi","requirements":"==39.0.1","direct":true,"kind":"runtime","optional":false},{"id":14277588101,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.11.0","direct":true,"kind":"runtime","optional":false},{"id":14277588102,"package_name":"dash","ecosystem":"pypi","requirements":"==2.9.1","direct":true,"kind":"runtime","optional":false},{"id":14277588103,"package_name":"dash-auth","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false},{"id":14277588219,"package_name":"dash-bootstrap-components","ecosystem":"pypi","requirements":"==1.4.1","direct":true,"kind":"runtime","optional":false},{"id":14277588362,"package_name":"dash-core-components","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false},{"id":14277588374,"package_name":"dash-html-components","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false},{"id":14277588385,"package_name":"dash-renderer","ecosystem":"pypi","requirements":"==1.9.1","direct":true,"kind":"runtime","optional":false},{"id":14277588390,"package_name":"dash-table","ecosystem":"pypi","requirements":"==5.0.0","direct":true,"kind":"runtime","optional":false},{"id":14277588394,"package_name":"dill","ecosystem":"pypi","requirements":"==0.3.6","direct":true,"kind":"runtime","optional":false},{"id":14277588395,"package_name":"diskcache","ecosystem":"pypi","requirements":"==5.4.0","direct":true,"kind":"runtime","optional":false},{"id":14277588396,"package_name":"distlib","ecosystem":"pypi","requirements":"==0.3.6","direct":true,"kind":"runtime","optional":false},{"id":14277588397,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.10.2","direct":true,"kind":"runtime","optional":false},{"id":14277588398,"package_name":"Flask","ecosystem":"pypi","requirements":"==2.2.3","direct":true,"kind":"runtime","optional":false},{"id":14277588399,"package_name":"Flask-Caching","ecosystem":"pypi","requirements":"==2.0.2","direct":true,"kind":"runtime","optional":false},{"id":14277588400,"package_name":"Flask-Compress","ecosystem":"pypi","requirements":"==1.13","direct":true,"kind":"runtime","optional":false},{"id":14277588401,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.38.0","direct":true,"kind":"runtime","optional":false},{"id":14277588402,"package_name":"gunicorn","ecosystem":"pypi","requirements":"==20.1.0","direct":true,"kind":"runtime","optional":false},{"id":14277588403,"package_name":"identify","ecosystem":"pypi","requirements":"==2.5.21","direct":true,"kind":"runtime","optional":false},{"id":14277588404,"package_name":"idna","ecosystem":"pypi","requirements":"==3.4","direct":true,"kind":"runtime","optional":false},{"id":14277588405,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==6.0.0","direct":true,"kind":"runtime","optional":false},{"id":14277588406,"package_name":"importlib-resources","ecosystem":"pypi","requirements":"==5.12.0","direct":true,"kind":"runtime","optional":false},{"id":14277588407,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==2.1.2","direct":true,"kind":"runtime","optional":false},{"id":14277588408,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==3.1.2","direct":true,"kind":"runtime","optional":false},{"id":14277588409,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.4.4","direct":true,"kind":"runtime","optional":false},{"id":14277588410,"package_name":"MarkupSafe","ecosystem":"pypi","requirements":"==2.1.2","direct":true,"kind":"runtime","optional":false},{"id":14277588411,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.7.0","direct":true,"kind":"runtime","optional":false},{"id":14277588412,"package_name":"multiprocess","ecosystem":"pypi","requirements":"==0.70.14","direct":true,"kind":"runtime","optional":false},{"id":14277588413,"package_name":"munkres","ecosystem":"pypi","requirements":"==1.1.4","direct":true,"kind":"runtime","optional":false},{"id":14277588416,"package_name":"nodeenv","ecosystem":"pypi","requirements":"==1.7.0","direct":true,"kind":"runtime","optional":false},{"id":14277588417,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.24.2","direct":true,"kind":"runtime","optional":false},{"id":14277588418,"package_name":"orjson","ecosystem":"pypi","requirements":"==3.8.9","direct":true,"kind":"runtime","optional":false},{"id":14277588419,"package_name":"packaging","ecosystem":"pypi","requirements":"==23.0","direct":true,"kind":"runtime","optional":false},{"id":14277588420,"package_name":"pandas","ecosystem":"pypi","requirements":"==1.5.3","direct":true,"kind":"runtime","optional":false},{"id":14277588421,"package_name":"Pillow","ecosystem":"pypi","requirements":"==9.4.0","direct":true,"kind":"runtime","optional":false},{"id":14277588422,"package_name":"pip","ecosystem":"pypi","requirements":"==23.0.1","direct":true,"kind":"runtime","optional":false},{"id":14277588423,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==3.1.1","direct":true,"kind":"runtime","optional":false},{"id":14277588424,"package_name":"plotly","ecosystem":"pypi","requirements":"==5.13.1","direct":true,"kind":"runtime","optional":false},{"id":14277588425,"package_name":"pre-commit","ecosystem":"pypi","requirements":"==3.2.0","direct":true,"kind":"runtime","optional":false},{"id":14277588426,"package_name":"psutil","ecosystem":"pypi","requirements":"==5.9.4","direct":true,"kind":"runtime","optional":false},{"id":14277588427,"package_name":"pycparser","ecosystem":"pypi","requirements":"==2.21","direct":true,"kind":"runtime","optional":false},{"id":14277588428,"package_name":"pyOpenSSL","ecosystem":"pypi","requirements":"==23.0.0","direct":true,"kind":"runtime","optional":false},{"id":14277588429,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.0.9","direct":true,"kind":"runtime","optional":false},{"id":14277588430,"package_name":"PySocks","ecosystem":"pypi","requirements":"==1.7.1","direct":true,"kind":"runtime","optional":false},{"id":14277588431,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.2","direct":true,"kind":"runtime","optional":false},{"id":14277588432,"package_name":"python-decouple","ecosystem":"pypi","requirements":"==3.8","direct":true,"kind":"runtime","optional":false},{"id":14277588433,"package_name":"pytz","ecosystem":"pypi","requirements":"==2022.7.1","direct":true,"kind":"runtime","optional":false},{"id":14277588434,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==6.0","direct":true,"kind":"runtime","optional":false},{"id":14277588435,"package_name":"redis","ecosystem":"pypi","requirements":"==3.5.3","direct":true,"kind":"runtime","optional":false},{"id":14277588436,"package_name":"requests","ecosystem":"pypi","requirements":"==2.28.2","direct":true,"kind":"runtime","optional":false},{"id":14277588437,"package_name":"setuptools","ecosystem":"pypi","requirements":"==67.4.0","direct":true,"kind":"runtime","optional":false},{"id":14277588438,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":14277588439,"package_name":"tenacity","ecosystem":"pypi","requirements":"==8.2.1","direct":true,"kind":"runtime","optional":false},{"id":14277588440,"package_name":"tornado","ecosystem":"pypi","requirements":"==6.2","direct":true,"kind":"runtime","optional":false},{"id":14277588441,"package_name":"typing_extensions","ecosystem":"pypi","requirements":"==4.5.0","direct":true,"kind":"runtime","optional":false},{"id":14277588442,"package_name":"ukkonen","ecosystem":"pypi","requirements":"==1.0.1","direct":true,"kind":"runtime","optional":false},{"id":14277588455,"package_name":"unicodedata2","ecosystem":"pypi","requirements":"==15.0.0","direct":true,"kind":"runtime","optional":false},{"id":14277588471,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.26.14","direct":true,"kind":"runtime","optional":false},{"id":14277588472,"package_name":"virtualenv","ecosystem":"pypi","requirements":"==20.21.0","direct":true,"kind":"runtime","optional":false},{"id":14277588473,"package_name":"Werkzeug","ecosystem":"pypi","requirements":"==2.2.3","direct":true,"kind":"runtime","optional":false},{"id":14277588474,"package_name":"wheel","ecosystem":"pypi","requirements":"==0.38.4","direct":true,"kind":"runtime","optional":false},{"id":14277588475,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.14.0","direct":true,"kind":"runtime","optional":false},{"id":14277588476,"package_name":"colorir","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"engine/environment.yml","sha":null,"kind":"manifest","created_at":"2023-10-25T11:55:21.459Z","updated_at":"2023-10-25T11:55:21.459Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/engine/environment.yml","dependencies":[{"id":14277588480,"package_name":"slack-logger","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588481,"package_name":"slack_sdk","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588482,"package_name":"forex-python","ecosystem":"pypi","requirements":"==1.8","direct":true,"kind":"runtime","optional":false},{"id":14277588483,"package_name":"kpler.sdk","ecosystem":"pypi","requirements":"==1.0.29","direct":true,"kind":"runtime","optional":false},{"id":14277588484,"package_name":"pymongo","ecosystem":"pypi","requirements":"==4.0.2","direct":true,"kind":"runtime","optional":false},{"id":14277588485,"package_name":"flask_mail","ecosystem":"pypi","requirements":"==0.9.1","direct":true,"kind":"runtime","optional":false},{"id":14277588486,"package_name":"webdriver_manager","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588487,"package_name":"pyreadr","ecosystem":"pypi","requirements":"==0.4.7","direct":true,"kind":"runtime","optional":false},{"id":14277588488,"package_name":"lxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"engine/requirements_org.txt","sha":null,"kind":"manifest","created_at":"2023-10-25T11:55:21.776Z","updated_at":"2023-10-25T11:55:21.776Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/engine/requirements_org.txt","dependencies":[{"id":14277588495,"package_name":"Flask","ecosystem":"pypi","requirements":"==2.0.3","direct":true,"kind":"runtime","optional":false},{"id":14277588496,"package_name":"flask-restful","ecosystem":"pypi","requirements":"==0.3.9","direct":true,"kind":"runtime","optional":false},{"id":14277588497,"package_name":"Werkzeug","ecosystem":"pypi","requirements":"==2.0.3","direct":true,"kind":"runtime","optional":false},{"id":14277588498,"package_name":"flask-restx","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":14277588503,"package_name":"flask-cors","ecosystem":"pypi","requirements":"==3.0.10","direct":true,"kind":"runtime","optional":false},{"id":14277588504,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":14277588505,"package_name":"pytest","ecosystem":"pypi","requirements":"==7.0.1","direct":true,"kind":"runtime","optional":false},{"id":14277588506,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588507,"package_name":"python-decouple","ecosystem":"pypi","requirements":"==3.6","direct":true,"kind":"runtime","optional":false},{"id":14277588508,"package_name":"google-cloud-secret-manager","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":14277588777,"package_name":"shapely","ecosystem":"pypi","requirements":"==1.8.0","direct":true,"kind":"runtime","optional":false},{"id":14277588778,"package_name":"geoalchemy2","ecosystem":"pypi","requirements":"==0.11.1","direct":true,"kind":"runtime","optional":false},{"id":14277588784,"package_name":"pandas","ecosystem":"pypi","requirements":"==1.4.2","direct":true,"kind":"runtime","optional":false},{"id":14277588785,"package_name":"geopandas","ecosystem":"pypi","requirements":"==0.11.0","direct":true,"kind":"runtime","optional":false},{"id":14277588786,"package_name":"psycopg2","ecosystem":"pypi","requirements":"==2.9.1","direct":true,"kind":"runtime","optional":false},{"id":14277588787,"package_name":"gunicorn","ecosystem":"pypi","requirements":"==20.1.0","direct":true,"kind":"runtime","optional":false},{"id":14277588788,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.63.1","direct":true,"kind":"runtime","optional":false},{"id":14277588789,"package_name":"country_converter","ecosystem":"pypi","requirements":"==0.8.0","direct":true,"kind":"runtime","optional":false},{"id":14277588790,"package_name":"pymongo","ecosystem":"pypi","requirements":"==4.0.2","direct":true,"kind":"runtime","optional":false},{"id":14277588791,"package_name":"slack-logger","ecosystem":"pypi","requirements":"==0.3.1","direct":true,"kind":"runtime","optional":false},{"id":14277588792,"package_name":"protobuf","ecosystem":"pypi","requirements":"==3.20","direct":true,"kind":"runtime","optional":false},{"id":14277588793,"package_name":"scikit-image","ecosystem":"pypi","requirements":"==0.19.3","direct":true,"kind":"runtime","optional":false},{"id":14277588794,"package_name":"rasterio","ecosystem":"pypi","requirements":"==1.3.6","direct":true,"kind":"runtime","optional":false},{"id":14277588810,"package_name":"forex-python","ecosystem":"pypi","requirements":"==1.8","direct":true,"kind":"runtime","optional":false},{"id":14277588811,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"==4.11.1","direct":true,"kind":"runtime","optional":false},{"id":14277588812,"package_name":"flask-mail","ecosystem":"pypi","requirements":"==0.9.1","direct":true,"kind":"runtime","optional":false},{"id":14277588813,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588814,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588815,"package_name":"pytz","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588816,"package_name":"pyproj","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588817,"package_name":"selenium","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588818,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588819,"package_name":"lxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588820,"package_name":"webdriver_manager","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588821,"package_name":"seaborn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588822,"package_name":"slack-sdk","ecosystem":"pypi","requirements":"==3.19.5","direct":true,"kind":"runtime","optional":false},{"id":14277588823,"package_name":"google-cloud-storage","ecosystem":"pypi","requirements":"==2.7.0","direct":true,"kind":"runtime","optional":false},{"id":14277588824,"package_name":"pyreadr","ecosystem":"pypi","requirements":"==0.4.7","direct":true,"kind":"runtime","optional":false},{"id":14277588825,"package_name":"pre-commit","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588826,"package_name":"kpler.sdk","ecosystem":"pypi","requirements":"==1.0.29","direct":true,"kind":"runtime","optional":false},{"id":14277588827,"package_name":"Unidecode","ecosystem":"pypi","requirements":"==1.3.6","direct":true,"kind":"runtime","optional":false},{"id":14277588847,"package_name":"pygeos","ecosystem":"pypi","requirements":"==0.14","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-10-25T11:55:23.065Z","updated_at":"2023-10-25T11:55:23.065Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/requirements.txt","dependencies":[{"id":14277588874,"package_name":"Flask","ecosystem":"pypi","requirements":"==2.0.3","direct":true,"kind":"runtime","optional":false},{"id":14277588875,"package_name":"flask-restful","ecosystem":"pypi","requirements":"==0.3.9","direct":true,"kind":"runtime","optional":false},{"id":14277588876,"package_name":"Werkzeug","ecosystem":"pypi","requirements":"==2.0.3","direct":true,"kind":"runtime","optional":false},{"id":14277588877,"package_name":"flask-restx","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":14277588878,"package_name":"flask-cors","ecosystem":"pypi","requirements":"==3.0.10","direct":true,"kind":"runtime","optional":false},{"id":14277588879,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":14277588880,"package_name":"pytest","ecosystem":"pypi","requirements":"==7.0.1","direct":true,"kind":"runtime","optional":false},{"id":14277588881,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588882,"package_name":"python-decouple","ecosystem":"pypi","requirements":"==3.6","direct":true,"kind":"runtime","optional":false},{"id":14277588883,"package_name":"google-cloud-secret-manager","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":14277588884,"package_name":"shapely","ecosystem":"pypi","requirements":"==1.8.0","direct":true,"kind":"runtime","optional":false},{"id":14277588885,"package_name":"geoalchemy2","ecosystem":"pypi","requirements":"==0.11.1","direct":true,"kind":"runtime","optional":false},{"id":14277588886,"package_name":"pandas","ecosystem":"pypi","requirements":"==1.4.2","direct":true,"kind":"runtime","optional":false},{"id":14277588887,"package_name":"geopandas","ecosystem":"pypi","requirements":"==0.11.0","direct":true,"kind":"runtime","optional":false},{"id":14277588888,"package_name":"psycopg2","ecosystem":"pypi","requirements":"==2.9.1","direct":true,"kind":"runtime","optional":false},{"id":14277588889,"package_name":"gunicorn","ecosystem":"pypi","requirements":"==20.1.0","direct":true,"kind":"runtime","optional":false},{"id":14277588890,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.63.1","direct":true,"kind":"runtime","optional":false},{"id":14277588891,"package_name":"country_converter","ecosystem":"pypi","requirements":"==0.8.0","direct":true,"kind":"runtime","optional":false},{"id":14277588892,"package_name":"pymongo","ecosystem":"pypi","requirements":"==4.0.2","direct":true,"kind":"runtime","optional":false},{"id":14277588893,"package_name":"slack-logger","ecosystem":"pypi","requirements":"==0.3.1","direct":true,"kind":"runtime","optional":false},{"id":14277588894,"package_name":"protobuf","ecosystem":"pypi","requirements":"==3.20","direct":true,"kind":"runtime","optional":false},{"id":14277588895,"package_name":"scikit-image","ecosystem":"pypi","requirements":"==0.19.3","direct":true,"kind":"runtime","optional":false},{"id":14277588896,"package_name":"rasterio","ecosystem":"pypi","requirements":"==1.3.6","direct":true,"kind":"runtime","optional":false},{"id":14277588897,"package_name":"forex-python","ecosystem":"pypi","requirements":"==1.8","direct":true,"kind":"runtime","optional":false},{"id":14277588898,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"==4.11.1","direct":true,"kind":"runtime","optional":false},{"id":14277588899,"package_name":"flask-mail","ecosystem":"pypi","requirements":"==0.9.1","direct":true,"kind":"runtime","optional":false},{"id":14277588900,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588901,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588902,"package_name":"pytz","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588903,"package_name":"pyproj","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588904,"package_name":"selenium","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588905,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588906,"package_name":"lxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588907,"package_name":"webdriver_manager","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588908,"package_name":"seaborn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588909,"package_name":"slack-sdk","ecosystem":"pypi","requirements":"==3.19.5","direct":true,"kind":"runtime","optional":false},{"id":14277588910,"package_name":"google-cloud-storage","ecosystem":"pypi","requirements":"==2.7.0","direct":true,"kind":"runtime","optional":false},{"id":14277588911,"package_name":"pyreadr","ecosystem":"pypi","requirements":"==0.4.7","direct":true,"kind":"runtime","optional":false},{"id":14277588912,"package_name":"pre-commit","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14277588913,"package_name":"kpler.sdk","ecosystem":"pypi","requirements":"==1.0.29","direct":true,"kind":"runtime","optional":false},{"id":14277588914,"package_name":"Unidecode","ecosystem":"pypi","requirements":"==1.3.6","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"api/Pipfile","sha":null,"kind":"manifest","created_at":"2023-10-05T16:29:48.515Z","updated_at":"2023-10-05T16:29:48.515Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/api/Pipfile","dependencies":[{"id":14122110334,"package_name":"aiohttp","ecosystem":"pypi","requirements":"~=3.8.4","direct":true,"kind":"runtime","optional":false},{"id":14122110335,"package_name":"aiosignal","ecosystem":"pypi","requirements":"~=1.3.1","direct":true,"kind":"runtime","optional":false},{"id":14122110336,"package_name":"aniso8601","ecosystem":"pypi","requirements":"~=9.0.1","direct":true,"kind":"runtime","optional":false},{"id":14122110337,"package_name":"async-timeout","ecosystem":"pypi","requirements":"~=4.0.2","direct":true,"kind":"runtime","optional":false},{"id":14122110338,"package_name":"attrs","ecosystem":"pypi","requirements":"~=22.2.0","direct":true,"kind":"runtime","optional":false},{"id":14122110339,"package_name":"blinker","ecosystem":"pypi","requirements":"~=1.5","direct":true,"kind":"runtime","optional":false},{"id":14122110340,"package_name":"branca","ecosystem":"pypi","requirements":"~=0.6.0","direct":true,"kind":"runtime","optional":false},{"id":14122110341,"package_name":"brotlipy","ecosystem":"pypi","requirements":"~=0.7.0","direct":true,"kind":"runtime","optional":false},{"id":14122110342,"package_name":"cachetools","ecosystem":"pypi","requirements":"~=5.3.0","direct":true,"kind":"runtime","optional":false},{"id":14122110343,"package_name":"certifi","ecosystem":"pypi","requirements":"~=2022.12.7","direct":true,"kind":"runtime","optional":false},{"id":14122110344,"package_name":"cffi","ecosystem":"pypi","requirements":"~=1.15.1","direct":true,"kind":"runtime","optional":false},{"id":14122110345,"package_name":"cfgv","ecosystem":"pypi","requirements":"~=3.3.1","direct":true,"kind":"runtime","optional":false},{"id":14122110346,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"~=2.1.1","direct":true,"kind":"runtime","optional":false},{"id":14122110347,"package_name":"click","ecosystem":"pypi","requirements":"~=8.1.3","direct":true,"kind":"runtime","optional":false},{"id":14122110348,"package_name":"click-plugins","ecosystem":"pypi","requirements":"~=1.1.1","direct":true,"kind":"runtime","optional":false},{"id":14122110349,"package_name":"cligj","ecosystem":"pypi","requirements":"~=0.7.2","direct":true,"kind":"runtime","optional":false},{"id":14122110350,"package_name":"colorama","ecosystem":"pypi","requirements":"~=0.4.6","direct":true,"kind":"runtime","optional":false},{"id":14122110351,"package_name":"contourpy","ecosystem":"pypi","requirements":"~=1.0.7","direct":true,"kind":"runtime","optional":false},{"id":14122110352,"package_name":"cryptography","ecosystem":"pypi","requirements":"~=39.0.2","direct":true,"kind":"runtime","optional":false},{"id":14122110353,"package_name":"cycler","ecosystem":"pypi","requirements":"~=0.11.0","direct":true,"kind":"runtime","optional":false},{"id":14122110354,"package_name":"distlib","ecosystem":"pypi","requirements":"~=0.3.6","direct":true,"kind":"runtime","optional":false},{"id":14122110355,"package_name":"dnspython","ecosystem":"pypi","requirements":"~=2.3.0","direct":true,"kind":"runtime","optional":false},{"id":14122110356,"package_name":"filelock","ecosystem":"pypi","requirements":"~=3.10.3","direct":true,"kind":"runtime","optional":false},{"id":14122110357,"package_name":"fiona","ecosystem":"pypi","requirements":"~=1.9.2","direct":true,"kind":"runtime","optional":false},{"id":14122110360,"package_name":"flask","ecosystem":"pypi","requirements":"~=2.0.3","direct":true,"kind":"runtime","optional":false},{"id":14122110361,"package_name":"flask-cors","ecosystem":"pypi","requirements":"~=3.0.10","direct":true,"kind":"runtime","optional":false},{"id":14122110362,"package_name":"flask-mail","ecosystem":"pypi","requirements":"~=0.9.1","direct":true,"kind":"runtime","optional":false},{"id":14122110364,"package_name":"flask-restful","ecosystem":"pypi","requirements":"~=0.3.9","direct":true,"kind":"runtime","optional":false},{"id":14122110368,"package_name":"flask-restx","ecosystem":"pypi","requirements":"~=0.5.1","direct":true,"kind":"runtime","optional":false},{"id":14122110369,"package_name":"folium","ecosystem":"pypi","requirements":"~=0.14.0","direct":true,"kind":"runtime","optional":false},{"id":14122110370,"package_name":"fonttools","ecosystem":"pypi","requirements":"~=4.39.2","direct":true,"kind":"runtime","optional":false},{"id":14122110371,"package_name":"forex-python","ecosystem":"pypi","requirements":"~=1.8","direct":true,"kind":"runtime","optional":false},{"id":14122110374,"package_name":"frozenlist","ecosystem":"pypi","requirements":"~=1.3.3","direct":true,"kind":"runtime","optional":false},{"id":14122110375,"package_name":"geoalchemy2","ecosystem":"pypi","requirements":"~=0.13.1","direct":true,"kind":"runtime","optional":false},{"id":14122110377,"package_name":"geopandas","ecosystem":"pypi","requirements":"~=0.12.2","direct":true,"kind":"runtime","optional":false},{"id":14122110379,"package_name":"google-api-core","ecosystem":"pypi","requirements":"~=1.34.0","direct":true,"kind":"runtime","optional":false},{"id":14122110380,"package_name":"google-auth","ecosystem":"pypi","requirements":"~=2.16.3","direct":true,"kind":"runtime","optional":false},{"id":14122110381,"package_name":"google-cloud-core","ecosystem":"pypi","requirements":"~=2.3.2","direct":true,"kind":"runtime","optional":false},{"id":14122110382,"package_name":"google-cloud-secret-manager","ecosystem":"pypi","requirements":"~=1.0.0","direct":true,"kind":"runtime","optional":false},{"id":14122110383,"package_name":"google-cloud-storage","ecosystem":"pypi","requirements":"~=2.8.0","direct":true,"kind":"runtime","optional":false},{"id":14122110384,"package_name":"google-crc32c","ecosystem":"pypi","requirements":"~=1.1.2","direct":true,"kind":"runtime","optional":false},{"id":14122110385,"package_name":"google-resumable-media","ecosystem":"pypi","requirements":"~=2.4.1","direct":true,"kind":"runtime","optional":false},{"id":14122110386,"package_name":"googleapis-common-protos","ecosystem":"pypi","requirements":"~=1.57.1","direct":true,"kind":"runtime","optional":false},{"id":14122110387,"package_name":"greenlet","ecosystem":"pypi","requirements":"~=2.0.2","direct":true,"kind":"runtime","optional":false},{"id":14122110388,"package_name":"grpc-google-iam-v1","ecosystem":"pypi","requirements":"~=0.12.6","direct":true,"kind":"runtime","optional":false},{"id":14122110389,"package_name":"grpcio","ecosystem":"pypi","requirements":"~=1.48.1","direct":true,"kind":"runtime","optional":false},{"id":14122110390,"package_name":"gunicorn","ecosystem":"pypi","requirements":"~=20.1.0","direct":true,"kind":"runtime","optional":false},{"id":14122110391,"package_name":"identify","ecosystem":"pypi","requirements":"~=2.5.21","direct":true,"kind":"runtime","optional":false},{"id":14122110392,"package_name":"idna","ecosystem":"pypi","requirements":"~=3.4","direct":true,"kind":"runtime","optional":false},{"id":14122110393,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"~=6.1.0","direct":true,"kind":"runtime","optional":false},{"id":14122110394,"package_name":"importlib-resources","ecosystem":"pypi","requirements":"~=5.12.0","direct":true,"kind":"runtime","optional":false},{"id":14122110395,"package_name":"iniconfig","ecosystem":"pypi","requirements":"~=2.0.0","direct":true,"kind":"runtime","optional":false},{"id":14122110396,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"~=2.1.2","direct":true,"kind":"runtime","optional":false},{"id":14122110397,"package_name":"jinja2","ecosystem":"pypi","requirements":"~=3.1.2","direct":true,"kind":"runtime","optional":false},{"id":14122110398,"package_name":"joblib","ecosystem":"pypi","requirements":"~=1.2.0","direct":true,"kind":"runtime","optional":false},{"id":14122110399,"package_name":"jsonschema","ecosystem":"pypi","requirements":"~=4.17.3","direct":true,"kind":"runtime","optional":false},{"id":14122110400,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"~=1.4.4","direct":true,"kind":"runtime","optional":false},{"id":14122110401,"package_name":"kpler.sdk","ecosystem":"pypi","requirements":"~=1.0.29","direct":true,"kind":"runtime","optional":false},{"id":14122110404,"package_name":"mapclassify","ecosystem":"pypi","requirements":"~=2.5.0","direct":true,"kind":"runtime","optional":false},{"id":14122110407,"package_name":"markupsafe","ecosystem":"pypi","requirements":"~=2.1.2","direct":true,"kind":"runtime","optional":false},{"id":14122110408,"package_name":"matplotlib","ecosystem":"pypi","requirements":"~=3.7.1","direct":true,"kind":"runtime","optional":false},{"id":14122110409,"package_name":"multidict","ecosystem":"pypi","requirements":"~=6.0.4","direct":true,"kind":"runtime","optional":false},{"id":14122110410,"package_name":"munch","ecosystem":"pypi","requirements":"~=2.5.0","direct":true,"kind":"runtime","optional":false},{"id":14122110411,"package_name":"munkres","ecosystem":"pypi","requirements":"~=1.1.4","direct":true,"kind":"runtime","optional":false},{"id":14122110412,"package_name":"networkx","ecosystem":"pypi","requirements":"~=3.0","direct":true,"kind":"runtime","optional":false},{"id":14122110413,"package_name":"nodeenv","ecosystem":"pypi","requirements":"~=1.7.0","direct":true,"kind":"runtime","optional":false},{"id":14122110414,"package_name":"numpy","ecosystem":"pypi","requirements":"~=1.24.2","direct":true,"kind":"runtime","optional":false},{"id":14122110415,"package_name":"packaging","ecosystem":"pypi","requirements":"~=23.0","direct":true,"kind":"runtime","optional":false},{"id":14122110416,"package_name":"pandas","ecosystem":"pypi","requirements":"~=1.4.2","direct":true,"kind":"runtime","optional":false},{"id":14122110417,"package_name":"pillow","ecosystem":"pypi","requirements":"~=9.4.0","direct":true,"kind":"runtime","optional":false},{"id":14122110418,"package_name":"pkgutil-resolve-name","ecosystem":"pypi","requirements":"~=1.3.10","direct":true,"kind":"runtime","optional":false},{"id":14122110419,"package_name":"platformdirs","ecosystem":"pypi","requirements":"~=3.1.1","direct":true,"kind":"runtime","optional":false},{"id":14122110420,"package_name":"pluggy","ecosystem":"pypi","requirements":"~=1.0.0","direct":true,"kind":"runtime","optional":false},{"id":14122110421,"package_name":"pooch","ecosystem":"pypi","requirements":"~=1.7.0","direct":true,"kind":"runtime","optional":false},{"id":14122110422,"package_name":"pre-commit","ecosystem":"pypi","requirements":"~=3.2.1","direct":true,"kind":"runtime","optional":false},{"id":14122110423,"package_name":"proto-plus","ecosystem":"pypi","requirements":"~=1.22.2","direct":true,"kind":"runtime","optional":false},{"id":14122110424,"package_name":"protobuf","ecosystem":"pypi","requirements":"~=3.20.2","direct":true,"kind":"runtime","optional":false},{"id":14122110425,"package_name":"psycopg2","ecosystem":"pypi","requirements":"~=2.9.3","direct":true,"kind":"runtime","optional":false},{"id":14122110426,"package_name":"py","ecosystem":"pypi","requirements":"~=1.11.0","direct":true,"kind":"runtime","optional":false},{"id":14122110427,"package_name":"pyasn1","ecosystem":"pypi","requirements":"~=0.4.8","direct":true,"kind":"runtime","optional":false},{"id":14122110428,"package_name":"pyasn1-modules","ecosystem":"pypi","requirements":"~=0.2.7","direct":true,"kind":"runtime","optional":false},{"id":14122110429,"package_name":"pycparser","ecosystem":"pypi","requirements":"~=2.21","direct":true,"kind":"runtime","optional":false},{"id":14122110430,"package_name":"pymongo","ecosystem":"pypi","requirements":"~=4.0.2","direct":true,"kind":"runtime","optional":false},{"id":14122110431,"package_name":"pyopenssl","ecosystem":"pypi","requirements":"~=23.1.0","direct":true,"kind":"runtime","optional":false},{"id":14122110432,"package_name":"pyparsing","ecosystem":"pypi","requirements":"~=3.0.9","direct":true,"kind":"runtime","optional":false},{"id":14122110433,"package_name":"pyproj","ecosystem":"pypi","requirements":"~=3.4.1","direct":true,"kind":"runtime","optional":false},{"id":14122110434,"package_name":"pyrsistent","ecosystem":"pypi","requirements":"~=0.19.3","direct":true,"kind":"runtime","optional":false},{"id":14122110435,"package_name":"pysocks","ecosystem":"pypi","requirements":"~=1.7.1","direct":true,"kind":"runtime","optional":false},{"id":14122110436,"package_name":"pytest","ecosystem":"pypi","requirements":"~=7.0.1","direct":true,"kind":"runtime","optional":false},{"id":14122110437,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"~=2.8.2","direct":true,"kind":"runtime","optional":false},{"id":14122110438,"package_name":"python-decouple","ecosystem":"pypi","requirements":"~=3.8","direct":true,"kind":"runtime","optional":false},{"id":14122110439,"package_name":"pytz","ecosystem":"pypi","requirements":"~=2022.7.1","direct":true,"kind":"runtime","optional":false},{"id":14122110440,"package_name":"pyu2f","ecosystem":"pypi","requirements":"~=0.1.5","direct":true,"kind":"runtime","optional":false},{"id":14122110441,"package_name":"pyyaml","ecosystem":"pypi","requirements":"~=6.0","direct":true,"kind":"runtime","optional":false},{"id":14122110442,"package_name":"requests","ecosystem":"pypi","requirements":"~=2.28.2","direct":true,"kind":"runtime","optional":false},{"id":14122110443,"package_name":"rsa","ecosystem":"pypi","requirements":"~=4.9","direct":true,"kind":"runtime","optional":false},{"id":14122110444,"package_name":"rtree","ecosystem":"pypi","requirements":"~=1.0.1","direct":true,"kind":"runtime","optional":false},{"id":14122110445,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"~=1.2.2","direct":true,"kind":"runtime","optional":false},{"id":14122110446,"package_name":"scipy","ecosystem":"pypi","requirements":"~=1.10.1","direct":true,"kind":"runtime","optional":false},{"id":14122110447,"package_name":"shapely","ecosystem":"pypi","requirements":"~=2.0.1","direct":true,"kind":"runtime","optional":false},{"id":14122110448,"package_name":"simplejson","ecosystem":"pypi","requirements":"~=3.18.4","direct":true,"kind":"runtime","optional":false},{"id":14122110449,"package_name":"six","ecosystem":"pypi","requirements":"~=1.16.0","direct":true,"kind":"runtime","optional":false},{"id":14122110450,"package_name":"slack-logger","ecosystem":"pypi","requirements":"~=0.3.1","direct":true,"kind":"runtime","optional":false},{"id":14122110460,"package_name":"slack-sdk","ecosystem":"pypi","requirements":"~=3.20.2","direct":true,"kind":"runtime","optional":false},{"id":14122110461,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"~=1.4.34","direct":true,"kind":"runtime","optional":false},{"id":14122110462,"package_name":"threadpoolctl","ecosystem":"pypi","requirements":"~=3.1.0","direct":true,"kind":"runtime","optional":false},{"id":14122110463,"package_name":"tomli","ecosystem":"pypi","requirements":"~=2.0.1","direct":true,"kind":"runtime","optional":false},{"id":14122110464,"package_name":"tqdm","ecosystem":"pypi","requirements":"~=4.65.0","direct":true,"kind":"runtime","optional":false},{"id":14122110465,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"~=4.5.0","direct":true,"kind":"runtime","optional":false},{"id":14122110466,"package_name":"ukkonen","ecosystem":"pypi","requirements":"~=1.0.1","direct":true,"kind":"runtime","optional":false},{"id":14122110482,"package_name":"unicodedata2","ecosystem":"pypi","requirements":"~=15.0.0","direct":true,"kind":"runtime","optional":false},{"id":14122110483,"package_name":"urllib3","ecosystem":"pypi","requirements":"~=1.26.15","direct":true,"kind":"runtime","optional":false},{"id":14122110484,"package_name":"virtualenv","ecosystem":"pypi","requirements":"~=20.21.0","direct":true,"kind":"runtime","optional":false},{"id":14122110485,"package_name":"werkzeug","ecosystem":"pypi","requirements":"~=2.0.3","direct":true,"kind":"runtime","optional":false},{"id":14122110486,"package_name":"xyzservices","ecosystem":"pypi","requirements":"~=2023.2.0","direct":true,"kind":"runtime","optional":false},{"id":14122110487,"package_name":"yarl","ecosystem":"pypi","requirements":"~=1.8.2","direct":true,"kind":"runtime","optional":false},{"id":14122110488,"package_name":"zipp","ecosystem":"pypi","requirements":"~=3.15.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"api/Pipfile.lock","sha":null,"kind":"lockfile","created_at":"2023-10-05T16:29:49.054Z","updated_at":"2023-10-05T16:29:49.054Z","repository_link":"https://github.com/energyandcleanair/fossil_shipment_tracker/blob/master/api/Pipfile.lock","dependencies":[{"id":14122110504,"package_name":"aiohttp","ecosystem":"pypi","requirements":"==3.8.5","direct":false,"kind":"runtime","optional":false},{"id":14122110505,"package_name":"aiosignal","ecosystem":"pypi","requirements":"==1.3.1","direct":false,"kind":"runtime","optional":false},{"id":14122110506,"package_name":"aniso8601","ecosystem":"pypi","requirements":"==9.0.1","direct":false,"kind":"runtime","optional":false},{"id":14122110507,"package_name":"async-timeout","ecosystem":"pypi","requirements":"==4.0.3","direct":false,"kind":"runtime","optional":false},{"id":14122110508,"package_name":"attrs","ecosystem":"pypi","requirements":"==22.2.0","direct":false,"kind":"runtime","optional":false},{"id":14122110509,"package_name":"blinker","ecosystem":"pypi","requirements":"==1.6.2","direct":false,"kind":"runtime","optional":false},{"id":14122110510,"package_name":"branca","ecosystem":"pypi","requirements":"==0.6.0","direct":false,"kind":"runtime","optional":false},{"id":14122110511,"package_name":"brotlipy","ecosystem":"pypi","requirements":"==0.7.0","direct":false,"kind":"runtime","optional":false},{"id":14122110512,"package_name":"cachetools","ecosystem":"pypi","requirements":"==5.3.1","direct":false,"kind":"runtime","optional":false},{"id":14122110513,"package_name":"certifi","ecosystem":"pypi","requirements":"==2022.12.7","direct":false,"kind":"runtime","optional":false},{"id":14122110514,"package_name":"cffi","ecosystem":"pypi","requirements":"==1.15.1","direct":false,"kind":"runtime","optional":false},{"id":14122110515,"package_name":"cfgv","ecosystem":"pypi","requirements":"==3.3.1","direct":false,"kind":"runtime","optional":false},{"id":14122110516,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==2.1.1","direct":false,"kind":"runtime","optional":false},{"id":14122110517,"package_name":"click","ecosystem":"pypi","requirements":"==8.1.7","direct":false,"kind":"runtime","optional":false},{"id":14122110518,"package_name":"click-plugins","ecosystem":"pypi","requirements":"==1.1.1","direct":false,"kind":"runtime","optional":false},{"id":14122110519,"package_name":"cligj","ecosystem":"pypi","requirements":"==0.7.2","direct":false,"kind":"runtime","optional":false},{"id":14122110520,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.6","direct":false,"kind":"runtime","optional":false},{"id":14122110521,"package_name":"contourpy","ecosystem":"pypi","requirements":"==1.0.7","direct":false,"kind":"runtime","optional":false},{"id":14122110522,"package_name":"cryptography","ecosystem":"pypi","requirements":"==39.0.2","direct":false,"kind":"runtime","optional":false},{"id":14122110523,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.11.0","direct":false,"kind":"runtime","optional":false},{"id":14122110524,"package_name":"distlib","ecosystem":"pypi","requirements":"==0.3.7","direct":false,"kind":"runtime","optional":false},{"id":14122110525,"package_name":"dnspython","ecosystem":"pypi","requirements":"==2.3.0","direct":false,"kind":"runtime","optional":false},{"id":14122110526,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.10.7","direct":false,"kind":"runtime","optional":false},{"id":14122110527,"package_name":"fiona","ecosystem":"pypi","requirements":"==1.9.4.post1","direct":false,"kind":"runtime","optional":false},{"id":14122110528,"package_name":"flask","ecosystem":"pypi","requirements":"==2.0.3","direct":false,"kind":"runtime","optional":false},{"id":14122110529,"package_name":"flask-cors","ecosystem":"pypi","requirements":"==3.0.10","direct":false,"kind":"runtime","optional":false},{"id":14122110530,"package_name":"flask-mail","ecosystem":"pypi","requirements":"==0.9.1","direct":false,"kind":"runtime","optional":false},{"id":14122110531,"package_name":"flask-restful","ecosystem":"pypi","requirements":"==0.3.10","direct":false,"kind":"runtime","optional":false},{"id":14122110532,"package_name":"flask-restx","ecosystem":"pypi","requirements":"==0.5.1","direct":false,"kind":"runtime","optional":false},{"id":14122110533,"package_name":"folium","ecosystem":"pypi","requirements":"==0.14.0","direct":false,"kind":"runtime","optional":false},{"id":14122110534,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.39.4","direct":false,"kind":"runtime","optional":false},{"id":14122110535,"package_name":"forex-python","ecosystem":"pypi","requirements":"==1.8","direct":false,"kind":"runtime","optional":false},{"id":14122110536,"package_name":"frozenlist","ecosystem":"pypi","requirements":"==1.3.3","direct":false,"kind":"runtime","optional":false},{"id":14122110538,"package_name":"geoalchemy2","ecosystem":"pypi","requirements":"==0.13.3","direct":false,"kind":"runtime","optional":false},{"id":14122110539,"package_name":"geopandas","ecosystem":"pypi","requirements":"==0.12.2","direct":false,"kind":"runtime","optional":false},{"id":14122110540,"package_name":"google-api-core","ecosystem":"pypi","requirements":"==1.34.0","direct":false,"kind":"runtime","optional":false},{"id":14122110542,"package_name":"google-auth","ecosystem":"pypi","requirements":"==2.16.3","direct":false,"kind":"runtime","optional":false},{"id":14122110543,"package_name":"google-cloud-core","ecosystem":"pypi","requirements":"==2.3.3","direct":false,"kind":"runtime","optional":false},{"id":14122110545,"package_name":"google-cloud-secret-manager","ecosystem":"pypi","requirements":"==1.0.2","direct":false,"kind":"runtime","optional":false},{"id":14122110546,"package_name":"google-cloud-storage","ecosystem":"pypi","requirements":"==2.8.0","direct":false,"kind":"runtime","optional":false},{"id":14122110548,"package_name":"google-crc32c","ecosystem":"pypi","requirements":"==1.1.5","direct":false,"kind":"runtime","optional":false},{"id":14122110549,"package_name":"google-resumable-media","ecosystem":"pypi","requirements":"==2.4.1","direct":false,"kind":"runtime","optional":false},{"id":14122110550,"package_name":"googleapis-common-protos","ecosystem":"pypi","requirements":"==1.57.1","direct":false,"kind":"runtime","optional":false},{"id":14122110551,"package_name":"greenlet","ecosystem":"pypi","requirements":"==2.0.2","direct":false,"kind":"runtime","optional":false},{"id":14122110552,"package_name":"grpc-google-iam-v1","ecosystem":"pypi","requirements":"==0.12.6","direct":false,"kind":"runtime","optional":false},{"id":14122110553,"package_name":"grpcio","ecosystem":"pypi","requirements":"==1.48.2","direct":false,"kind":"runtime","optional":false},{"id":14122110554,"package_name":"grpcio-status","ecosystem":"pypi","requirements":"==1.48.2","direct":false,"kind":"runtime","optional":false},{"id":14122110555,"package_name":"gunicorn","ecosystem":"pypi","requirements":"==20.1.0","direct":false,"kind":"runtime","optional":false},{"id":14122110556,"package_name":"identify","ecosystem":"pypi","requirements":"==2.5.27","direct":false,"kind":"runtime","optional":false},{"id":14122110557,"package_name":"idna","ecosystem":"pypi","requirements":"==3.4","direct":false,"kind":"runtime","optional":false},{"id":14122110558,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==6.1.0","direct":false,"kind":"runtime","optional":false},{"id":14122110559,"package_name":"importlib-resources","ecosystem":"pypi","requirements":"==5.12.0","direct":false,"kind":"runtime","optional":false},{"id":14122110560,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"runtime","optional":false},{"id":14122110561,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==2.1.2","direct":false,"kind":"runtime","optional":false},{"id":14122110562,"package_name":"jinja2","ecosystem":"pypi","requirements":"==3.1.2","direct":false,"kind":"runtime","optional":false},{"id":14122110563,"package_name":"joblib","ecosystem":"pypi","requirements":"==1.2.0","direct":false,"kind":"runtime","optional":false},{"id":14122110564,"package_name":"jsonschema","ecosystem":"pypi","requirements":"==4.17.3","direct":false,"kind":"runtime","optional":false},{"id":14122110565,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.4.5","direct":false,"kind":"runtime","optional":false},{"id":14122110566,"package_name":"kpler.sdk","ecosystem":"pypi","requirements":"==1.0.36","direct":false,"kind":"runtime","optional":false},{"id":14122110567,"package_name":"mapclassify","ecosystem":"pypi","requirements":"==2.5.0","direct":false,"kind":"runtime","optional":false},{"id":14122110568,"package_name":"markupsafe","ecosystem":"pypi","requirements":"==2.1.3","direct":false,"kind":"runtime","optional":false},{"id":14122110569,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.7.2","direct":false,"kind":"runtime","optional":false},{"id":14122110570,"package_name":"multidict","ecosystem":"pypi","requirements":"==6.0.4","direct":false,"kind":"runtime","optional":false},{"id":14122110571,"package_name":"munch","ecosystem":"pypi","requirements":"==2.5.0","direct":false,"kind":"runtime","optional":false},{"id":14122110572,"package_name":"munkres","ecosystem":"pypi","requirements":"==1.1.4","direct":false,"kind":"runtime","optional":false},{"id":14122110573,"package_name":"networkx","ecosystem":"pypi","requirements":"==3.1","direct":false,"kind":"runtime","optional":false},{"id":14122110574,"package_name":"nodeenv","ecosystem":"pypi","requirements":"==1.7.0","direct":false,"kind":"runtime","optional":false},{"id":14122110575,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.24.4","direct":false,"kind":"runtime","optional":false},{"id":14122110576,"package_name":"packaging","ecosystem":"pypi","requirements":"==23.1","direct":false,"kind":"runtime","optional":false},{"id":14122110577,"package_name":"pandas","ecosystem":"pypi","requirements":"==1.4.4","direct":false,"kind":"runtime","optional":false},{"id":14122110578,"package_name":"pillow","ecosystem":"pypi","requirements":"==9.4.0","direct":false,"kind":"runtime","optional":false},{"id":14122110579,"package_name":"pkgutil-resolve-name","ecosystem":"pypi","requirements":"==1.3.10","direct":false,"kind":"runtime","optional":false},{"id":14122110580,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==3.1.1","direct":false,"kind":"runtime","optional":false},{"id":14122110581,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.0.0","direct":false,"kind":"runtime","optional":false},{"id":14122110582,"package_name":"pooch","ecosystem":"pypi","requirements":"==1.7.0","direct":false,"kind":"runtime","optional":false},{"id":14122110583,"package_name":"pre-commit","ecosystem":"pypi","requirements":"==3.2.2","direct":false,"kind":"runtime","optional":false},{"id":14122110584,"package_name":"proto-plus","ecosystem":"pypi","requirements":"==1.22.3","direct":false,"kind":"runtime","optional":false},{"id":14122110585,"package_name":"protobuf","ecosystem":"pypi","requirements":"==3.20.3","direct":false,"kind":"runtime","optional":false},{"id":14122110586,"package_name":"psycopg2","ecosystem":"pypi","requirements":"==2.9.7","direct":false,"kind":"runtime","optional":false},{"id":14122110587,"package_name":"py","ecosystem":"pypi","requirements":"==1.11.0","direct":false,"kind":"runtime","optional":false},{"id":14122110588,"package_name":"pyasn1","ecosystem":"pypi","requirements":"==0.4.8","direct":false,"kind":"runtime","optional":false},{"id":14122110589,"package_name":"pyasn1-modules","ecosystem":"pypi","requirements":"==0.2.8","direct":false,"kind":"runtime","optional":false},{"id":14122110590,"package_name":"pycparser","ecosystem":"pypi","requirements":"==2.21","direct":false,"kind":"runtime","optional":false},{"id":14122110591,"package_name":"pymongo","ecosystem":"pypi","requirements":"==4.0.2","direct":false,"kind":"runtime","optional":false},{"id":14122110592,"package_name":"pyopenssl","ecosystem":"pypi","requirements":"==23.1.1","direct":false,"kind":"runtime","optional":false},{"id":14122110593,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.0.9","direct":false,"kind":"runtime","optional":false},{"id":14122110594,"package_name":"pyproj","ecosystem":"pypi","requirements":"==3.4.1","direct":false,"kind":"runtime","optional":false},{"id":14122110595,"package_name":"pyrsistent","ecosystem":"pypi","requirements":"==0.19.3","direct":false,"kind":"runtime","optional":false},{"id":14122110596,"package_name":"pysocks","ecosystem":"pypi","requirements":"==1.7.1","direct":false,"kind":"runtime","optional":false},{"id":14122110597,"package_name":"pytest","ecosystem":"pypi","requirements":"==7.0.1","direct":false,"kind":"runtime","optional":false},{"id":14122110598,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.2","direct":false,"kind":"runtime","optional":false},{"id":14122110599,"package_name":"python-decouple","ecosystem":"pypi","requirements":"==3.8","direct":false,"kind":"runtime","optional":false},{"id":14122110600,"package_name":"pytz","ecosystem":"pypi","requirements":"==2022.7.1","direct":false,"kind":"runtime","optional":false},{"id":14122110601,"package_name":"pyu2f","ecosystem":"pypi","requirements":"==0.1.5","direct":false,"kind":"runtime","optional":false},{"id":14122110602,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0.1","direct":false,"kind":"runtime","optional":false},{"id":14122110603,"package_name":"requests","ecosystem":"pypi","requirements":"==2.28.2","direct":false,"kind":"runtime","optional":false},{"id":14122110604,"package_name":"rsa","ecosystem":"pypi","requirements":"==4.9","direct":false,"kind":"runtime","optional":false},{"id":14122110605,"package_name":"rtree","ecosystem":"pypi","requirements":"==1.0.1","direct":false,"kind":"runtime","optional":false},{"id":14122110606,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"==1.2.2","direct":false,"kind":"runtime","optional":false},{"id":14122110607,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.10.1","direct":false,"kind":"runtime","optional":false},{"id":14122110608,"package_name":"setuptools","ecosystem":"pypi","requirements":"==68.2.0","direct":false,"kind":"runtime","optional":false},{"id":14122110609,"package_name":"shapely","ecosystem":"pypi","requirements":"==2.0.1","direct":false,"kind":"runtime","optional":false},{"id":14122110610,"package_name":"simplejson","ecosystem":"pypi","requirements":"==3.18.4","direct":false,"kind":"runtime","optional":false},{"id":14122110611,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":false,"kind":"runtime","optional":false},{"id":14122110612,"package_name":"slack-logger","ecosystem":"pypi","requirements":"==0.3.1","direct":false,"kind":"runtime","optional":false},{"id":14122110613,"package_name":"slack-sdk","ecosystem":"pypi","requirements":"==3.20.2","direct":false,"kind":"runtime","optional":false},{"id":14122110614,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"==1.4.49","direct":false,"kind":"runtime","optional":false},{"id":14122110615,"package_name":"threadpoolctl","ecosystem":"pypi","requirements":"==3.1.0","direct":false,"kind":"runtime","optional":false},{"id":14122110616,"package_name":"tomli","ecosystem":"pypi","requirements":"==2.0.1","direct":false,"kind":"runtime","optional":false},{"id":14122110617,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.65.2","direct":false,"kind":"runtime","optional":false},{"id":14122110618,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.5.0","direct":false,"kind":"runtime","optional":false},{"id":14122110619,"package_name":"ukkonen","ecosystem":"pypi","requirements":"==1.0.1","direct":false,"kind":"runtime","optional":false},{"id":14122110620,"package_name":"unicodedata2","ecosystem":"pypi","requirements":"==15.0.0","direct":false,"kind":"runtime","optional":false},{"id":14122110621,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.26.16","direct":false,"kind":"runtime","optional":false},{"id":14122110622,"package_name":"virtualenv","ecosystem":"pypi","requirements":"==20.21.1","direct":false,"kind":"runtime","optional":false},{"id":14122110623,"package_name":"werkzeug","ecosystem":"pypi","requirements":"==2.0.3","direct":false,"kind":"runtime","optional":false},{"id":14122110624,"package_name":"xyzservices","ecosystem":"pypi","requirements":"==2023.2.0","direct":false,"kind":"runtime","optional":false},{"id":14122110625,"package_name":"yarl","ecosystem":"pypi","requirements":"==1.8.2","direct":false,"kind":"runtime","optional":false},{"id":14122110626,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.15.0","direct":false,"kind":"runtime","optional":false}]}],"score":4.248495242049359,"created_at":"2023-11-01T00:00:22.215Z","updated_at":"2025-11-20T03:30:16.692Z","avatar_url":"https://github.com/energyandcleanair.png","language":"HTML","category":"Emissions","sub_category":"Emission Observation and Modeling","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Fossil Shipment Tracker\n\nVisit tracker on [russiafossiltracker.com](https://russiafossiltracker.com).\n\nData is available through a dedicated API: [api.russiafossiltracker.com](https://api.russiafossiltracker.com).\n\n## Code\nThe code is split across two repositories:\n- [fossil_shipment_tracker](https://github.com/energyandcleanair/fossil_shipment_tracker)\n- [fossil_shipment_tracker_r](https://github.com/energyandcleanair/fossil_shipment_tracker_r)\n\n## Context\nFossil fuel exports are a key revenue source for Putin’s regime, and an important weak point in the sanctions imposed against Russia. Fossil fuel revenue accounts for a third of the Russian federal budget, with half of that coming from Europe. Exemptions have been made to banking and trade sanctions to enable payments for fossil fuels to continue, providing the regime with a continued flow of hard currency.\n\n## Purpose\nCreate a data platform that provides decision-makers (political, business, financial), journalists and campaigning organizations with information that helps identify fossil fuel shipments from Russia.\n\n## Deliverables\n- Daily tracking of the tonnage of fossil fuel shipments departing from Russian ports, by destination (reported by ship upon departure).\n- Identification of the shore facilities (handling terminal, refinery, power plant…) and the ownership and financiers of those facilities; identification of vessel owner, insurer etc. commercial ties\n- Daily tracking of pipelined oil and gas to Europe and China.\n\n## Methodology\nSee [methodology document](https://www.russiafossiltracker.com/methodology/).\n\n## How to contribute\nSend us an [email](mailto:hubert@energyandcleanair.org).\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["measurements","sanitation","control","training","featured","feature-flag","feature-toggle"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/128362","html_url":"https://ost.ecosyste.ms/projects/128362"}