flightplotting 0.2.3__tar.gz → 0.2.5__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.
- flightplotting-0.2.5/.github/workflows/publish_pypi.yml +52 -0
- flightplotting-0.2.5/.gitignore +130 -0
- flightplotting-0.2.5/.vscode/settings.json +7 -0
- {flightplotting-0.2.3/flightplotting.egg-info → flightplotting-0.2.5}/PKG-INFO +15 -6
- {flightplotting-0.2.3 → flightplotting-0.2.5}/README.md +9 -0
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/__init__.py +1 -1
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/plots.py +12 -9
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/traces.py +0 -1
- {flightplotting-0.2.3 → flightplotting-0.2.5/flightplotting.egg-info}/PKG-INFO +15 -6
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting.egg-info/SOURCES.txt +9 -3
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting.egg-info/requires.txt +1 -2
- flightplotting-0.2.5/pyproject.toml +21 -0
- flightplotting-0.2.5/requirements.txt +6 -0
- flightplotting-0.2.5/setup.cfg +4 -0
- flightplotting-0.2.5/tests/__init__.py +0 -0
- flightplotting-0.2.5/tests/data/__init__.py +0 -0
- flightplotting-0.2.5/tests/data/p23_flight.json +1169407 -0
- flightplotting-0.2.3/setup.cfg +0 -25
- flightplotting-0.2.3/setup.py +0 -15
- {flightplotting-0.2.3 → flightplotting-0.2.5}/COPYING +0 -0
- {flightplotting-0.2.3 → flightplotting-0.2.5}/MANIFEST.in +0 -0
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/data/ColdDraftF3APlane.obj +0 -0
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/data/__init__.py +0 -0
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/model.py +0 -0
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/templates.py +0 -0
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/titlerenderer.py +0 -0
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting.egg-info/dependency_links.txt +0 -0
- {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting.egg-info/top_level.txt +0 -0
- {flightplotting-0.2.3 → flightplotting-0.2.5}/tests/test_plots.py +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
name: Publish to PyPI and create GH release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v[0-9]+.[0-9]+.[0-9]+'
|
|
7
|
+
jobs:
|
|
8
|
+
build:
|
|
9
|
+
name: Build distribution
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
|
|
15
|
+
- name: Set up Python
|
|
16
|
+
uses: actions/setup-python@v4
|
|
17
|
+
with:
|
|
18
|
+
python-version: 3.x
|
|
19
|
+
|
|
20
|
+
- name: Install dependencies
|
|
21
|
+
run: pip install -r requirements.txt
|
|
22
|
+
|
|
23
|
+
- name: Install pypa / build
|
|
24
|
+
run: python3 -m pip install build --user
|
|
25
|
+
|
|
26
|
+
- name: Build a binary wheel and a source tarball
|
|
27
|
+
run: python3 -m build
|
|
28
|
+
|
|
29
|
+
- name: Store the distribution packages
|
|
30
|
+
uses: actions/upload-artifact@v3
|
|
31
|
+
with:
|
|
32
|
+
name: python-package-distributions
|
|
33
|
+
path: dist/
|
|
34
|
+
|
|
35
|
+
publish-to-pypi:
|
|
36
|
+
name: Publish Python distribution to PyPI
|
|
37
|
+
needs: build
|
|
38
|
+
runs-on: ubuntu-latest
|
|
39
|
+
environment:
|
|
40
|
+
name: pypi
|
|
41
|
+
url: https://pypi.org/p/<package-name>
|
|
42
|
+
permissions:
|
|
43
|
+
id-token: write # IMPORTANT: mandatory for trusted publishing
|
|
44
|
+
|
|
45
|
+
steps:
|
|
46
|
+
- name: Download all the dists
|
|
47
|
+
uses: actions/download-artifact@v3
|
|
48
|
+
with:
|
|
49
|
+
name: python-package-distributions
|
|
50
|
+
path: dist/
|
|
51
|
+
- name: Publish distribution to PyPI
|
|
52
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
logs/
|
|
3
|
+
__pycache__/
|
|
4
|
+
*.py[cod]
|
|
5
|
+
*$py.class
|
|
6
|
+
|
|
7
|
+
# C extensions
|
|
8
|
+
*.so
|
|
9
|
+
|
|
10
|
+
# Distribution / packaging
|
|
11
|
+
.Python
|
|
12
|
+
build/
|
|
13
|
+
develop-eggs/
|
|
14
|
+
dist/
|
|
15
|
+
downloads/
|
|
16
|
+
eggs/
|
|
17
|
+
.eggs/
|
|
18
|
+
lib/
|
|
19
|
+
lib64/
|
|
20
|
+
parts/
|
|
21
|
+
sdist/
|
|
22
|
+
var/
|
|
23
|
+
wheels/
|
|
24
|
+
pip-wheel-metadata/
|
|
25
|
+
share/python-wheels/
|
|
26
|
+
*.egg-info/
|
|
27
|
+
.installed.cfg
|
|
28
|
+
*.egg
|
|
29
|
+
MANIFEST
|
|
30
|
+
|
|
31
|
+
# PyInstaller
|
|
32
|
+
# Usually these files are written by a python script from a template
|
|
33
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
34
|
+
*.manifest
|
|
35
|
+
*.spec
|
|
36
|
+
|
|
37
|
+
# Installer logs
|
|
38
|
+
pip-log.txt
|
|
39
|
+
pip-delete-this-directory.txt
|
|
40
|
+
|
|
41
|
+
# Unit test / coverage reports
|
|
42
|
+
htmlcov/
|
|
43
|
+
.tox/
|
|
44
|
+
.nox/
|
|
45
|
+
.coverage
|
|
46
|
+
.coverage.*
|
|
47
|
+
.cache
|
|
48
|
+
nosetests.xml
|
|
49
|
+
coverage.xml
|
|
50
|
+
*.cover
|
|
51
|
+
*.py,cover
|
|
52
|
+
.hypothesis/
|
|
53
|
+
.pytest_cache/
|
|
54
|
+
|
|
55
|
+
# Translations
|
|
56
|
+
*.mo
|
|
57
|
+
*.pot
|
|
58
|
+
|
|
59
|
+
# Django stuff:
|
|
60
|
+
*.log
|
|
61
|
+
local_settings.py
|
|
62
|
+
db.sqlite3
|
|
63
|
+
db.sqlite3-journal
|
|
64
|
+
|
|
65
|
+
# Flask stuff:
|
|
66
|
+
instance/
|
|
67
|
+
.webassets-cache
|
|
68
|
+
|
|
69
|
+
# Scrapy stuff:
|
|
70
|
+
.scrapy
|
|
71
|
+
|
|
72
|
+
# Sphinx documentation
|
|
73
|
+
docs/_build/
|
|
74
|
+
|
|
75
|
+
# PyBuilder
|
|
76
|
+
target/
|
|
77
|
+
|
|
78
|
+
# Jupyter Notebook
|
|
79
|
+
.ipynb_checkpoints
|
|
80
|
+
|
|
81
|
+
# IPython
|
|
82
|
+
profile_default/
|
|
83
|
+
ipython_config.py
|
|
84
|
+
|
|
85
|
+
# pyenv
|
|
86
|
+
.python-version
|
|
87
|
+
|
|
88
|
+
# pipenv
|
|
89
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
90
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
91
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
92
|
+
# install all needed dependencies.
|
|
93
|
+
#Pipfile.lock
|
|
94
|
+
|
|
95
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
96
|
+
__pypackages__/
|
|
97
|
+
|
|
98
|
+
# Celery stuff
|
|
99
|
+
celerybeat-schedule
|
|
100
|
+
celerybeat.pid
|
|
101
|
+
|
|
102
|
+
# SageMath parsed files
|
|
103
|
+
*.sage.py
|
|
104
|
+
|
|
105
|
+
# Environments
|
|
106
|
+
.env
|
|
107
|
+
.venv
|
|
108
|
+
env/
|
|
109
|
+
venv/
|
|
110
|
+
ENV/
|
|
111
|
+
env.bak/
|
|
112
|
+
venv.bak/
|
|
113
|
+
|
|
114
|
+
# Spyder project settings
|
|
115
|
+
.spyderproject
|
|
116
|
+
.spyproject
|
|
117
|
+
|
|
118
|
+
# Rope project settings
|
|
119
|
+
.ropeproject
|
|
120
|
+
|
|
121
|
+
# mkdocs documentation
|
|
122
|
+
/site
|
|
123
|
+
|
|
124
|
+
# mypy
|
|
125
|
+
.mypy_cache/
|
|
126
|
+
.dmypy.json
|
|
127
|
+
dmypy.json
|
|
128
|
+
|
|
129
|
+
# Pyre type checker
|
|
130
|
+
.pyre/
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flightplotting
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
4
4
|
Summary: Tools for Plotting Flight Data in Plotly
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Author-email: Thomas David <thomasdavid0@gmail.com>
|
|
6
|
+
License: GNU GPL v3
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Requires-Python: >=3.12
|
|
8
9
|
Description-Content-Type: text/markdown
|
|
9
10
|
License-File: COPYING
|
|
10
|
-
Requires-Dist: setuptools
|
|
11
|
-
Requires-Dist: plotly
|
|
12
11
|
Requires-Dist: numpy
|
|
13
12
|
Requires-Dist: pandas
|
|
13
|
+
Requires-Dist: plotly
|
|
14
14
|
Requires-Dist: pfc-geometry>=0.2.4
|
|
15
15
|
Requires-Dist: flightdata>=0.2.6
|
|
16
16
|
Requires-Dist: flightanalysis>=0.2.6
|
|
@@ -19,3 +19,12 @@ Requires-Dist: flightanalysis>=0.2.6
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
This module contains utilities for plotting flight data using plotly
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pip install flightplotting
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pip install -e .
|
|
30
|
+
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
3
|
from flightplotting.plots import plotsec, plot_analysis, plotdtw, create_3d_plot, plot_regions
|
|
4
|
-
from flightplotting.traces import axestrace, trace3d, dtwtrace, vector, vectors, boxtrace, axis_rate_traces, colour_from_scale
|
|
4
|
+
from flightplotting.traces import axestrace, trace3d, dtwtrace, vector, vectors, boxtrace, axis_rate_traces, colour_from_scale, get_colour
|
|
@@ -15,6 +15,7 @@ from flightplotting.traces import (
|
|
|
15
15
|
)
|
|
16
16
|
|
|
17
17
|
from flightdata import State
|
|
18
|
+
from flightdata.base.labeling import get_appended_id
|
|
18
19
|
from geometry import Coord
|
|
19
20
|
from flightplotting.model import obj, OBJ
|
|
20
21
|
import numpy as np
|
|
@@ -99,10 +100,11 @@ def plotdtw(sec: State, manoeuvres: List[str], span=3, fig=None):
|
|
|
99
100
|
|
|
100
101
|
return fig
|
|
101
102
|
|
|
102
|
-
def plot_regions(st: State, lab_cols: list[str], span=3, colours=None, fig=None):
|
|
103
|
+
def plot_regions(st: State, lab_cols: list[str], span=3, colours=None, fig=None, **kwargs):
|
|
103
104
|
colours = px.colors.qualitative.Plotly if colours is None else colours
|
|
104
105
|
lab_cols = [lab_cols] if isinstance(lab_cols, str) else lab_cols
|
|
105
106
|
|
|
107
|
+
|
|
106
108
|
st = st.label(clabs=st.cumulative_labels(*lab_cols))
|
|
107
109
|
|
|
108
110
|
def get_base_label(clab):
|
|
@@ -118,21 +120,22 @@ def plot_regions(st: State, lab_cols: list[str], span=3, colours=None, fig=None)
|
|
|
118
120
|
|
|
119
121
|
traces = []
|
|
120
122
|
for i, (k, seg) in enumerate(st.split_labels('clabs').items()):
|
|
121
|
-
|
|
123
|
+
if len(seg) < 3:
|
|
124
|
+
continue
|
|
125
|
+
blab, id = get_appended_id(k)
|
|
122
126
|
if blab not in colmap:
|
|
123
127
|
colmap[blab] = colours[len(colmap) % len(colours)]
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
traces += ribbon(
|
|
129
|
+
seg, span, colmap[blab], name=blab,
|
|
130
|
+
showlegend=int(id)==0,
|
|
131
|
+
**kwargs[blab] if blab in kwargs else {}
|
|
132
|
+
)
|
|
130
133
|
traces.append(go.Scatter3d(
|
|
131
134
|
x=seg.pos.x,
|
|
132
135
|
y=seg.pos.y,
|
|
133
136
|
z=seg.pos.z,
|
|
134
137
|
mode='lines',
|
|
135
|
-
line=dict(width=
|
|
138
|
+
line=dict(width=0, color=colmap[blab]),
|
|
136
139
|
name=k,
|
|
137
140
|
showlegend=False
|
|
138
141
|
))
|
|
@@ -254,7 +254,6 @@ def ribbon(sec: State, span: float, color, **kwargs):
|
|
|
254
254
|
_ks = np.array(range(2, len(points) -1 , 2))
|
|
255
255
|
_k = _npinterzip(_ks, _ks) # 2 2 4 4 6 6
|
|
256
256
|
|
|
257
|
-
|
|
258
257
|
return [go.Mesh3d(
|
|
259
258
|
x=points.x, y=points.y, z=points.z, i=_i, j=_j, k=_k,
|
|
260
259
|
intensitymode="cell",
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flightplotting
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
4
4
|
Summary: Tools for Plotting Flight Data in Plotly
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Author-email: Thomas David <thomasdavid0@gmail.com>
|
|
6
|
+
License: GNU GPL v3
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Requires-Python: >=3.12
|
|
8
9
|
Description-Content-Type: text/markdown
|
|
9
10
|
License-File: COPYING
|
|
10
|
-
Requires-Dist: setuptools
|
|
11
|
-
Requires-Dist: plotly
|
|
12
11
|
Requires-Dist: numpy
|
|
13
12
|
Requires-Dist: pandas
|
|
13
|
+
Requires-Dist: plotly
|
|
14
14
|
Requires-Dist: pfc-geometry>=0.2.4
|
|
15
15
|
Requires-Dist: flightdata>=0.2.6
|
|
16
16
|
Requires-Dist: flightanalysis>=0.2.6
|
|
@@ -19,3 +19,12 @@ Requires-Dist: flightanalysis>=0.2.6
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
This module contains utilities for plotting flight data using plotly
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pip install flightplotting
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pip install -e .
|
|
30
|
+
```
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
.gitignore
|
|
1
2
|
COPYING
|
|
2
3
|
MANIFEST.in
|
|
3
4
|
README.md
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
pyproject.toml
|
|
6
|
+
requirements.txt
|
|
7
|
+
.github/workflows/publish_pypi.yml
|
|
8
|
+
.vscode/settings.json
|
|
6
9
|
flightplotting/__init__.py
|
|
7
10
|
flightplotting/model.py
|
|
8
11
|
flightplotting/plots.py
|
|
@@ -16,4 +19,7 @@ flightplotting.egg-info/requires.txt
|
|
|
16
19
|
flightplotting.egg-info/top_level.txt
|
|
17
20
|
flightplotting/data/ColdDraftF3APlane.obj
|
|
18
21
|
flightplotting/data/__init__.py
|
|
19
|
-
tests/
|
|
22
|
+
tests/__init__.py
|
|
23
|
+
tests/test_plots.py
|
|
24
|
+
tests/data/__init__.py
|
|
25
|
+
tests/data/p23_flight.json
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = [
|
|
3
|
+
"setuptools>=60",
|
|
4
|
+
"setuptools-scm>=8.0"
|
|
5
|
+
]
|
|
6
|
+
build-backend = "setuptools.build_meta"
|
|
7
|
+
|
|
8
|
+
[project]
|
|
9
|
+
name = "flightplotting"
|
|
10
|
+
authors = [{name = "Thomas David", email = "thomasdavid0@gmail.com"}]
|
|
11
|
+
description = "Tools for Plotting Flight Data in Plotly"
|
|
12
|
+
readme = "README.md"
|
|
13
|
+
requires-python = ">=3.12"
|
|
14
|
+
license = {text = "GNU GPL v3"}
|
|
15
|
+
classifiers = ["Programming Language :: Python :: 3",]
|
|
16
|
+
dynamic = ["version", "dependencies"]
|
|
17
|
+
|
|
18
|
+
[tool.setuptools.dynamic]
|
|
19
|
+
dependencies = {file = ["requirements.txt"]}
|
|
20
|
+
|
|
21
|
+
[tool.setuptools_scm]
|
|
File without changes
|
|
File without changes
|