plotair 0.2.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- plotair-0.2.1/PKG-INFO +130 -0
- plotair-0.2.1/README.md +114 -0
- plotair-0.2.1/plotair/__init__.py +1 -0
- {plotair-0.2.0 → plotair-0.2.1}/plotair/config.toml +13 -12
- plotair-0.2.1/plotair/main.py +703 -0
- {plotair-0.2.0 → plotair-0.2.1}/pyproject.toml +1 -1
- plotair-0.2.0/PKG-INFO +0 -97
- plotair-0.2.0/README.md +0 -81
- plotair-0.2.0/plotair/__init__.py +0 -1
- plotair-0.2.0/plotair/main.py +0 -793
- {plotair-0.2.0 → plotair-0.2.1}/.gitignore +0 -0
- {plotair-0.2.0 → plotair-0.2.1}/LICENSE +0 -0
plotair-0.2.1/PKG-INFO
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: plotair
|
|
3
|
+
Version: 0.2.1
|
|
4
|
+
Summary: Generate CO₂, humidity and temperature plots from VisiblAir sensor CSV files.
|
|
5
|
+
Project-URL: Repository, https://github.com/monsieurlinux/plotair
|
|
6
|
+
Author-email: Monsieur Linux <info@mlinux.ca>
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Keywords: cli,data-analysis,data-science,iot,monitoring,python,terminal,visualization
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Requires-Python: >=3.11
|
|
13
|
+
Requires-Dist: pandas<3.0.0,>=2.0.0
|
|
14
|
+
Requires-Dist: seaborn<1.0.0,>=0.13.2
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
# PlotAir
|
|
20
|
+
|
|
21
|
+
[![PyPI][pypi-badge]][pypi-link]
|
|
22
|
+
[![License][license-badge]][license-link]
|
|
23
|
+
|
|
24
|
+
PlotAir is a Python script that processes one or more CSV files containing [VisiblAir][visiblair-link] sensor data. For each file, it reads the data into a [pandas][pandas-link] DataFrame, ignores incorrectly formatted lines, keeps only the most recent data sequence, and generates a [Seaborn][seaborn-link] plot saved as a PNG file with the same base name as the input CSV.
|
|
25
|
+
|
|
26
|
+
## Dependencies
|
|
27
|
+
|
|
28
|
+
PlotAir requires the following external libraries:
|
|
29
|
+
|
|
30
|
+
* **[pandas][pandas-link]**: Used for data manipulation and analysis.
|
|
31
|
+
* **[seaborn][seaborn-link]**: Used for creating plots.
|
|
32
|
+
|
|
33
|
+
These libraries and their sub-dependencies will be installed automatically when you install PlotAir.
|
|
34
|
+
|
|
35
|
+
## Installation
|
|
36
|
+
|
|
37
|
+
It is recommended to install PlotAir within a [virtual environment][venv-link] to avoid conflicts with system packages. Some Linux distributions enforce this. You can use `pipx` to handle the virtual environment automatically, or create one manually and use `pip`.
|
|
38
|
+
|
|
39
|
+
### Installation with `pipx`
|
|
40
|
+
|
|
41
|
+
`pipx` installs PlotAir in an isolated environment and makes it available globally.
|
|
42
|
+
|
|
43
|
+
**1. Install `pipx`:**
|
|
44
|
+
|
|
45
|
+
* **Linux (Debian / Ubuntu / Mint):**
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
sudo apt install pipx
|
|
49
|
+
pipx ensurepath
|
|
50
|
+
```
|
|
51
|
+
* **Linux (Other) / macOS:**
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
python3 -m pip install --user pipx
|
|
55
|
+
python3 -m pipx ensurepath
|
|
56
|
+
```
|
|
57
|
+
* **Windows:**
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
python -m pip install --user pipx
|
|
61
|
+
python -m pipx ensurepath
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
You may need to reopen your terminal for the PATH changes to take effect. If you encounter a problem, please refer to the official [pipx documentation][pipx-link].
|
|
65
|
+
|
|
66
|
+
**2. Install PlotAir:**
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
pipx install plotair
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Installation with `pip`
|
|
73
|
+
|
|
74
|
+
If you prefer to manage the virtual environment manually, you can create and activate it by following this [tutorial][venv-link]. Then install PlotAir:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
pip install plotair
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Deployments
|
|
81
|
+
|
|
82
|
+
View all releases on:
|
|
83
|
+
|
|
84
|
+
- **[PyPI Releases][pypi-releases]**
|
|
85
|
+
- **[GitHub Releases][github-releases]**
|
|
86
|
+
|
|
87
|
+
## Usage
|
|
88
|
+
|
|
89
|
+
### Basic Usage
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
plotair [arguments] FILE [FILE ...]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Command-Line Arguments
|
|
96
|
+
|
|
97
|
+
None for now.
|
|
98
|
+
|
|
99
|
+
## Configuration
|
|
100
|
+
|
|
101
|
+
When you run PlotAir for the first time, a `config.toml` file is automatically created. Its location depends on your operating system (typical paths are listed below):
|
|
102
|
+
|
|
103
|
+
* **Linux:** `~/.config/plotair`
|
|
104
|
+
* **macOS:** `~/Library/Preferences/plotair`
|
|
105
|
+
* **Windows:** `C:/Users/YourUsername/AppData/Roaming/plotair`
|
|
106
|
+
|
|
107
|
+
You can edit this file to customize various settings. Common customizations include translating plot labels into different languages or modifying the line colors.
|
|
108
|
+
|
|
109
|
+
## License
|
|
110
|
+
|
|
111
|
+
Copyright (c) 2026 Monsieur Linux
|
|
112
|
+
|
|
113
|
+
This project is licensed under the MIT License. See the LICENSE file for details.
|
|
114
|
+
|
|
115
|
+
## Acknowledgements
|
|
116
|
+
|
|
117
|
+
Thanks to the creators and contributors of the [pandas][pandas-link] and [seaborn][seaborn-link] libraries, and to the developer of the great [VisiblAir][visiblair-link] air quality monitors and CO₂ sensors. Thanks also to the founder of [Bâtiments vivants][batiments-link] for the idea of this script.
|
|
118
|
+
|
|
119
|
+
[batiments-link]: https://batimentsvivants.ca/
|
|
120
|
+
[github-releases]: https://github.com/monsieurlinux/plotair/releases
|
|
121
|
+
[license-badge]: https://img.shields.io/pypi/l/plotair.svg
|
|
122
|
+
[license-link]: https://github.com/monsieurlinux/plotair/blob/main/LICENSE
|
|
123
|
+
[pandas-link]: https://github.com/pandas-dev/pandas
|
|
124
|
+
[pipx-link]: https://github.com/pypa/pipx
|
|
125
|
+
[pypi-badge]: https://img.shields.io/pypi/v/plotair.svg
|
|
126
|
+
[pypi-link]: https://pypi.org/project/plotair/
|
|
127
|
+
[pypi-releases]: https://pypi.org/project/plotair/#history
|
|
128
|
+
[seaborn-link]: https://github.com/mwaskom/seaborn
|
|
129
|
+
[venv-link]: https://docs.python.org/3/tutorial/venv.html
|
|
130
|
+
[visiblair-link]: https://visiblair.com/
|
plotair-0.2.1/README.md
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# PlotAir
|
|
4
|
+
|
|
5
|
+
[![PyPI][pypi-badge]][pypi-link]
|
|
6
|
+
[![License][license-badge]][license-link]
|
|
7
|
+
|
|
8
|
+
PlotAir is a Python script that processes one or more CSV files containing [VisiblAir][visiblair-link] sensor data. For each file, it reads the data into a [pandas][pandas-link] DataFrame, ignores incorrectly formatted lines, keeps only the most recent data sequence, and generates a [Seaborn][seaborn-link] plot saved as a PNG file with the same base name as the input CSV.
|
|
9
|
+
|
|
10
|
+
## Dependencies
|
|
11
|
+
|
|
12
|
+
PlotAir requires the following external libraries:
|
|
13
|
+
|
|
14
|
+
* **[pandas][pandas-link]**: Used for data manipulation and analysis.
|
|
15
|
+
* **[seaborn][seaborn-link]**: Used for creating plots.
|
|
16
|
+
|
|
17
|
+
These libraries and their sub-dependencies will be installed automatically when you install PlotAir.
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
It is recommended to install PlotAir within a [virtual environment][venv-link] to avoid conflicts with system packages. Some Linux distributions enforce this. You can use `pipx` to handle the virtual environment automatically, or create one manually and use `pip`.
|
|
22
|
+
|
|
23
|
+
### Installation with `pipx`
|
|
24
|
+
|
|
25
|
+
`pipx` installs PlotAir in an isolated environment and makes it available globally.
|
|
26
|
+
|
|
27
|
+
**1. Install `pipx`:**
|
|
28
|
+
|
|
29
|
+
* **Linux (Debian / Ubuntu / Mint):**
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
sudo apt install pipx
|
|
33
|
+
pipx ensurepath
|
|
34
|
+
```
|
|
35
|
+
* **Linux (Other) / macOS:**
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
python3 -m pip install --user pipx
|
|
39
|
+
python3 -m pipx ensurepath
|
|
40
|
+
```
|
|
41
|
+
* **Windows:**
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
python -m pip install --user pipx
|
|
45
|
+
python -m pipx ensurepath
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
You may need to reopen your terminal for the PATH changes to take effect. If you encounter a problem, please refer to the official [pipx documentation][pipx-link].
|
|
49
|
+
|
|
50
|
+
**2. Install PlotAir:**
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pipx install plotair
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Installation with `pip`
|
|
57
|
+
|
|
58
|
+
If you prefer to manage the virtual environment manually, you can create and activate it by following this [tutorial][venv-link]. Then install PlotAir:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
pip install plotair
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Deployments
|
|
65
|
+
|
|
66
|
+
View all releases on:
|
|
67
|
+
|
|
68
|
+
- **[PyPI Releases][pypi-releases]**
|
|
69
|
+
- **[GitHub Releases][github-releases]**
|
|
70
|
+
|
|
71
|
+
## Usage
|
|
72
|
+
|
|
73
|
+
### Basic Usage
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
plotair [arguments] FILE [FILE ...]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Command-Line Arguments
|
|
80
|
+
|
|
81
|
+
None for now.
|
|
82
|
+
|
|
83
|
+
## Configuration
|
|
84
|
+
|
|
85
|
+
When you run PlotAir for the first time, a `config.toml` file is automatically created. Its location depends on your operating system (typical paths are listed below):
|
|
86
|
+
|
|
87
|
+
* **Linux:** `~/.config/plotair`
|
|
88
|
+
* **macOS:** `~/Library/Preferences/plotair`
|
|
89
|
+
* **Windows:** `C:/Users/YourUsername/AppData/Roaming/plotair`
|
|
90
|
+
|
|
91
|
+
You can edit this file to customize various settings. Common customizations include translating plot labels into different languages or modifying the line colors.
|
|
92
|
+
|
|
93
|
+
## License
|
|
94
|
+
|
|
95
|
+
Copyright (c) 2026 Monsieur Linux
|
|
96
|
+
|
|
97
|
+
This project is licensed under the MIT License. See the LICENSE file for details.
|
|
98
|
+
|
|
99
|
+
## Acknowledgements
|
|
100
|
+
|
|
101
|
+
Thanks to the creators and contributors of the [pandas][pandas-link] and [seaborn][seaborn-link] libraries, and to the developer of the great [VisiblAir][visiblair-link] air quality monitors and CO₂ sensors. Thanks also to the founder of [Bâtiments vivants][batiments-link] for the idea of this script.
|
|
102
|
+
|
|
103
|
+
[batiments-link]: https://batimentsvivants.ca/
|
|
104
|
+
[github-releases]: https://github.com/monsieurlinux/plotair/releases
|
|
105
|
+
[license-badge]: https://img.shields.io/pypi/l/plotair.svg
|
|
106
|
+
[license-link]: https://github.com/monsieurlinux/plotair/blob/main/LICENSE
|
|
107
|
+
[pandas-link]: https://github.com/pandas-dev/pandas
|
|
108
|
+
[pipx-link]: https://github.com/pypa/pipx
|
|
109
|
+
[pypi-badge]: https://img.shields.io/pypi/v/plotair.svg
|
|
110
|
+
[pypi-link]: https://pypi.org/project/plotair/
|
|
111
|
+
[pypi-releases]: https://pypi.org/project/plotair/#history
|
|
112
|
+
[seaborn-link]: https://github.com/mwaskom/seaborn
|
|
113
|
+
[venv-link]: https://docs.python.org/3/tutorial/venv.html
|
|
114
|
+
[visiblair-link]: https://visiblair.com/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.2.1"
|
|
@@ -2,32 +2,33 @@
|
|
|
2
2
|
max_missing_samples = 4
|
|
3
3
|
|
|
4
4
|
[plot]
|
|
5
|
-
size = [
|
|
5
|
+
size = [15, 10]
|
|
6
6
|
font_family = 'Noto Sans' # Set to '' to use default system font
|
|
7
|
-
font_scale = 1.
|
|
7
|
+
font_scale = 1.8
|
|
8
8
|
grid2_opacity = 0.7 # 0 is fully transparent and 1 is fully opaque
|
|
9
9
|
grid1_line_style = '-' # Options: '-', '--', ':' and '-.'
|
|
10
10
|
grid2_line_style = '--'
|
|
11
|
+
default_line_style = '-'
|
|
11
12
|
limit_zone_opacity = 0.075
|
|
12
13
|
limit_line_opacity = 0.7
|
|
13
|
-
limit_line_width = 1
|
|
14
14
|
limit_line_style = '--'
|
|
15
|
-
"pm2.5_line_width" = 1.5
|
|
16
15
|
"pm2.5_line_style" = '-'
|
|
17
|
-
"pm10_line_width" = 1.5
|
|
18
16
|
"pm10_line_style" = '-.'
|
|
19
17
|
date_rotation = 30
|
|
20
18
|
|
|
21
19
|
# Options: 'best', 'upper right', 'upper left', 'lower left', 'lower right',
|
|
22
20
|
# 'center left', 'center right', 'lower center', 'upper center', 'center'
|
|
23
|
-
legend_location = '
|
|
21
|
+
legend_location = 'upper left'
|
|
24
22
|
|
|
25
23
|
[axis_ranges]
|
|
26
24
|
co2 = [0, 2000]
|
|
27
|
-
|
|
25
|
+
humidity = [0, 80]
|
|
26
|
+
temp = [0, 80]
|
|
28
27
|
tvoc = [0, 500]
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
co = [0, 50]
|
|
29
|
+
form = [0, 50]
|
|
30
|
+
"pm2.5" = [0, 70]
|
|
31
|
+
"pm10" = [0, 70]
|
|
31
32
|
|
|
32
33
|
[labels]
|
|
33
34
|
co2 = 'CO₂ (ppm)'
|
|
@@ -35,8 +36,8 @@ temp = 'Température (°C)'
|
|
|
35
36
|
humidity = 'Humidité (%)'
|
|
36
37
|
tvoc = 'COVT (ppb)'
|
|
37
38
|
tvoc_limit = 'Limite LEED, WELL et LBC'
|
|
38
|
-
co = 'Monoxyde de carbone (ppm
|
|
39
|
-
co_limit = 'Limite
|
|
39
|
+
co = 'Monoxyde de carbone (ppm)'
|
|
40
|
+
co_limit = 'Limite Environnement Canada'
|
|
40
41
|
form = 'Formaldéhyde (ppb)'
|
|
41
42
|
form_limit = 'Limite anomalie légère BBI'
|
|
42
43
|
"pm2.5" = 'PM2.5 (µg/m³)'
|
|
@@ -47,7 +48,7 @@ form_limit = 'Limite anomalie légère BBI'
|
|
|
47
48
|
[limits]
|
|
48
49
|
humidity = [40, 60]
|
|
49
50
|
tvoc = 218 # ppb
|
|
50
|
-
co =
|
|
51
|
+
co = 5 # ppm
|
|
51
52
|
form = 16 # ppb
|
|
52
53
|
"pm2.5" = 10
|
|
53
54
|
"pm10" = 50
|