tasi 0.0.post1__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.
@@ -0,0 +1,27 @@
1
+ # virtual environments
2
+ .venv
3
+
4
+ # documentation
5
+ doc/build
6
+ doc/source/user_guide/faq/index.rst
7
+ doc/source/user_guide/data_visualization/index.rst
8
+ doc/source/user_guide/data_analysis/index.rst
9
+ doc/source/user_guide/data_loading_and_saving/index.rst
10
+
11
+ *api
12
+
13
+ # distribution
14
+ dist
15
+
16
+ # compiled
17
+ __pycache__
18
+
19
+ # data
20
+ etc
21
+ *.csv
22
+ *.xosc
23
+
24
+ # IDE
25
+ .vscode
26
+
27
+ *.py
tasi-0.0.post1/LICENSE ADDED
@@ -0,0 +1,13 @@
1
+ Copyright 2024 DLR-TS
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
@@ -0,0 +1,107 @@
1
+ Metadata-Version: 2.5
2
+ Name: tasi
3
+ Version: 0.0.post1
4
+ Summary: Library for Traffic Analysis and Situation Interpretation
5
+ Author-email: Lars Klitzke <lars.klitzke@dlr.de>, Clemens Schicktanz <clemens.schicktanz@dlr.de>
6
+ License-File: LICENSE
7
+ Requires-Python: <4.0,>=3.11
8
+ Requires-Dist: coloredlogs>=15.0.1
9
+ Requires-Dist: dtaidistance>=2.3.13
10
+ Requires-Dist: folium>=0.19.5
11
+ Requires-Dist: geoalchemy2>=0.17.1
12
+ Requires-Dist: geojson-pydantic>=2.0.0
13
+ Requires-Dist: geopandas>=1.0.1
14
+ Requires-Dist: mapclassify>=2.8.1
15
+ Requires-Dist: matplotlib>=3.10.3
16
+ Requires-Dist: numba>=0.62.1
17
+ Requires-Dist: pandas>=2.3.0
18
+ Requires-Dist: pydantic-settings>=2.10.1
19
+ Requires-Dist: pydantic>=2.11.7
20
+ Requires-Dist: requests>=2.33.1
21
+ Requires-Dist: shapely>=2.1.0
22
+ Requires-Dist: sqlalchemy>=2.0.41
23
+ Requires-Dist: tilemapbase>=0.4.7
24
+ Requires-Dist: tqdm>=4.67.1
25
+ Provides-Extra: all
26
+ Requires-Dist: folium>=0.19.5; extra == 'all'
27
+ Requires-Dist: geojson-pydantic>=2.0.0; extra == 'all'
28
+ Requires-Dist: geopandas>=1.0.1; extra == 'all'
29
+ Requires-Dist: mapclassify>=2.8.1; extra == 'all'
30
+ Requires-Dist: matplotlib>=3.10.3; extra == 'all'
31
+ Requires-Dist: numba>=0.62.1; extra == 'all'
32
+ Requires-Dist: psycopg[binary,pool]>=3.2.9; extra == 'all'
33
+ Requires-Dist: pydantic-settings>=2.10.1; extra == 'all'
34
+ Requires-Dist: shapely>=2.1.0; extra == 'all'
35
+ Requires-Dist: sqlalchemy>=2.0.41; extra == 'all'
36
+ Requires-Dist: tilemapbase>=0.4.7; extra == 'all'
37
+ Provides-Extra: database
38
+ Requires-Dist: psycopg[binary,pool]>=3.2.9; extra == 'database'
39
+ Provides-Extra: geo
40
+ Requires-Dist: geojson-pydantic>=2.0.0; extra == 'geo'
41
+ Requires-Dist: geopandas>=1.0.1; extra == 'geo'
42
+ Requires-Dist: shapely>=2.1.0; extra == 'geo'
43
+ Provides-Extra: io
44
+ Requires-Dist: pydantic-settings>=2.10.1; extra == 'io'
45
+ Requires-Dist: shapely>=2.1.0; extra == 'io'
46
+ Requires-Dist: sqlalchemy>=2.0.41; extra == 'io'
47
+ Provides-Extra: performance
48
+ Requires-Dist: numba>=0.62.1; extra == 'performance'
49
+ Provides-Extra: visualization
50
+ Requires-Dist: folium>=0.19.5; extra == 'visualization'
51
+ Requires-Dist: mapclassify>=2.8.1; extra == 'visualization'
52
+ Requires-Dist: matplotlib>=3.10.3; extra == 'visualization'
53
+ Provides-Extra: wms
54
+ Requires-Dist: folium>=0.19.5; extra == 'wms'
55
+ Requires-Dist: mapclassify>=2.8.1; extra == 'wms'
56
+ Requires-Dist: matplotlib>=3.10.3; extra == 'wms'
57
+ Requires-Dist: tilemapbase>=0.4.7; extra == 'wms'
58
+ Description-Content-Type: text/markdown
59
+
60
+ # TrAffic Situation analysis and Interpretation
61
+
62
+ [![pypi](https://img.shields.io/pypi/v/tasi.svg)](https://pypi.python.org/pypi/tasi/) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14034644.svg)](https://doi.org/10.5281/zenodo.14034644) [![DLR-TS](https://img.shields.io/badge/developed%20by-DLR%20TS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://www.dlr.de/en/ts/about-us/the-institute-of-transportation-systems) [![PyPI Downloads](https://static.pepy.tech/badge/tasi)](https://pepy.tech/projects/tasi)
63
+
64
+ <p align="center">
65
+ <img src="doc/source/_static/logos/TASI_Logo.png" width="350px"/>
66
+ </p>
67
+
68
+ TASI is a library to provide high-performance, easy-to-use data structures and data analysis tools for Python based
69
+ traffic situation analysis and interpretation applications.
70
+
71
+ > **TASI** is backed by those wonderful libraries [`Numpy`](https://numpy.org/), [`Pandas`](https://pandas.pydata.org/),
72
+ > and [`Numba`](http://numba.pydata.org/)
73
+
74
+ ## Getting started
75
+
76
+ Install ``TASI`` from the PyPi registry.
77
+ ```bash
78
+ pip install tasi
79
+ ```
80
+
81
+ Download the latest DLR-UT version for demonstration purpose.
82
+ ```python
83
+ from tasi.dlr import DLRUTDatasetManager, DLRUTVersion,
84
+
85
+ dataset = DLRUTDatasetManager(DLRUTVersion.latest)
86
+ dataset.load()
87
+ ```
88
+
89
+ and visualize the trajectories within the dataset using `matplotlib`.
90
+
91
+ ```python
92
+ from tasi.dlr import DLRTrajectoryDataset
93
+ from tasi.plotting import TrajectoryPlotter
94
+
95
+ import matplotlib.pyplot as plt
96
+
97
+ # load the first file of the dataset
98
+ ds_ut = DLRTrajectoryDataset.from_csv(dataset.trajectory()[0])
99
+
100
+ # plot the trajectories
101
+ f, ax = plt.subplots()
102
+
103
+ plotter = TrajectoryPlotter()
104
+ plotter.plot(ds_ut, ax=ax)
105
+ ```
106
+
107
+ ![trajectory-example](etc/example.jpg)
@@ -0,0 +1,48 @@
1
+ # TrAffic Situation analysis and Interpretation
2
+
3
+ [![pypi](https://img.shields.io/pypi/v/tasi.svg)](https://pypi.python.org/pypi/tasi/) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14034644.svg)](https://doi.org/10.5281/zenodo.14034644) [![DLR-TS](https://img.shields.io/badge/developed%20by-DLR%20TS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://www.dlr.de/en/ts/about-us/the-institute-of-transportation-systems) [![PyPI Downloads](https://static.pepy.tech/badge/tasi)](https://pepy.tech/projects/tasi)
4
+
5
+ <p align="center">
6
+ <img src="doc/source/_static/logos/TASI_Logo.png" width="350px"/>
7
+ </p>
8
+
9
+ TASI is a library to provide high-performance, easy-to-use data structures and data analysis tools for Python based
10
+ traffic situation analysis and interpretation applications.
11
+
12
+ > **TASI** is backed by those wonderful libraries [`Numpy`](https://numpy.org/), [`Pandas`](https://pandas.pydata.org/),
13
+ > and [`Numba`](http://numba.pydata.org/)
14
+
15
+ ## Getting started
16
+
17
+ Install ``TASI`` from the PyPi registry.
18
+ ```bash
19
+ pip install tasi
20
+ ```
21
+
22
+ Download the latest DLR-UT version for demonstration purpose.
23
+ ```python
24
+ from tasi.dlr import DLRUTDatasetManager, DLRUTVersion,
25
+
26
+ dataset = DLRUTDatasetManager(DLRUTVersion.latest)
27
+ dataset.load()
28
+ ```
29
+
30
+ and visualize the trajectories within the dataset using `matplotlib`.
31
+
32
+ ```python
33
+ from tasi.dlr import DLRTrajectoryDataset
34
+ from tasi.plotting import TrajectoryPlotter
35
+
36
+ import matplotlib.pyplot as plt
37
+
38
+ # load the first file of the dataset
39
+ ds_ut = DLRTrajectoryDataset.from_csv(dataset.trajectory()[0])
40
+
41
+ # plot the trajectories
42
+ f, ax = plt.subplots()
43
+
44
+ plotter = TrajectoryPlotter()
45
+ plotter.plot(ds_ut, ax=ax)
46
+ ```
47
+
48
+ ![trajectory-example](etc/example.jpg)
@@ -0,0 +1,148 @@
1
+
2
+ [build-system]
3
+ requires = ["hatchling", "hatch-vcs"]
4
+ build-backend = "hatchling.build"
5
+
6
+ [project]
7
+ name = "tasi"
8
+ description = "Library for Traffic Analysis and Situation Interpretation"
9
+ authors = [
10
+ { name = "Lars Klitzke", email = "lars.klitzke@dlr.de" },
11
+ { name = "Clemens Schicktanz", email = "clemens.schicktanz@dlr.de" },
12
+ ]
13
+ readme = "README.md"
14
+ requires-python = ">=3.11,<4.0"
15
+ dynamic = ["version"]
16
+ dependencies = [
17
+ "coloredlogs>=15.0.1",
18
+ "shapely>=2.1.0",
19
+ "geopandas>=1.0.1",
20
+ "pydantic>=2.11.7",
21
+ "geojson-pydantic>=2.0.0",
22
+ "pydantic-settings>=2.10.1",
23
+ "pandas>=2.3.0",
24
+ "sqlalchemy>=2.0.41",
25
+ "geoalchemy2>=0.17.1",
26
+ "matplotlib>=3.10.3",
27
+ "mapclassify>=2.8.1",
28
+ "folium>=0.19.5",
29
+ "tilemapbase>=0.4.7",
30
+ "dtaidistance>=2.3.13",
31
+ "tqdm>=4.67.1",
32
+ "numba>=0.62.1",
33
+ "requests>=2.33.1",
34
+ ]
35
+
36
+ [project.optional-dependencies]
37
+ geo = [
38
+ "geojson-pydantic>=2.0.0",
39
+ "geopandas>=1.0.1",
40
+ "shapely>=2.1.0",
41
+ ]
42
+ visualization = [
43
+ "matplotlib>=3.10.3",
44
+ "mapclassify>=2.8.1",
45
+ "folium>=0.19.5",
46
+ ]
47
+ wms = [
48
+ "matplotlib>=3.10.3",
49
+ "mapclassify>=2.8.1",
50
+ "folium>=0.19.5",
51
+ "tilemapbase>=0.4.7",
52
+ ]
53
+ database = [
54
+ "psycopg[binary,pool]>=3.2.9",
55
+ ]
56
+ performance = [
57
+ "numba>=0.62.1",
58
+ ]
59
+ io = [
60
+ "pydantic-settings>=2.10.1",
61
+ "sqlalchemy>=2.0.41",
62
+ "shapely>=2.1.0",
63
+ ]
64
+ all = [
65
+ "geojson-pydantic>=2.0.0",
66
+ "geopandas>=1.0.1",
67
+ "shapely>=2.1.0",
68
+ "matplotlib>=3.10.3",
69
+ "mapclassify>=2.8.1",
70
+ "folium>=0.19.5",
71
+ "tilemapbase>=0.4.7",
72
+ "psycopg[binary,pool]>=3.2.9",
73
+ "numba>=0.62.1",
74
+ "pydantic-settings>=2.10.1",
75
+ "sqlalchemy>=2.0.41",
76
+ ]
77
+
78
+ [project.scripts]
79
+ dlr-downloader = "tasi.dlr.dataset:download"
80
+
81
+ [tool.hatch.version]
82
+ source = "vcs"
83
+
84
+ [tool.hatch.build.hooks.vcs]
85
+ version-file = "tasi/_version.py"
86
+
87
+ [tool.hatch.version.raw-options]
88
+ version_scheme = "post-release"
89
+ local_scheme = "no-local-version"
90
+
91
+ [tool.hatch.build.targets.wheel]
92
+ packages = ["tasi"]
93
+
94
+ [tool.hatch.build.targets.sdist]
95
+ include = ["tasi"]
96
+
97
+ # UV dependency groups (replaces Poetry groups)
98
+ [dependency-groups]
99
+ test = [
100
+ "coverage>=7.6.4",
101
+ "ipython>=8.18.1",
102
+ "pytest>=8.3.3",
103
+ "pytest-xdist>=3.6.1",
104
+ "pytest-cov>=5.0.0",
105
+ ]
106
+ dev = [
107
+ "pylint>=3.3.1",
108
+ "autopep8>=2.3.1",
109
+ "doc8>=2.0.0",
110
+ "rstcheck>=6.2.5",
111
+ ]
112
+ build = [
113
+ "wheel",
114
+ "toml",
115
+ ]
116
+ docs = [
117
+ "ipython>=8.18.1",
118
+ "sphinx==7.4.7",
119
+ "nbsphinx==0.8.12",
120
+ "pydata-sphinx-theme>=0.15.4",
121
+ "docutils",
122
+ "markdown",
123
+ "markdown-it-py",
124
+ "pymdown-extensions",
125
+ "sphinxcontrib-apidoc",
126
+ "sphinx-copybutton",
127
+ "sphinx-markdown-parser",
128
+ "sphinx-gallery==0.18.0",
129
+ "myst-parser==3.0.1",
130
+ "numpydoc==1.8.0",
131
+ "sphinx-toggleprompt==0.5.2",
132
+ "ipykernel",
133
+ "jupytext>=1.16.4",
134
+ "sphinxemoji>=0.3.1",
135
+ ]
136
+
137
+ [tool.pytest.ini_options]
138
+ addopts = "--doctest-modules"
139
+ testpaths = ["tasi/tests"]
140
+ doctest_optionflags = ["ELLIPSIS", "NORMALIZE_WHITESPACE", "IGNORE_EXCEPTION_DETAIL"]
141
+
142
+ # Tool configurations (preserved from original)
143
+ [tool.autopep8]
144
+ max_line_length = 100
145
+ ignore = "E501,W6"
146
+ in-place = true
147
+ recursive = true
148
+ aggressive = 3
@@ -0,0 +1,24 @@
1
+ # file generated by vcs-versioning
2
+ # don't change, don't track in version control
3
+ from __future__ import annotations
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "__version_tuple__",
8
+ "version",
9
+ "version_tuple",
10
+ "__commit_id__",
11
+ "commit_id",
12
+ ]
13
+
14
+ version: str
15
+ __version__: str
16
+ __version_tuple__: tuple[int | str, ...]
17
+ version_tuple: tuple[int | str, ...]
18
+ commit_id: str | None
19
+ __commit_id__: str | None
20
+
21
+ __version__ = version = '0.0.post1'
22
+ __version_tuple__ = version_tuple = (0, 0, 'post1')
23
+
24
+ __commit_id__ = commit_id = None
@@ -0,0 +1,3 @@
1
+ # Test data
2
+
3
+ The datasets contain only the first files of the publicy available dataset. Futhermore, the OpenSCENARIO file of the DLR Highway Traffic dataset was truncated in order to reduce the required storage space.