gri-plot 0.2.0.post1__tar.gz → 0.2.2__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 (74) hide show
  1. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/.gitlab-ci.yml +2 -2
  2. gri_plot-0.2.2/.python-version +1 -0
  3. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/CONTRIBUTING.md +1 -1
  4. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/PKG-INFO +17 -6
  5. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/README.md +1 -1
  6. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/__init__.py +3 -0
  7. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/figure3d.py +2 -0
  8. gri_plot-0.2.2/gri_plot/figure_map.py +690 -0
  9. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/frames.py +2 -0
  10. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/observables/aoa.py +2 -0
  11. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/observables/fdoa.py +2 -0
  12. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/observables/los.py +2 -0
  13. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/observables/range_sphere.py +2 -0
  14. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/observables/tdoa.py +2 -0
  15. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/observables/terrain.py +2 -0
  16. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/plot_ellipse.py +2 -0
  17. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/scatter.py +2 -0
  18. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/scatter_map.py +2 -0
  19. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/shapes/cone.py +2 -0
  20. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/shapes/cylinder.py +2 -0
  21. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/shapes/ellipse.py +2 -0
  22. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/shapes/ellipsoid.py +2 -0
  23. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/shapes/meshgen.py +2 -0
  24. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/shapes/sphere.py +2 -0
  25. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/surfaces/__init__.py +2 -0
  26. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/surfaces/gradients/axis.py +2 -0
  27. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/surfaces/gradients/line.py +2 -0
  28. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/surfaces/gradients/plane.py +2 -0
  29. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/surfaces/gradients/point.py +2 -0
  30. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/surfaces/intersection.py +2 -0
  31. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/surfaces/mesh.py +2 -0
  32. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/pyproject.toml +19 -4
  33. gri_plot-0.2.2/report.xml +1 -0
  34. gri_plot-0.2.2/test/test_figure_map.py +338 -0
  35. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/uv.lock +193 -1
  36. gri_plot-0.2.0.post1/.python-version +0 -1
  37. gri_plot-0.2.0.post1/report.xml +0 -1
  38. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/.coveragerc +0 -0
  39. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/.docs_other_projects.md +0 -0
  40. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/.gitignore +0 -0
  41. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/.gitlab-ci-deps.yml +0 -0
  42. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/.init_venv.sh +0 -0
  43. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/.pre-commit-config.yaml +0 -0
  44. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/.pre-commit-unskipped.py +0 -0
  45. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/.ruff.toml +0 -0
  46. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/.vscode/settings.json +0 -0
  47. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/LICENSE +0 -0
  48. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/observables/__init__.py +0 -0
  49. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/py.typed +0 -0
  50. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/shapes/__init__.py +0 -0
  51. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/gri_plot/surfaces/gradients/__init__.py +0 -0
  52. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/notes.txt +0 -0
  53. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/__init__.py +0 -0
  54. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_figure3d.py +0 -0
  55. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_frames.py +0 -0
  56. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_observables/__init__.py +0 -0
  57. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_observables/test_aoa.py +0 -0
  58. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_observables/test_fdoa.py +0 -0
  59. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_observables/test_los.py +0 -0
  60. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_observables/test_range_sphere.py +0 -0
  61. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_observables/test_tdoa.py +0 -0
  62. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_observables/test_terrain.py +0 -0
  63. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_plot_ellipse.py +0 -0
  64. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_plot_scattermap.py +0 -0
  65. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_scatter.py +0 -0
  66. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_shapes/__init__.py +0 -0
  67. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_shapes/test_cone.py +0 -0
  68. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_shapes/test_cylinder.py +0 -0
  69. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_shapes/test_ellipse.py +0 -0
  70. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_shapes/test_ellipsoid.py +0 -0
  71. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_shapes/test_sphere.py +0 -0
  72. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_surfaces/__init__.py +0 -0
  73. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_surfaces/test_intersection.py +0 -0
  74. {gri_plot-0.2.0.post1 → gri_plot-0.2.2}/test/test_surfaces/test_mesh.py +0 -0
@@ -17,7 +17,7 @@ cache:
17
17
  - .venv/
18
18
 
19
19
  .python_base:
20
- image: python:3.14
20
+ image: python:3.12
21
21
  before_script:
