flightdata 0.2.27__tar.gz → 0.2.28__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 (84) hide show
  1. {flightdata-0.2.27 → flightdata-0.2.28}/PKG-INFO +1 -1
  2. {flightdata-0.2.27 → flightdata-0.2.28}/pyproject.toml +1 -1
  3. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/base/collection.py +8 -0
  4. {flightdata-0.2.27 → flightdata-0.2.28}/.github/workflows/publish_pypi.yml +0 -0
  5. {flightdata-0.2.27 → flightdata-0.2.28}/.gitignore +0 -0
  6. {flightdata-0.2.27 → flightdata-0.2.28}/.vscode/launch.json +0 -0
  7. {flightdata-0.2.27 → flightdata-0.2.28}/.vscode/settings.json +0 -0
  8. {flightdata-0.2.27 → flightdata-0.2.28}/LICENSE +0 -0
  9. {flightdata-0.2.27 → flightdata-0.2.28}/README.md +0 -0
  10. {flightdata-0.2.27 → flightdata-0.2.28}/examples/__init__.py +0 -0
  11. {flightdata-0.2.27 → flightdata-0.2.28}/examples/data/__init__.py +0 -0
  12. {flightdata-0.2.27 → flightdata-0.2.28}/examples/data/manual_F3A_F23_22_04_28_00000231.json +0 -0
  13. {flightdata-0.2.27 → flightdata-0.2.28}/examples/data/manual_F3A_P23_22_05_31_00000350.json +0 -0
  14. {flightdata-0.2.27 → flightdata-0.2.28}/examples/data/manual_F3A_P23_23_08_11_00000094.json +0 -0
  15. {flightdata-0.2.27 → flightdata-0.2.28}/examples/flight_dynamics/00000150.json +0 -0
  16. {flightdata-0.2.27 → flightdata-0.2.28}/examples/flight_dynamics/__init__.py +0 -0
  17. {flightdata-0.2.27 → flightdata-0.2.28}/examples/flight_dynamics/box.f3a +0 -0
  18. {flightdata-0.2.27 → flightdata-0.2.28}/examples/flight_dynamics/param_id.py +0 -0
  19. {flightdata-0.2.27 → flightdata-0.2.28}/examples/state_analysis/__init__.py +0 -0
  20. {flightdata-0.2.27 → flightdata-0.2.28}/examples/state_analysis/axes.py +0 -0
  21. {flightdata-0.2.27 → flightdata-0.2.28}/examples/state_analysis/state_fill_plot.py +0 -0
  22. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/__init__.py +0 -0
  23. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/base/__init__.py +0 -0
  24. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/base/constructs.py +0 -0
  25. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/base/labeling.py +0 -0
  26. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/base/numpy_encoder.py +0 -0
  27. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/base/table.py +0 -0
  28. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/bindata.py +0 -0
  29. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/coefficients.py +0 -0
  30. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/environment/__init__.py +0 -0
  31. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/environment/environment.py +0 -0
  32. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/environment/wind.py +0 -0
  33. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/flight/__init__.py +0 -0
  34. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/flight/ardupilot.py +0 -0
  35. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/flight/fields.py +0 -0
  36. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/flight/flight.py +0 -0
  37. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/flight/parameters.py +0 -0
  38. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/flow.py +0 -0
  39. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/model/__init__.py +0 -0
  40. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/model/aerodynamic.py +0 -0
  41. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/model/thrust.py +0 -0
  42. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/origin.py +0 -0
  43. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/py.typed +0 -0
  44. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/scripts/collect_logs.py +0 -0
  45. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/scripts/flightline.py +0 -0
  46. {flightdata-0.2.27 → flightdata-0.2.28}/src/flightdata/state.py +0 -0
  47. {flightdata-0.2.27 → flightdata-0.2.28}/test/EmailedBox.f3a +0 -0
  48. {flightdata-0.2.27 → flightdata-0.2.28}/test/__init__.py +0 -0
  49. {flightdata-0.2.27 → flightdata-0.2.28}/test/base/__init__.py +0 -0
  50. {flightdata-0.2.27 → flightdata-0.2.28}/test/base/test_base_constructs.py +0 -0
  51. {flightdata-0.2.27 → flightdata-0.2.28}/test/base/test_table.py +0 -0
  52. {flightdata-0.2.27 → flightdata-0.2.28}/test/conftest.py +0 -0
  53. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/bin_parser_GPS.csv +0 -0
  54. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/bin_parser_POS.csv +0 -0
  55. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/make_inputs.py +0 -0
  56. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/manual_F3A_P23.json +0 -0
  57. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/p23.BIN +0 -0
  58. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/p23.json +0 -0
  59. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/p23_box.f3a +0 -0
  60. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/p23_fc.json +0 -0
  61. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/p23_flight.json +0 -0
  62. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/script_tests/c6_on_0001.BIN +0 -0
  63. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/script_tests/center_0003.bin +0 -0
  64. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/script_tests/pilot_0004.BIN +0 -0
  65. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/vtol_hover.bin +0 -0
  66. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/vtol_hover.json +0 -0
  67. {flightdata-0.2.27 → flightdata-0.2.28}/test/data/web_bin_parse.json +0 -0
  68. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_bindata.py +0 -0
  69. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_environment/__init__.py +0 -0
  70. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_environment/test_environment.py +0 -0
  71. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_environment/test_environment_wind.py +0 -0
  72. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_fields.py +0 -0
  73. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_flight.py +0 -0
  74. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_model/__init__.py +0 -0
  75. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_model/test_model_coefficients.py +0 -0
  76. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_model/test_model_flow.py +0 -0
  77. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_origin.py +0 -0
  78. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_scripts.py +0 -0
  79. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_state/__init__.py +0 -0
  80. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_state/test_state.py +0 -0
  81. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_state/test_state_builders.py +0 -0
  82. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_state/test_state_conversions.py +0 -0
  83. {flightdata-0.2.27 → flightdata-0.2.28}/test/test_state/test_state_measurements.py +0 -0
  84. {flightdata-0.2.27 → flightdata-0.2.28}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flightdata
3
- Version: 0.2.27
3
+ Version: 0.2.28
4
4
  Summary: Python tools for handling flight data
5
5
  Author-email: Thomas David <thomasdavid0@gmail.com>
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flightdata"
3
- version = "0.2.27"
3
+ version = "0.2.28"
4
4
  description = "Python tools for handling flight data"
5
5
  readme = "README.md"
6
6
  authors = [{ name = "Thomas David", email = "thomasdavid0@gmail.com" }]
@@ -52,6 +52,7 @@ class Collection:
52
52
  def to_list(self) -> list[T]:
53
53
  return list(self.data.values())
54
54
 
55
+
55
56
  def to_dicts(self, *args, **kwargs) -> list[dict[str, Any]]:
56
57
  return [v.to_dict(*args, **kwargs) for v in self.data.values()]
57
58
 
@@ -86,6 +87,13 @@ class Collection:
86
87
  coll.add(v)
87
88
  return coll
88
89
 
90
+ @classmethod
91
+ def merge(Cls, vs: list[Self]) -> Self:
92
+ coll = vs[0].data
93
+ for v in vs[1:]:
94
+ coll = coll | v.data
95
+ return Cls(coll)
96
+
89
97
  def add_start(self, v: T | Self, inplace=True) -> Self:
90
98
  ocol = self.copy() if not inplace else self
91
99
  if isinstance(v, self.VType):
File without changes
File without changes
File without changes
File without changes