{"id":303853,"name":"Private Jet Flights","description":"Track and quantify emissions of private jets.","url":"https://github.com/jorgecardleitao/private-jets","last_synced_at":"2026-04-11T08:01:02.364Z","repository":{"id":203809778,"uuid":"710297309","full_name":"jorgecardleitao/private-jets","owner":"jorgecardleitao","description":"Track and quantify emissions of private jets","archived":false,"fork":false,"pushed_at":"2026-03-06T15:27:40.000Z","size":359,"stargazers_count":44,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-01T03:41:10.631Z","etag":null,"topics":["private-jets"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jorgecardleitao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-26T12:18:33.000Z","updated_at":"2026-03-06T15:27:44.000Z","dependencies_parsed_at":"2026-03-15T19:01:16.719Z","dependency_job_id":null,"html_url":"https://github.com/jorgecardleitao/private-jets","commit_stats":null,"previous_names":["jorgecardleitao/private-jets-dk"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/jorgecardleitao/private-jets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgecardleitao%2Fprivate-jets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgecardleitao%2Fprivate-jets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgecardleitao%2Fprivate-jets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgecardleitao%2Fprivate-jets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jorgecardleitao","download_url":"https://codeload.github.com/jorgecardleitao/private-jets/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgecardleitao%2Fprivate-jets/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31424931,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T02:22:46.605Z","status":"ssl_error","status_checked_at":"2026-04-05T02:22:33.263Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"jorgecardleitao","name":null,"uuid":"149073281","kind":"user","description":null,"email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/149073281?v=4","repositories_count":1,"last_synced_at":"2023-10-26T19:35:30.762Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/jorgecardleitao","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-10-26T19:35:30.782Z","updated_at":"2023-10-26T19:35:30.782Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jorgecardleitao","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jorgecardleitao/repositories"},"packages":[],"commits":{"id":5748411,"full_name":"jorgecardleitao/private-jets","default_branch":"main","total_commits":82,"total_committers":3,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":27.333333333333332,"dds":0.09756097560975607,"past_year_total_commits":6,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":3.0,"past_year_dds":0.5,"last_synced_at":"2026-04-09T07:38:41.018Z","last_synced_commit":"17dabc0b446a63694c8e8c59b87a7badab2cf9a3","created_at":"2024-11-15T00:07:00.639Z","updated_at":"2026-04-09T07:38:41.005Z","committers":[{"name":"jorgecardleitao","email":"149073281+jorgecardleitao","login":"jorgecardleitao","count":74},{"name":"Jorge Leitao","email":"jorgecarleitao@gmail.com","login":"jorgecarleitao","count":7},{"name":"Milan Klöwer","email":"milankloewer@gmx.de","login":"milankl","count":1}],"past_year_committers":[{"name":"Jorge","email":"jorgecardleitao@gmail.com","login":"jorgecardleitao","count":3},{"name":"Jorge C. Leitao","email":"jorgecarleitao@gmail.com","login":"jorgecarleitao","count":3}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgecardleitao%2Fprivate-jets/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:23.197Z","repositories_count":6212633,"commits_count":905510291,"contributors_count":34962311,"owners_count":1143601,"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":"jorgecardleitao/private-jets","html_url":"https://github.com/jorgecardleitao/private-jets","last_synced_at":"2026-03-09T16:00:33.581Z","status":"error","issues_count":1,"pull_requests_count":122,"avg_time_to_close_issue":913401.0,"avg_time_to_close_pull_request":233406.81967213115,"issues_closed_count":1,"pull_requests_closed_count":122,"pull_request_authors_count":3,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.5737704918032787,"merged_pull_requests_count":119,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":143411.66666666666,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.6666666666666666,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"created_at":"2024-11-15T00:07:03.568Z","updated_at":"2026-03-09T16:00:33.581Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgecardleitao%2Fprivate-jets","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgecardleitao%2Fprivate-jets/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":1},"pull_request_author_associations_count":{"OWNER":119,"NONE":1,"CONTRIBUTOR":1,"COLLABORATOR":1},"issue_authors":{"marta-ov":1},"pull_request_authors":{"jorgecardleitao":119,"milankl":2,"jorgecarleitao":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-01T00:00:08.271Z","repositories_count":14026921,"issues_count":34562873,"pull_requests_count":113049162,"authors_count":11212919,"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":{"OWNER":2,"COLLABORATOR":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"jorgecardleitao":2,"jorgecarleitao":1},"maintainers":[{"login":"jorgecardleitao","count":119,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jorgecardleitao"},{"login":"jorgecarleitao","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jorgecarleitao"}],"active_maintainers":[{"login":"jorgecardleitao","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jorgecardleitao"},{"login":"jorgecarleitao","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jorgecarleitao"}]},"events":{"total":{"DeleteEvent":3,"PullRequestEvent":7,"ForkEvent":2,"WatchEvent":25,"IssueCommentEvent":5,"PushEvent":11,"CreateEvent":5},"last_year":{"DeleteEvent":1,"PullRequestEvent":1,"WatchEvent":2,"IssueCommentEvent":1,"PushEvent":5,"CreateEvent":2}},"keywords":["private-jets"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/test.yaml","sha":null,"kind":"manifest","created_at":"2026-03-15T19:01:15.884Z","updated_at":"2026-03-15T19:01:15.884Z","repository_link":"https://github.com/jorgecardleitao/private-jets/blob/main/.github/workflows/test.yaml","dependencies":[{"id":25839633201,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":25839633202,"package_name":"taiki-e/install-action","ecosystem":"actions","requirements":"cargo-llvm-cov","direct":true,"kind":"composite","optional":false},{"id":25839633205,"package_name":"Swatinem/rust-cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25839633206,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25839633207,"package_name":"rust-build/rust-build.action","ecosystem":"actions","requirements":"v1.4.5","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"cargo","filepath":"Cargo.toml","sha":null,"kind":"manifest","created_at":"2023-11-06T06:24:24.642Z","updated_at":"2023-11-06T06:24:24.642Z","repository_link":"https://github.com/jorgecardleitao/private-jets/blob/main/Cargo.toml","dependencies":[]}],"score":4.882801922586371,"created_at":"2024-11-15T00:06:54.230Z","updated_at":"2026-04-11T08:01:02.366Z","avatar_url":"https://github.com/jorgecardleitao.png","language":"Rust","category":"Emissions","sub_category":"Emission Observation and Modeling","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Private jet flights\n[![Test](https://github.com/jorgecardleitao/private-jets/actions/workflows/test.yaml/badge.svg)](https://github.com/jorgecardleitao/private-jets/actions/workflows/test.yaml)\n[![Coverage](https://codecov.io/gh/jorgecardleitao/private-jets/graph/badge.svg?token=DT7C376OKH)](https://codecov.io/gh/jorgecardleitao/private-jets)\n\nThis repository contains a CLI application to analyze flights of private jets.\n\nIt is supported by an S3 Blob storage container for caching data, thereby\nreducing its impact to [https://adsbexchange.com/](https://adsbexchange.com/).\n\nIt resulted in a scientific publication in [Communications Earth \u0026 Environment paper](https://www.nature.com/articles/s43247-024-01775-z),\nand a bunch of press about it:\n\n* [Financial Times](https://www.ft.com/content/13a89ac6-6fa8-4e17-9ef2-698d20b657a7)\n* [Associated Press](https://apnews.com/article/climate-change-private-jets-wealthy-carbon-pollution-0a2d1d2cd81906381953346bfdb879e8)\n* [The Guardian](https://www.theguardian.com/world/2024/nov/07/used-like-taxis-soaring-private-jet-flights-drive-up-climate-heating-emissions)\n* [BBC](https://www.bbc.com/news/articles/cx2lvq4el5vo)\n* [The Times](https://www.thetimes.com/uk/environment/article/celebrity-private-jets-co2-emissions-5gmvgncrl)\n* [Der Spiegel](https://www.spiegel.de/wissenschaft/natur/luftverkehr-und-umweltschutz-co2-ausstoss-durch-privatjets-steigt-deutlich-a-586077c4-cec1-4437-ac03-bb4c09d437bc)\n* [National Geographic](https://www.nationalgeographic.com/environment/article/private-jet-flights-climate-change)\n* [New Scientist](https://www.newscientist.com/article/2455196-carbon-emissions-from-private-jets-have-exploded-in-recent-years/)\n* [Nature News](https://www.nature.com/articles/d41586-024-03687-6)\n* [AOL](https://www.aol.com/ultra-rich-using-jets-taxis-163749747.html?guccounter=1)\n* [Lufkin Daily News](https://lufkindailynews.com/anpa/us/carbon-pollution-from-high-flying-rich-in-private-jets-soars/article_ac190bb5-4f01-5d04-8f87-25bd49778d9a.html)\n* [AFR](https://www.afr.com/companies/transport/private-jet-use-jumps-and-so-do-emissions-even-to-a-climate-summit-20241106-p5ko9s)\n* [Los Angeles Times](https://www.latimes.com/environment/story/2024-11-07/co2-emissions-from-private-jets-are-skyrocketing)\n* [Castanet](https://www.castanet.net/news/World/516129/Carbon-pollution-from-high-flying-rich-in-private-jets-soars)\n* [Salzburger NachrichtenSalzburger](https://www.sn.at/wirtschaft/welt/co2-ausstoss-privatjets-168073786)\n* [Exame](https://exame.com/mundo/por-que-o-uso-de-jatos-privados-aumenta-a-cada-ano-nos-eua/)\n* [Jornal de noticias](https://www.jn.pt/2662184499/emissoes-anuais-de-dioxido-de-carbono-da-aviacao-privada-aumentaram-46-entre-2019-e-2023)\n* [Publico](https://www.publico.pt/2024/11/07/azul/noticia/emissoes-co2-aviacao-privada-crescem-necessario-limitar-elite-rica-investigador-2110848)\n* [Tempo](https://www.tempo.pt/noticias/ciencia/cientistas-avaliaram-a-contribuicao-da-aviacao-particular-no-aumento-de-dioxido-de-carbono-na-atmosfera.html)\n* [pplware](https://pplware.sapo.pt/motores/emissoes-dos-jatos-privados-aumentaram-quase-50-nesta-decada/)\n* [Folha de São Paulo](https://www1.folha.uol.com.br/mercado/2024/11/emissoes-de-carbono-por-jatinhos-crescem-quase-50-em-4-anos-incluindo-viagens-para-eventos-sobre-clima.shtml)\n* [Globo](https://gq.globo.com/um-so-planeta/noticia/2024/11/poluicao-causada-jatinhos-particulares-cresceu-quase-50percent-em-4-anos.ghtml)\n* [AVV](https://avv.pt/os-jatos-particulares-emitem-tanto-co2-em-uma-hora-quanto-uma-pessoa-em-toda-a-sua-vida/)\n* [Morning Sun](https://www.morningsun.net/stories/carbon-pollution-from-high-flying-rich-in-private-jets-soars,161703)\n* [Kurier](https://kurier.at/wirtschaft/privatjet-flugzeug-fliegen-co2-ausstoss-klimawandel/402972225)\n* [The Straits Times](https://www.straitstimes.com/world/europe/private-jet-carbon-emissions-soar-46-study-shows)\n* [IFL Science](https://www.iflscience.com/private-jet-carbon-emissions-surge-by-46-percent-in-just-four-years-76695)\n* [Daily Mail](https://www.dailymail.co.uk/sciencetech/article-14054663/Carbon-emissions-private-jets-increased.html)\n* [The Mountaineer](https://www.themountaineer.com/news/national/private-jet-carbon-emissions-soar-46-study/article_07d110ba-5e51-5e9c-81da-3d24d6e57e3a.html)\n\n## How to use the data\n\nThe data is available in an https/s3 endpoint. See [analysis.sql](./analysis.sql) for an example of how to use it (in [duckdb SQL](https://duckdb.org/docs/sql/introduction.html)).\n\n```bash\npip install duckdb\n\npython3 run_sql.py analysis.sql\n```\n\nSee [`methodology.md`](./methodology.md) for details of the full methodology and where data is available for consumption at different levels\nof aggregations.\n\n## Contributing\n\n### Risk and impact\n\nThis code performs API calls to [https://adsbexchange.com/](https://adsbexchange.com/),\na production website of a company.\n\n**Use critical thinking** when using this code and how it impacts them.\n\nWe strongly recommend that if you plan to perform large scale analysis (e.g. in time or aircrafts),\nthat you reach out via an issue _before_, so that we can work together\nto cache all hits to [https://adsbexchange.com/](https://adsbexchange.com/)\non an horizontally scaled remote storage and therefore remove its impact to adsbexchange.com\nof future calls.\n\nAll cached data is available on S3 blob storage at endpoint\n\n\u003e `https://private-jets.fra1.digitaloceanspaces.com`\n\nand has anonymous and public read permissions. See [`methodology.md`](./methodology.md) for details.\n\n### How to use\n\n1. Install Rust\n2. run `cargo run --features=\"build-binary\" --release --bin etl_aircrafts`\n3. open `database/aircraft/db/date=\u003ctoday date\u003e/data.csv`\n\nStep 2. has an optional arguments, `--access-key`, `--secret-access-key`, specifying\ncredentials to write to the remote storate, as opposed to disk.\n\nIn general:\n\n* Use the default parameters when creating ad-hoc stories\n* Use `--access-key` when improving the database with new data.\n\nAs of today, the flag `--access-key` is only available to the owner,\nas writing to the blob storage must be done through a controlled code base that preserves data integrity.\n\n### Examples\n\n* [run.sh](run.sh)\n\n## Licence\n\nMIT, see LICENSE.md\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/303853","html_url":"https://ost.ecosyste.ms/projects/303853"}