22
22
  # TODO: This reference and include is a stopgap until we have the projects on pypi
23
23
  - !reference [.clone_dependencies, before_script]
@@ -75,7 +75,7 @@ lint:pyright:
75
75
 
76
76
  deploy:pypi:
77
77
  stage: deploy
78
- image: python:3.14
78
+ image: python:3.12
79
79
  id_tokens:
80
80
  PYPI_ID_TOKEN:
81
81
  aud: pypi
@@ -0,0 +1 @@
1
+ 3.12
@@ -5,7 +5,7 @@ to get started.
5
5
 
6
6
  ## Setup
7
7
 
8
- Requires **Python 3.14+** and **bash**.
8
+ Requires **Python 3.12+** and **bash**.
9
9
 
10
10
  ```bash
11
11
  git clone <repo-url>
@@ -1,12 +1,23 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gri-plot
3
- Version: 0.2.0.post1
4
- Project-URL: repository, https://gitlab.com/geosol-foss/python/gri-plot
5
- Project-URL: homepage, https://geosolresearch.com
3
+ Version: 0.2.2
4
+ Summary: 3D geolocation visualization and 2D plotting utilities built on Plotly
5
+ Project-URL: Homepage, https://geosolresearch.com
6
+ Project-URL: Repository, https://gitlab.com/geosol-foss/python/gri-plot
7
+ Project-URL: Issues, https://gitlab.com/geosol-foss/python/gri-plot/-/issues
8
+ Project-URL: Changelog, https://gitlab.com/geosol-foss/python/gri-plot/-/releases
9
+ Author-email: GeoSol Research Inc <contact@geosolresearch.com>
6
10
  License-Expression: MIT
7
11
  License-File: LICENSE
8
- Requires-Python: >=3.14
9
- Requires-Dist: gri-utils
12
+ Keywords: 3D,geolocation,matplotlib,plotly,visualization
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Topic :: Scientific/Engineering
18
+ Classifier: Topic :: Scientific/Engineering :: Visualization
19
+ Requires-Python: >=3.12
20
+ Requires-Dist: gri-utils>=0.2.0
10
21
  Requires-Dist: numpy>=2.3.3
11
22
  Requires-Dist: plotly>=6.3.0
12
23
  Requires-Dist: scikit-image>=0.25.0
@@ -16,7 +27,7 @@ Description-Content-Type: text/markdown
16
27
 
17
28
  # Plot (3D Geolocation Visualization)
18
29
 
19
- 3D geolocation visualization and 2D plotting utilities built on Plotly. Requires Python 3.14+.
30
+ 3D geolocation visualization and 2D plotting utilities built on Plotly. Requires Python 3.12+.
20
31
 
21
32
  ## Overview
22
33
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Plot (3D Geolocation Visualization)
4
4
 
5
- 3D geolocation visualization and 2D plotting utilities built on Plotly. Requires Python 3.14+.
5
+ 3D geolocation visualization and 2D plotting utilities built on Plotly. Requires Python 3.12+.
6
6
 
7
7
  ## Overview
8
8
 
@@ -17,6 +17,7 @@ Main components:
17
17
  # 2D plotting
18
18
  # 3D plotting infrastructure
19
19
  from .figure3d import DEFAULT_COLORS, Figure3D, plot_surfaces
20
+ from .figure_map import FigureMap, MapStyle
20
21
  from .frames import Bounds, Frame, FrameTransformer
21
22
 
22
23
  # Observables
@@ -64,10 +65,12 @@ __all__ = [
64
65
  "Ellipsoid",
65
66
  "FdoaSurface",
66
67
  "Figure3D",
68
+ "FigureMap",
67
69
  "Frame",
68
70
  "FrameTransformer",
69
71
  "ImplicitShape",
70
72
  "LosSurface",
73
+ "MapStyle",
71
74
  "RangeSphere",
72
75
  "Sphere",
73
76
  "TdoaSurface",
@@ -4,6 +4,8 @@ This module provides the Figure3D class for building complex 3D visualizations
4
4
  by combining multiple Surface objects with coordinate frame transformation.
5
5
  """
6
6
 
7
+ from __future__ import annotations
8
+
7
9
  from typing import TYPE_CHECKING
8
10
 
9
11
  import numpy as np