cetk 0.0.8.dev0__tar.gz → 0.1.0__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.
- {cetk-0.0.8.dev0 → cetk-0.1.0}/CONTRIBUTING.md +2 -2
- {cetk-0.0.8.dev0 → cetk-0.1.0}/PKG-INFO +12 -12
- {cetk-0.0.8.dev0 → cetk-0.1.0}/constraints-lowest.txt +14 -15
- {cetk-0.0.8.dev0 → cetk-0.1.0}/noxfile.py +2 -2
- {cetk-0.0.8.dev0 → cetk-0.1.0}/pyproject.toml +11 -12
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/__init__.py +1 -1
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/importers/roadsource_import.py +5 -1
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/settings.py +12 -4
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk.egg-info/PKG-INFO +12 -12
- cetk-0.1.0/src/cetk.egg-info/requires.txt +12 -0
- cetk-0.0.8.dev0/src/cetk.egg-info/requires.txt +0 -12
- {cetk-0.0.8.dev0 → cetk-0.1.0}/.pre-commit-config.yaml +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/LICENSE +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/MANIFEST.in +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/README.md +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/flatpak_install.sh +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/manage.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/requirements-dev.in +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/requirements-dev.txt +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/setup.cfg +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/db.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/__init__.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/apps.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/cache.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/const.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/copy.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/exporters.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/fixtures/edb-ref.json +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/importers/__init__.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/importers/activity_import.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/importers/codeset_import.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/importers/gridsource_import.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/importers/source_import.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/importers/timevar_import.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/importers/utils.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/importers/validation.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/ltreefield.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/migrations/0001_initial.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/migrations/0002_data.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/migrations/0003_create_gpkg_tables.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/migrations/__init__.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/models/__init__.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/models/base.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/models/common_models.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/models/fleets.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/models/gridsource_models.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/models/road_classes.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/models/road_models.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/models/source_models.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/models/timevar_models.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/rasterize/__init__.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/rasterize/rasterizer.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/signals.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/traffic.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/units.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/edb/utils.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/emissions/__init__.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/emissions/aggregate_emissions.sql +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/emissions/areasource_emissions.sql +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/emissions/calc.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/emissions/filters.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/emissions/gridsource_emissions.sql +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/emissions/pointsource_emissions.sql +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/emissions/queries.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/emissions/roadsource_emissions.sql +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/emissions/used_substances.sql +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/emissions/views.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/logging.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/tools/__init__.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/tools/cetk_command.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/tools/manage.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/tools/utils.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk/utils.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk.egg-info/SOURCES.txt +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk.egg-info/dependency_links.txt +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk.egg-info/entry_points.txt +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/src/cetk.egg-info/top_level.txt +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/conftest.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/TrafficImportFormat.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/__init__.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/all_sources.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/areasourceactivities.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/areasources.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/congestion_profiles.json +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/fleets.json +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/fleets.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/gridsource_rasters/vasterbotten_conc_NOx_1990010100_1991010100.tif +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/gridsource_rasters/vasterbotten_conc_PM25_1990010100_1991010100.tif +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/gridsource_rasters/vasterbotten_conc_PM25_2000010100_2001010100.tif +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/gridsource_rasters/vasterbotten_conc_PM25_2011010100_2012010100.tif +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/gridsources.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/gridsources_tmp.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/pointsourceactivities.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/pointsources.csv +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/pointsources.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/roadclass_settings.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/roadclasses.csv +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/roadclasses.json +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/roadclasses_1attr.csv +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/roadclasses_1attr.json +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/roaddata.gpkg +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/roads.json +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/roads.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/sinuous_road.geojson +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/timevars.json +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/vehicle_settings.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/vehicles.csv +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/vehicles.json +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/data/vehicles.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/test_common_models.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/test_fleets.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/test_gridsource_models.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/test_importers.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/test_ltreefield.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/test_rasterize.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/test_road_classes.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/test_road_importers.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/edb/test_road_models.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/emissions/__init__.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/emissions/test_aggregate_emissions.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/emissions/test_areasource_emissions.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/emissions/test_custom_sqlite_functions.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/emissions/test_gridsource_emissions.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/emissions/test_pointsource_emissions.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/emissions/test_roadsource_emissions.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/emissions/test_utils.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/test_db.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/tools/conftest.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/tools/data/__init__.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/tools/data/inventory.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/tools/data/validation.xlsx +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/tools/test_calculate.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/tools/test_create.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/tools/test_delete.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/tools/test_exports.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/tools/test_imports.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/tests/tools/test_info.py +0 -0
- {cetk-0.0.8.dev0 → cetk-0.1.0}/windows_find_gdal.py +0 -0
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
``` console
|
|
12
12
|
$ git clone https://git.smhi.se/foclair/cetk.git
|
|
13
13
|
$ cd cetk
|
|
14
|
-
$ python3.
|
|
14
|
+
$ python3.12 -m venv --prompt cetk .venv
|
|
15
15
|
$ . .venv/bin/activate
|
|
16
16
|
$ pip install -U pip setuptools wheel
|
|
17
17
|
$ pip install -r requirements.txt
|
|
@@ -23,7 +23,7 @@ $ pip install -e .
|
|
|
23
23
|
``` console
|
|
24
24
|
$ git clone https://git.smhi.se/foclair/cetk.git
|
|
25
25
|
$ cd cetk
|
|
26
|
-
$ python3.
|
|
26
|
+
$ python3.12 -m venv --prompt cetk .venv
|
|
27
27
|
$ . .venv/Scripts/activate
|
|
28
28
|
$ pip install pre-commit
|
|
29
29
|
$ pip install -e .
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cetk
|
|
3
|
-
Version: 0.0
|
|
3
|
+
Version: 0.1.0
|
|
4
4
|
Summary: CLAIRs Emission ToolKit cetk
|
|
5
5
|
Author: Christian Asker, Mattias Jakobsson, David Segersson, Eef van Dongen
|
|
6
6
|
Maintainer-email: FO Luft <foluftadmin@smhi.se>
|
|
7
7
|
License-Expression: Apache-2.0
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.12
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Requires-Dist: affine<3.0.1
|
|
14
|
-
Requires-Dist: django
|
|
15
|
-
Requires-Dist: fiona>=1.
|
|
14
|
+
Requires-Dist: django>=6.1
|
|
15
|
+
Requires-Dist: fiona>=1.9.5
|
|
16
16
|
Requires-Dist: geopandas>=0.12
|
|
17
|
-
Requires-Dist: netCDF4>=1.6.
|
|
18
|
-
Requires-Dist: numpy<2.5,>=1.
|
|
19
|
-
Requires-Dist: openpyxl>=3.0.
|
|
20
|
-
Requires-Dist: pandas>=2.
|
|
21
|
-
Requires-Dist: pyogrio>=0.
|
|
22
|
-
Requires-Dist:
|
|
23
|
-
Requires-Dist: rasterio>=1.3.
|
|
24
|
-
Requires-Dist: shapely>=2.0
|
|
17
|
+
Requires-Dist: netCDF4>=1.6.5
|
|
18
|
+
Requires-Dist: numpy<2.5,>=1.26
|
|
19
|
+
Requires-Dist: openpyxl>=3.0.10
|
|
20
|
+
Requires-Dist: pandas>=2.1.1
|
|
21
|
+
Requires-Dist: pyogrio>=0.7.0
|
|
22
|
+
Requires-Dist: rastafari>=0.4
|
|
23
|
+
Requires-Dist: rasterio>=1.3.9
|
|
24
|
+
Requires-Dist: shapely>=2.0.2
|
|
25
25
|
Dynamic: license-file
|
|
26
26
|
|
|
27
27
|
# Emission ToolKit cetk
|
|
@@ -13,6 +13,7 @@ attrs==26.1.0
|
|
|
13
13
|
certifi==2026.7.22
|
|
14
14
|
# via
|
|
15
15
|
# fiona
|
|
16
|
+
# netcdf4
|
|
16
17
|
# pyogrio
|
|
17
18
|
# pyproj
|
|
18
19
|
# rasterio
|
|
@@ -32,60 +33,58 @@ cligj==0.7.2
|
|
|
32
33
|
# via
|
|
33
34
|
# fiona
|
|
34
35
|
# rasterio
|
|
35
|
-
django==
|
|
36
|
+
django==6.1
|
|
36
37
|
# via cetk (pyproject.toml)
|
|
37
38
|
et-xmlfile==2.0.0
|
|
38
39
|
# via openpyxl
|
|
39
|
-
fiona==1.
|
|
40
|
+
fiona==1.9.5
|
|
40
41
|
# via
|
|
41
42
|
# cetk (pyproject.toml)
|
|
42
43
|
# geopandas
|
|
43
44
|
geopandas==0.12.1
|
|
44
45
|
# via cetk (pyproject.toml)
|
|
45
|
-
|
|
46
|
-
# via fiona
|
|
47
|
-
netcdf4==1.6.1
|
|
46
|
+
netcdf4==1.6.5
|
|
48
47
|
# via cetk (pyproject.toml)
|
|
49
|
-
numpy==1.
|
|
48
|
+
numpy==1.26.0
|
|
50
49
|
# via
|
|
51
50
|
# cetk (pyproject.toml)
|
|
52
51
|
# cftime
|
|
53
52
|
# netcdf4
|
|
54
53
|
# pandas
|
|
55
54
|
# pyogrio
|
|
56
|
-
#
|
|
55
|
+
# rastafari
|
|
57
56
|
# rasterio
|
|
58
57
|
# shapely
|
|
59
58
|
# snuggs
|
|
60
|
-
openpyxl==3.0.
|
|
59
|
+
openpyxl==3.0.10
|
|
61
60
|
# via cetk (pyproject.toml)
|
|
62
61
|
packaging==26.3
|
|
63
62
|
# via geopandas
|
|
64
|
-
pandas==2.
|
|
63
|
+
pandas==2.1.1
|
|
65
64
|
# via
|
|
66
65
|
# cetk (pyproject.toml)
|
|
67
66
|
# geopandas
|
|
68
|
-
pyogrio==0.
|
|
67
|
+
pyogrio==0.7.0
|
|
69
68
|
# via cetk (pyproject.toml)
|
|
70
69
|
pyparsing==3.3.2
|
|
71
70
|
# via snuggs
|
|
72
|
-
pyproj==3.
|
|
71
|
+
pyproj==3.8.0
|
|
73
72
|
# via
|
|
74
73
|
# geopandas
|
|
75
|
-
#
|
|
74
|
+
# rastafari
|
|
76
75
|
python-dateutil==2.9.0.post0
|
|
77
76
|
# via pandas
|
|
78
77
|
pytz==2026.3.post1
|
|
79
78
|
# via pandas
|
|
80
|
-
|
|
79
|
+
rastafari==0.4.2.1
|
|
81
80
|
# via cetk (pyproject.toml)
|
|
82
|
-
rasterio==1.3.
|
|
81
|
+
rasterio==1.3.9
|
|
83
82
|
# via cetk (pyproject.toml)
|
|
84
83
|
setuptools==84.0.0
|
|
85
84
|
# via
|
|
86
85
|
# fiona
|
|
87
86
|
# rasterio
|
|
88
|
-
shapely==2.0.
|
|
87
|
+
shapely==2.0.2
|
|
89
88
|
# via
|
|
90
89
|
# cetk (pyproject.toml)
|
|
91
90
|
# geopandas
|
|
@@ -19,7 +19,7 @@ def requirements_dev(session):
|
|
|
19
19
|
pip_compile(session, "requirements-dev.txt", "requirements-dev.in")
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
@nox.session(name="constraints-lowest", python="3.
|
|
22
|
+
@nox.session(name="constraints-lowest", python="3.12")
|
|
23
23
|
def constraints_lowest(session):
|
|
24
24
|
"""Re-compile the constraints for the lowest allowed dependency versions"""
|
|
25
25
|
session.install("-c", "requirements-dev.txt", "uv")
|
|
@@ -58,7 +58,7 @@ def test(session):
|
|
|
58
58
|
session.run("pytest", *session.posargs)
|
|
59
59
|
|
|
60
60
|
|
|
61
|
-
@nox.session(name="test-lowest", python="3.
|
|
61
|
+
@nox.session(name="test-lowest", python="3.12")
|
|
62
62
|
def test_lowest(session):
|
|
63
63
|
"""Run the unit and regression tests with the lowest allowed versions."""
|
|
64
64
|
session.install("-c", "requirements-dev.txt", *TEST_REQUIREMENTS)
|
|
@@ -15,7 +15,7 @@ maintainers = [
|
|
|
15
15
|
]
|
|
16
16
|
description = "CLAIRs Emission ToolKit cetk"
|
|
17
17
|
readme = "README.md"
|
|
18
|
-
requires-python = ">=3.
|
|
18
|
+
requires-python = ">=3.12"
|
|
19
19
|
license = "Apache-2.0"
|
|
20
20
|
license-files = ["LICENSE"]
|
|
21
21
|
classifiers = [
|
|
@@ -24,17 +24,17 @@ classifiers = [
|
|
|
24
24
|
]
|
|
25
25
|
dependencies = [ # Release date Comment
|
|
26
26
|
"affine<3.0.1", # 2026-08-28 required by rasterio - support for 3.0.1+ pending
|
|
27
|
-
"django >=
|
|
28
|
-
"fiona >=1.
|
|
27
|
+
"django >=6.1", # 2026-08-05 introduced support for GDAL3.13 - QGIS4.2 depends on GDAL3.13
|
|
28
|
+
"fiona >=1.9.5", # 2023-10-12 first version with cp312 wheel
|
|
29
29
|
"geopandas >=0.12", # 2022-10-24 first version with shapely 2 support
|
|
30
|
-
"netCDF4 >=1.6.
|
|
31
|
-
"numpy >=1.
|
|
32
|
-
"openpyxl >=3.0.
|
|
33
|
-
"pandas >=2.
|
|
34
|
-
"pyogrio >=0.
|
|
35
|
-
"
|
|
36
|
-
"rasterio >=1.3.
|
|
37
|
-
"shapely >=2.0",
|
|
30
|
+
"netCDF4 >=1.6.5", # 2023-10-25 first version with cp312 wheel
|
|
31
|
+
"numpy >=1.26,<2.5", # 2021-05-10 first version with cp312 wheel, numpy 2.5 not compatible with NetCDF4
|
|
32
|
+
"openpyxl >=3.0.10", # 2021-03-09 required by pandas
|
|
33
|
+
"pandas >=2.1.1", # 2023-09-20 first version with cp312 wheel
|
|
34
|
+
"pyogrio >=0.7.0", # 2023-10-25 first version with cp312 wheel
|
|
35
|
+
"rastafari >=0.4",
|
|
36
|
+
"rasterio >=1.3.9", # 2023-10-19 first version with cp312 wheel
|
|
37
|
+
"shapely >=2.0.2", # 2023-10-12 first version with cp312 wheel
|
|
38
38
|
]
|
|
39
39
|
dynamic = ["version"]
|
|
40
40
|
|
|
@@ -58,7 +58,6 @@ filterwarnings = [
|
|
|
58
58
|
"error",
|
|
59
59
|
"ignore:numpy\\.ndarray size changed:RuntimeWarning",
|
|
60
60
|
"ignore:CheckConstraint\\.check is deprecated:DeprecationWarning",
|
|
61
|
-
"ignore:coord_dim setter is deprecated:DeprecationWarning",
|
|
62
61
|
]
|
|
63
62
|
|
|
64
63
|
[tool.ruff.lint]
|
|
@@ -1377,7 +1377,11 @@ def import_roads(
|
|
|
1377
1377
|
raise ValidationError(msg)
|
|
1378
1378
|
|
|
1379
1379
|
gdalgeom = GDALLineString(source_geom.wkt)
|
|
1380
|
-
gdalgeom.coord_dim
|
|
1380
|
+
if gdalgeom.coord_dim == 3:
|
|
1381
|
+
xy_coords = [point[:2] for point in gdalgeom.tuple]
|
|
1382
|
+
wkt_string = f"LINESTRING ({', '.join(f'{x} {y}' for x, y in xy_coords)})"
|
|
1383
|
+
gdalgeom = GDALLineString(wkt_string)
|
|
1384
|
+
|
|
1381
1385
|
gdalgeom.transform(trans)
|
|
1382
1386
|
geom = gdalgeom.geos
|
|
1383
1387
|
road_data = {"geom": geom}
|
|
@@ -5,13 +5,21 @@ import os
|
|
|
5
5
|
DEBUG = os.environ.get("CETK_DEBUG", False)
|
|
6
6
|
|
|
7
7
|
if "FLATPAK_ID" in os.environ:
|
|
8
|
-
SPATIALITE_LIBRARY_PATH =
|
|
8
|
+
SPATIALITE_LIBRARY_PATH = os.environ.get(
|
|
9
|
+
"SPATIALITE_LIBRARY_PATH", "/app/lib/mod_spatialite.so"
|
|
10
|
+
)
|
|
9
11
|
elif os.name == "posix":
|
|
10
|
-
SPATIALITE_LIBRARY_PATH =
|
|
12
|
+
SPATIALITE_LIBRARY_PATH = os.environ.get(
|
|
13
|
+
"SPATIALITE_LIBRARY_PATH", "/usr/lib64/mod_spatialite.so"
|
|
14
|
+
)
|
|
11
15
|
elif os.name == "nt":
|
|
12
|
-
SPATIALITE_LIBRARY_PATH =
|
|
16
|
+
SPATIALITE_LIBRARY_PATH = os.environ.get(
|
|
17
|
+
"SPATIALITE_LIBRARY_PATH", r"C:\OSGeo4W\bin\mod_spatialite.dll"
|
|
18
|
+
)
|
|
13
19
|
else:
|
|
14
|
-
SPATIALITE_LIBRARY_PATH =
|
|
20
|
+
SPATIALITE_LIBRARY_PATH = os.environ.get(
|
|
21
|
+
"SPATIALITE_LIBRARY_PATH", "/usr/lib64/mod_spatialite.so"
|
|
22
|
+
)
|
|
15
23
|
|
|
16
24
|
# Application definition
|
|
17
25
|
INSTALLED_APPS = [
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cetk
|
|
3
|
-
Version: 0.0
|
|
3
|
+
Version: 0.1.0
|
|
4
4
|
Summary: CLAIRs Emission ToolKit cetk
|
|
5
5
|
Author: Christian Asker, Mattias Jakobsson, David Segersson, Eef van Dongen
|
|
6
6
|
Maintainer-email: FO Luft <foluftadmin@smhi.se>
|
|
7
7
|
License-Expression: Apache-2.0
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.12
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Requires-Dist: affine<3.0.1
|
|
14
|
-
Requires-Dist: django
|
|
15
|
-
Requires-Dist: fiona>=1.
|
|
14
|
+
Requires-Dist: django>=6.1
|
|
15
|
+
Requires-Dist: fiona>=1.9.5
|
|
16
16
|
Requires-Dist: geopandas>=0.12
|
|
17
|
-
Requires-Dist: netCDF4>=1.6.
|
|
18
|
-
Requires-Dist: numpy<2.5,>=1.
|
|
19
|
-
Requires-Dist: openpyxl>=3.0.
|
|
20
|
-
Requires-Dist: pandas>=2.
|
|
21
|
-
Requires-Dist: pyogrio>=0.
|
|
22
|
-
Requires-Dist:
|
|
23
|
-
Requires-Dist: rasterio>=1.3.
|
|
24
|
-
Requires-Dist: shapely>=2.0
|
|
17
|
+
Requires-Dist: netCDF4>=1.6.5
|
|
18
|
+
Requires-Dist: numpy<2.5,>=1.26
|
|
19
|
+
Requires-Dist: openpyxl>=3.0.10
|
|
20
|
+
Requires-Dist: pandas>=2.1.1
|
|
21
|
+
Requires-Dist: pyogrio>=0.7.0
|
|
22
|
+
Requires-Dist: rastafari>=0.4
|
|
23
|
+
Requires-Dist: rasterio>=1.3.9
|
|
24
|
+
Requires-Dist: shapely>=2.0.2
|
|
25
25
|
Dynamic: license-file
|
|
26
26
|
|
|
27
27
|
# Emission ToolKit cetk
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|