{"id":13949067,"url":"https://github.com/jsynowiec/airqmon","last_synced_at":"2025-08-22T22:34:23.336Z","repository":{"id":43217923,"uuid":"110969407","full_name":"jsynowiec/airqmon","owner":"jsynowiec","description":"A macOS menu bar application that displays live air quality data from the nearest sensor station.","archived":false,"fork":false,"pushed_at":"2023-03-20T07:51:12.000Z","size":2837,"stargazers_count":98,"open_issues_count":0,"forks_count":12,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-05-22T13:14:54.540Z","etag":null,"topics":["air-pollution","air-quality","air-quality-monitor","airly","electron","graphql","macos","macos-menubar","poland","react","sensor-station","smog","typescript"],"latest_commit_sha":null,"homepage":"https://jsynowiec.github.io/airqmon/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jsynowiec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":["jsynowiec"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2017-11-16T12:34:38.000Z","updated_at":"2024-05-20T14:09:35.000Z","dependencies_parsed_at":"2023-09-21T19:12:48.580Z","dependency_job_id":"c1f579f8-2218-4bd3-baf9-bf719807a734","html_url":"https://github.com/jsynowiec/airqmon","commit_stats":{"total_commits":423,"total_committers":6,"mean_commits":70.5,"dds":0.1229314420803782,"last_synced_commit":"27da56c54b33c8f7cd6f9c8aaa1d984fb1583c94"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsynowiec%2Fairqmon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsynowiec%2Fairqmon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsynowiec%2Fairqmon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsynowiec%2Fairqmon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsynowiec","download_url":"https://codeload.github.com/jsynowiec/airqmon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221326554,"owners_count":16798610,"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"}},"keywords":["air-pollution","air-quality","air-quality-monitor","airly","electron","graphql","macos","macos-menubar","poland","react","sensor-station","smog","typescript"],"created_at":"2024-08-08T05:01:37.366Z","updated_at":"2025-03-16T16:30:56.245Z","avatar_url":"https://github.com/jsynowiec.png","language":"TypeScript","funding_links":["https://github.com/sponsors/jsynowiec"],"categories":["Access and Monitoring of Resources","Natural Resources"],"sub_categories":["Air","Air Quality"],"readme":"[![Sponsor][sponsor-badge]][sponsor]\n[![GitHub release][badge-github-release]][airqmon-latest-release]\n[![GitHub Actions][badge-gh-actions]][gh-actions]\n[![License][badge-license]][license]\n\n# \u003cimg src=\"https://user-images.githubusercontent.com/1029142/32918679-7336704a-cb23-11e7-92b2-d8a7f2588055.png\" width=\"38px\" alt=\"Airqmon icon\" align=\"top\" /\u003e Airqmon\n\nAirqmon is a macOS menu bar application that displays live air quality data from the nearest sensor station. It can also notify you when the air quality index changes or when a new, closer station is found.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"492\" align=\"center\" alt=\"Airqmon window with measurement details\" src=\"https://github.com/jsynowiec/airqmon/raw/gh-pages/assets/airqmon-overview%402x.png\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/1029142/36537429-674931ba-17d0-11e8-88ee-c246226c1053.png\" width=\"378px\" align=\"center\" alt=\"Airqmon notification about air quality\" /\u003e\n\u003c/p\u003e\n\n## Supported data providers\n\n- [Airly][airly] - over 20k sensor stations in many cities around the world in addition to data provided from third-party services like PurpleAir. Check the [Airly map][airly-map] for full coverage.\n\n## Source code-only\n\nDue to the reasons described in [this comment](https://github.com/jsynowiec/airqmon/issues/50#issuecomment-1008751034), I am no longer willing to cover the monthly costs associated with the Airqmon API and Google Geolocation.\n\nI have removed all binaries from the current and previous releases as they will no longer work. You can host the Airqmon API on your own and clone the latest release to build your version of the app.\n\n## Build \u0026 installation\n\n1. Clone the [latest release][airqmon-latest-release].\n2. Install the dependancies with `yarn install`.\n3. Build the binary with `yarn run package`.\n4. Drag the binary from the `out` directory to your `Applications` folder.\n\n## Preferences\n\nThere are a few options available to customize on the preferences window that you can access by clicking on the button with a cog or by pressing the `⌘ + ,` shortcut.\n\n## Airqmon API\n\nStarting from version 2, Airqmon depends on the [Airqmon API][airqmon-api] to find the nearest station and fetch measurements from Airly.\n\n## Geolocation\n\nWith version 2.1.1, Airqmon switched to the free ip-api.com reverse geolocation service. If you want to switch back to the Google Geolocation API, revert the changes from the [1fe51d](https://github.com/jsynowiec/airqmon/commit/1fe51d966f15caeeca1e6385d01b96c6e266210c) commit.\n\n## Privacy\n\nAirqmon does not track any data.\n\n### Credits\n\nMy sincere thanks to the following individuals for helping me with beta testing and for donating 🙏\n\n| [![Michał Pierzchała](https://github.com/thymikee.png?size=50)](https://github.com/thymikee) | [![Konrad Dzwinel](https://github.com/kdzwinel.png?size=50)](https://github.com/kdzwinel) |\n| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |\n| [Michał Pierzchała](https://github.com/thymikee)                                             | [Konrad Dzwinel](https://github.com/kdzwinel)                                             |\n\n## License\n\nThis app is an open-source software licensed under the [Apache License, Version 2.0][license]\n\n[license]: https://raw.githubusercontent.com/jsynowiec/airqmon/main/LICENSE\n[airqmon-latest-release]: https://github.com/jsynowiec/airqmon/releases/latest\n[airqmon-api]: https://github.com/jsynowiec/airqmon-api\n[gh-actions]: https://actions-badge.atrox.dev/jsynowiec/airqmon/goto?ref=main\n[badge-github-release]: https://img.shields.io/github/release/jsynowiec/airqmon.svg\n[badge-license]: https://img.shields.io/github/license/jsynowiec/airqmon.svg\n[badge-gh-actions]: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fjsynowiec%2Fairqmon%2Fbadge%3Fref%3Dmain\u0026style=flat\n[airly]: https://airly.eu/\n[airly-map]: https://airly.org/map/en/\n[airly-pricing]: https://airly.org/en/pricing/airly-api/\n[sponsor-badge]: https://img.shields.io/badge/♥-Sponsor-fc0fb5.svg\n[sponsor]: https://github.com/sponsors/jsynowiec\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsynowiec%2Fairqmon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsynowiec%2Fairqmon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsynowiec%2Fairqmon/lists"}