{"id":15870575,"url":"https://github.com/maxymvlasov/eco-data-visualizer","last_synced_at":"2025-03-16T03:30:32.910Z","repository":{"id":91680672,"uuid":"257647321","full_name":"MaxymVlasov/eco-data-visualizer","owner":"MaxymVlasov","description":"Data visualizer + AQI calculator for CSV-files provided by SaveEcoBot","archived":false,"fork":false,"pushed_at":"2022-09-06T13:03:49.000Z","size":1733,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-27T04:47:52.745Z","etag":null,"topics":["air-quality","air-quality-index","aqi","csv","csv-files","data-visualization","data-visualizer","ecology","hacktoberfest","raw-data-exploration","savednipro","saveecobot"],"latest_commit_sha":null,"homepage":"","language":"Python","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/MaxymVlasov.png","metadata":{"files":{"readme":"README-uk.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}},"created_at":"2020-04-21T16:17:10.000Z","updated_at":"2024-09-20T06:58:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"5fe318ea-4685-4a70-a925-f2c3ff7b4e94","html_url":"https://github.com/MaxymVlasov/eco-data-visualizer","commit_stats":{"total_commits":22,"total_committers":2,"mean_commits":11.0,"dds":"0.045454545454545414","last_synced_commit":"c7af60e0d9a70bb81832f9c2b7e72dc270454b7c"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxymVlasov%2Feco-data-visualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxymVlasov%2Feco-data-visualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxymVlasov%2Feco-data-visualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxymVlasov%2Feco-data-visualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaxymVlasov","download_url":"https://codeload.github.com/MaxymVlasov/eco-data-visualizer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243801679,"owners_count":20350108,"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-quality","air-quality-index","aqi","csv","csv-files","data-visualization","data-visualizer","ecology","hacktoberfest","raw-data-exploration","savednipro","saveecobot"],"created_at":"2024-10-06T00:22:17.410Z","updated_at":"2025-03-16T03:30:32.431Z","avatar_url":"https://github.com/MaxymVlasov.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- # Data visualizer from SaveEcoBot. Calculate AQI --\u003e\n# Візуалізатор вихідних даних з SaveEcoBot. Обчислює AQI\n\n[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)\n[![RussianWarship](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/RussianWarship.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)\n\n\u003e**[Read in English :world_map:](README.md)**\n\n\u003c!-- This software up and run nice dashboard with metrics from CSV file and calculate AQI for PM2.5 and PM10 --\u003e\nЦе програмне забезпечення підготує та запустить панель з усіма показниками з CSV-файлу а також обчислить і покаже AQI для PM2.5 та PM10.\n\n\u003c!-- Air Quality Index calculations based on [this document](https://www.airnow.gov/sites/default/files/2020-05/aqi-technical-assistance-document-sept2018.pdf) --\u003e\nРозрахунки Індексу Якості Повітря (Air Quality Index) базуються на основі [цього документа](https://www.airnow.gov/sites/default/files/2020-05/aqi-technical-assistance-document-sept2018.pdf).\n\n![Як це виглядає](docs/en/images/first-view.png)\n\n\u003c!-- More screenshots and usage examples [here](docs/en/screenshots.md). --\u003e\nБільше скріншотів та прикладів використання [наведено тут [en]](docs/en/screenshots.md).\n\n---\n\n## МЕНЮ \u003c!-- omit in toc --\u003e\n\n* [Необхідне програмне забезпечення](#необхідне-програмне-забезпечення)\n* [Використання](#використання)\n  * [Швидкий старт](#швидкий-старт)\n  * [Повсякденне використання](#повсякденне-використання)\n    * [Запуск](#запуск)\n    * [Зупинка](#зупинка)\n  * [Датчики](#датчики)\n    * [Оброблення нових даних](#оброблення-нових-даних)\n    * [Додавання нових даних](#додавання-нових-даних)\n    * [Видалення даних](#видалення-даних)\n  * [Повне очищення](#повне-очищення)\n* [Для контриб'юторів](#для-контрибюторів)\n* [Плани на майбутнє](#плани-на-майбутнє)\n* [Хочете допомоги?](#хочете-допомоги)\n* [Ліцензія та авторські права](#ліцензія-та-авторські-права)\n\n---\n\n\u003c!-- ## Required software --\u003e\n## Необхідне програмне забезпечення\n\n* [`Docker`](https://docs.docker.com/get-docker/)\n* [`docker-compose`](https://docs.docker.com/compose/install/) (для Linux)\n\n\u003c!-- ## Usage --\u003e\n## Використання\n\n\u003c!-- ### Quick start --\u003e\n### Швидкий старт\n\n\u003c!-- 1. Clone this repo or [download it as zip](https://github.com/MaxymVlasov/eco-data-visualizer/archive/master.zip) and unpack. --\u003e\n1. Зклонуйте цей репозиторій\n\n```bash\ngit clone git@github.com:MaxymVlasov/eco-data-visualizer.git\n```\n\nабо [завантажте його як zip архів](https://github.com/MaxymVlasov/eco-data-visualizer/archive/master.zip) і розпакуйте.\n\n\u003c!-- 2. Choose SaveEcoBot station [on this map](https://www.saveecobot.com/en/maps) and click 'Details'   --\u003e\n2. Виберіть станцію SaveEcoBot [на цій мапі](https://www.saveecobot.com/uk/maps) та натисніть \"Детальна інформація про станцію\"  \n![map-details.png](docs/uk/images/map-details.png)\n\n\u003c!-- 3. On bottom you'll see `Download raw data (CSV)`   --\u003e\n\u003c!-- click on the link and save CSV-file to `./data/original_data/` inside downloaded repo. --\u003e\n3. Унизу ви побачите \"Завантажити дані у форматі CSV\"  \n![download-csv.png](docs/uk/images/download-csv.png)  \nнатисніть на посилання і збережіть CSV-файл у `./data/original_data/` всередині завантаженого репозиторію.\n\n\u003c!-- 4. Open terminal in the root of `eco-data-visualizer` and run: --\u003e\n4. Відкрийте термінал у корені `eco-data-visualizer` і виконайте:\n\n```bash\n# Підготовка даних\ndocker build -t data-transformer ./data-transformer-app\ndocker run -v \"$PWD\"/data/:/app/data/ --rm data-transformer\n# Запуск візуалізації\ndocker-compose up -d\n# Додавання даних датчиків до InfluxDB\ndocker build -t add_influx_data ./provisioning/influx\ndocker run -v \"$PWD\"/data/influx/:/influx-data/ --rm --network=eco-data-visualizer_default add_influx_data\n```\n\n\u003c!-- \u003e\u003csup\u003eDepending on your internet bandwidth, CPU, Storage I/O, CSV file size and number of processed files `First Init` may take different times.  \nFor example, in laptop with `100Mbit/s` bandwidth, `Intel Core i7-8550U` (max clock speed `4Ghz`), SSD disk and:\u003c/sup\u003e  \n\u003csup\u003e  - 2 CSV files (together: 620MB) it takes `11m47s` (`9m39s` to transform data)\u003c/sup\u003e  \n\u003csup\u003e  - 1 CSV file (513MB) - `6m16s` (`4m18s` to transform data)\u003c/sup\u003e  \n\u003csup\u003e  - 1 CSV file (107MB) - `6m35s` (`4m32s` to transform data)\u003c/sup\u003e\n --\u003e\n\u003c!-- markdownlint-disable no-inline-html --\u003e\n\u003e\u003csup\u003eЗалежно від пропускної здатності вашого інтернет-каналу, параметрів процесора, жорсткого диску, розміру CSV-файлу та кількості оброблених файлів `Швидкий старт` може тривати різний час.  \nНаприклад, у ноутбуці з пропускною здатністю `100 Мбіт/с`, `Intel Core i7-8550U` (максимальна тактова частота `4ГГц`), з SSD-диском та: \u003c/sup\u003e  \n\u003csup\u003e - 2-ма файлами CSV (разом: 620MB) потрібно `11m47s` (з них `9m39s` для перетворення даних) \u003c/sup\u003e  \n\u003csup\u003e - 1-ним файлом CSV (513MB) - `6m16s` (з них `4m18s` для перетворення даних) \u003c/sup\u003e  \n\u003csup\u003e - 1-ним файлом CSV (107MB) - `6m35s` (з них `4m32s` для перетворення даних) \u003c/sup\u003e\n\u003c!-- markdownlint-enable no-inline-html --\u003e\n\n\u003c!-- 5. Open [http://localhost/](http://localhost/) for see visualizations! --\u003e\n5. Відкрийте [http://localhost/](http://localhost/), щоб побачити візуалізацію!\n\n\u003c!-- ### Daily usage --\u003e\n### Повсякденне використання\n\n\u003c!-- #### Start --\u003e\n#### Запуск\n\n\u003c!-- For start visualization open terminal in the root of repo and run: --\u003e\nДля запуску візуалізації відкрийте термінал у корені репозиторія і виконайте:\n\n```bash\ndocker-compose up -d\n```\n\n\u003c!-- Then open [http://localhost/](http://localhost/) for see visualizations. --\u003e\nПотім відкрийте [http://localhost/](http://localhost/), щоб побачити візуалізацію.\n\n\u003c!-- #### Stop --\u003e\n#### Зупинка\n\n\u003c!-- For stop visualization open terminal in the root of repo and run: --\u003e\nДля зупинки візуалізації відкрийте термінал у корені репозиторія і запустіть:\n\n```bash\ndocker-compose stop\n```\n\n\u003c!-- ### Sensors data --\u003e\n### Датчики\n\n\u003c!-- #### Process new data --\u003e\n#### Оброблення нових даних\n\n\u003c!-- 1. Download CSV file from SaveEcoBot station --\u003e\n\u003c!-- 2. Move it to `data/original_data` folder in this repo. --\u003e\n1. Завантажте CSV-файл з SaveEcoBot\n2. Перемістіть його в теку `data/original_data` цього репозиторія.\n3. Виконайте:\n\n```bash\n# Видалення тимчасових файлів\ndocker run -v \"$PWD\"/data/:/app/ --rm amancevice/pandas:1.0.3-alpine sh -c \"rm -f /app/csv/*.csv /app/influx/*.influx\"\n# Підготовка даних\ndocker build -t data-transformer ./data-transformer-app\ndocker run -v \"$PWD\"/data/:/app/data/ --rm data-transformer\n```\n\n\u003c!-- #### Add new data --\u003e\n#### Додавання нових даних\n\n\u003c!-- For add new data open terminal in the root of repo and run: --\u003e\nДля додавання нових даних у візуалізацію відкрийте термінал у корені репозиторія і виконайте:\n\n```bash\n# Запуск візуалізації\ndocker-compose up -d\n# Додання нових даних\ndocker build -t add_influx_data ./provisioning/influx\ndocker run -v \"$PWD\"/data/influx/:/influx-data/ --rm --network=eco-data-visualizer_default add_influx_data\n```\n\n\u003c!-- #### Remove data --\u003e\n#### Видалення даних\n\n\u003c!-- For remove sensors data open terminal in the root of repo and run: --\u003e\nДля видалення даних датчиків з візуалізації відкрийте термінал у корені репозиторія і виконайте:\n\n\n```bash\ndocker-compose down\ndocker volume rm eco-data-visualizer_sensors-data\n```\n\n\u003c!-- ### Cleanup --\u003e\n### Повне очищення\n\n\u003c!-- For cleanup open terminal in the root of repo and run: --\u003e\nДля повного очищення відкрийте термінал у корені репозиторія і запустіть:\n\n```bash\n# Зупинка візуалізації\ndocker-compose down\n# Видалення томів з налаштуваннями та даними датчиків\ndocker volume rm eco-data-visualizer_grafana-settings eco-data-visualizer_sensors-data\n# Видалення тимчасових файлів\ndocker run -v \"$PWD\"/data/:/app/ --rm amancevice/pandas:1.0.3-alpine sh -c \"rm -f /app/csv/*.csv /app/influx/*.influx\"\n```\n\n\u003c!-- ## For contributors --\u003e\n## Для контриб'юторів\n\n\u003c!-- Use same instructions from [Quick start](#quick-start) section but in step 4 add `--build-arg ENV=dev` for `data-transformer-app` --\u003e\nСкористайтеся тими ж інструкціями з розділу [Швидкий старт](#швидкий-старт), але на кроці 4 додайте `--build-arg ENV=dev` для `data-transformer-app`.\n\n```bash\ndocker build --build-arg ENV=dev -t data-transformer ./data-transformer-app\n```\n\n\u003c!-- ## Future plans --\u003e\n## Плани на майбутнє\n\nДивіться [відповідну секцію](README.md#future-plans) в англомовній версії.\n\n\u003c!-- markdownlint-disable no-trailing-punctuation --\u003e\n\u003c!-- ## Want help? --\u003e\n## Хочете допомоги?\n\u003c!-- markdownlint-enable no-trailing-punctuation --\u003e\n\n\u003c!-- You can:\n* Improve this software (see [Future plans](#future-plans-) section)\n* [Donate to SaveEcoBot](https://www.saveecobot.com/en/donate)\n* Assemble or buy Air quality monitoring station and connect it to SaveEcoBot. SaveDnipro can assemble and connect it for you. [Buy here](https://www.savednipro.org/product/stanciya-monitoringu-yakosti-povitrya/) --\u003e\n\nВи можете:\n\n* Удосконалити це програмне забезпечення (див. розділ [Плани на майбутнє [en]](README.md#future-plans)).\n* [Зробити пожертву у SaveEcoBot](https://www.saveecobot.com/uk/donate).\n* Зібрати або придбати станцію контролю якості повітря та додати її до SaveEcoBot. SaveDnipro може зібрати і додати його для вас. [Замовляти тут](https://www.savednipro.org/product/stanciya-monitoringu-yakosti-povitrya/).\n\n\u003c!-- ## License and Copyrights --\u003e\n## Ліцензія та авторські права\n\n\u003c!-- This software licensed by [Apache License 2.0](LICENSE) --\u003e\nЦе програмне забезпечення розповсюджується під ліцензією [Apache License 2.0](LICENSE).\n\n\u003c!-- All data from SaveEcoBot licensed by [Creative Commons Attribution License 4.0 International](https://creativecommons.org/licenses/by/4.0/legalcode) --\u003e\nУсі дані з SaveEcoBot розповсюджуються під ліцензією [Creative Commons Attribution License 4.0 International](https://creativecommons.org/licenses/by/4.0/legalcode).\n\n\u003c!-- Other data and sources can be licensed in different way. --\u003e\nІнші дані та джерела можуть мати інші ліцензії.\n\nТакож, використовуючи код, наданий у цьому репозиторії, ви погоджуєтеся з наступним:\n* Росія [незаконно анексувала Крим у 2014 році](https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B5%D0%BA%D1%81%D1%96%D1%8F_%D0%9A%D1%80%D0%B8%D0%BC%D1%83_(2014)) і [почала війну на Донбасі](https://uk.wikipedia.org/wiki/%D0%92%D1%96%D0%B9%D0%BD%D0%B0_%D0%BD%D0%B0_%D1%81%D1%85%D0%BE%D0%B4%D1%96_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D0%B8), а потім і [повномасштабне вторгнення в Україну 2022 року](https://uk.wikipedia.org/wiki/%D0%A0%D0%BE%D1%81%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B5_%D0%B2%D1%82%D0%BE%D1%80%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D0%B2_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%83_(2022)).\n* Росія принесла смуток і спустошення мільйонам українців, вбила сотні невинних людей, пошкодила тисячі будівель і змусила кілька мільйонів людей стати вимушеними переселенцями.\n* [Путін — хуйло!](https://uk.wikipedia.org/wiki/%D0%9F%D1%83%D1%82%D1%96%D0%BD_%E2%80%94_%D1%85%D1%83%D0%B9%D0%BB%D0%BE!)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxymvlasov%2Feco-data-visualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxymvlasov%2Feco-data-visualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxymvlasov%2Feco-data-visualizer/lists"}