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.
Files changed (29) hide show
  1. flightplotting-0.2.5/.github/workflows/publish_pypi.yml +52 -0
  2. flightplotting-0.2.5/.gitignore +130 -0
  3. flightplotting-0.2.5/.vscode/settings.json +7 -0
  4. {flightplotting-0.2.3/flightplotting.egg-info → flightplotting-0.2.5}/PKG-INFO +15 -6
  5. {flightplotting-0.2.3 → flightplotting-0.2.5}/README.md +9 -0
  6. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/__init__.py +1 -1
  7. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/plots.py +12 -9
  8. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/traces.py +0 -1
  9. {flightplotting-0.2.3 → flightplotting-0.2.5/flightplotting.egg-info}/PKG-INFO +15 -6
  10. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting.egg-info/SOURCES.txt +9 -3
  11. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting.egg-info/requires.txt +1 -2
  12. flightplotting-0.2.5/pyproject.toml +21 -0
  13. flightplotting-0.2.5/requirements.txt +6 -0
  14. flightplotting-0.2.5/setup.cfg +4 -0
  15. flightplotting-0.2.5/tests/__init__.py +0 -0
  16. flightplotting-0.2.5/tests/data/__init__.py +0 -0
  17. flightplotting-0.2.5/tests/data/p23_flight.json +1169407 -0
  18. flightplotting-0.2.3/setup.cfg +0 -25
  19. flightplotting-0.2.3/setup.py +0 -15
  20. {flightplotting-0.2.3 → flightplotting-0.2.5}/COPYING +0 -0
  21. {flightplotting-0.2.3 → flightplotting-0.2.5}/MANIFEST.in +0 -0
  22. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/data/ColdDraftF3APlane.obj +0 -0
  23. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/data/__init__.py +0 -0
  24. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/model.py +0 -0
  25. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/templates.py +0 -0
  26. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting/titlerenderer.py +0 -0
  27. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting.egg-info/dependency_links.txt +0 -0
  28. {flightplotting-0.2.3 → flightplotting-0.2.5}/flightplotting.egg-info/top_level.txt +0 -0
  29. {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/
@@ -0,0 +1,7 @@
1
+ {
2
+ "python.testing.pytestArgs": [
3
+ "tests"
4
+ ],
5
+ "python.testing.unittestEnabled": false,
6
+ "python.testing.pytestEnabled": true
7
+ }
@@ -1,16 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flightplotting
3
- Version: 0.2.3
3
+ Version: 0.2.5
4
4
  Summary: Tools for Plotting Flight Data in Plotly
5
- Home-page: https://github.com/PyFlightCoach/FlightPlotting
6
- Author: Thomas David
7
- Author-email: thomasdavid0@gmail.com
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
+ ```
@@ -2,3 +2,12 @@
2
2
 
3
3
 
4
4
  This module contains utilities for plotting flight data using plotly
5
+
6
+
7
+ ```bash
8
+ pip install flightplotting
9
+ ```
10
+
11
+ ```bash
12
+ pip install -e .
13
+ ```
@@ -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
- blab = get_base_label(k)
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
- leg = True
125
- else:
126
- leg = False
127
-
128
- traces += ribbon(seg, span, colmap[blab], name=k, showlegend=leg)
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=6, color=colmap[blab]),
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
3
+ Version: 0.2.5
4
4
  Summary: Tools for Plotting Flight Data in Plotly
5
- Home-page: https://github.com/PyFlightCoach/FlightPlotting
6
- Author: Thomas David
7
- Author-email: thomasdavid0@gmail.com
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
- setup.cfg
5
- setup.py
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/test_plots.py
22
+ tests/__init__.py
23
+ tests/test_plots.py
24
+ tests/data/__init__.py
25
+ tests/data/p23_flight.json
@@ -1,7 +1,6 @@
1
- setuptools
2
- plotly
3
1
  numpy
4
2
  pandas
3
+ plotly
5
4
  pfc-geometry>=0.2.4
6
5
  flightdata>=0.2.6
7
6
  flightanalysis>=0.2.6
@@ -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]
@@ -0,0 +1,6 @@
1
+ numpy
2
+ pandas
3
+ plotly
4
+ pfc-geometry>=0.2.4
5
+ flightdata>=0.2.6
6
+ flightanalysis>=0.2.6
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
File without changes
File without changes