pyMAVLinCS 1.0.5__tar.gz → 1.2.0__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.
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/PKG-INFO +20 -6
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/README.md +19 -5
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/pyMAVLinCS/__init__.py +340 -263
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/pyMAVLinCS/mavecstra.py +80 -55
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/pyMAVLinCS/mission_control_code.py +19 -12
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/pyMAVLinCS/setup_logger.py +4 -2
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/pyMAVLinCS.egg-info/PKG-INFO +20 -6
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/pyMAVLinCS.egg-info/SOURCES.txt +7 -1
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/pyproject.toml +1 -1
- pymavlincs-1.2.0/tests/test_basic.py +39 -0
- pymavlincs-1.2.0/tests/test_commands.py +68 -0
- pymavlincs-1.2.0/tests/test_control.py +35 -0
- pymavlincs-1.2.0/tests/test_math.py +46 -0
- pymavlincs-1.2.0/tests/test_mcc.py +65 -0
- pymavlincs-1.2.0/tests/test_telemetry.py +91 -0
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/LICENSE +0 -0
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/pyMAVLinCS/mavtypes.py +0 -0
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/pyMAVLinCS.egg-info/dependency_links.txt +0 -0
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/pyMAVLinCS.egg-info/requires.txt +0 -0
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/pyMAVLinCS.egg-info/top_level.txt +0 -0
- {pymavlincs-1.0.5 → pymavlincs-1.2.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyMAVLinCS
|
|
3
|
-
Version: 1.0
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: Python API for autonomous drone control based on pymavlink
|
|
5
5
|
Author-email: Noah Redon <redonnoah.cs@gmail.com>
|
|
6
6
|
License: GPL-3.0-or-later
|
|
@@ -17,6 +17,7 @@ Dynamic: license-file
|
|
|
17
17
|
|
|
18
18
|
<p align="center">
|
|
19
19
|
<img alt="License_new" src="https://img.shields.io/badge/License-GPL%20v3-yellow">
|
|
20
|
+
<a href="https://github.com/noahredon/pyMAVLinCS/actions/workflows/test.yml"><img alt="Tests" src="https://img.shields.io/github/actions/workflow/status/noahredon/pyMAVLinCS/test.yml?branch=main&label=tests&logo=github"></a>
|
|
20
21
|
<img alt="GitHub" src="https://img.shields.io/badge/github-noahredon-blue?logo=github">
|
|
21
22
|
<img alt="Python" src="https://img.shields.io/badge/Python-grey?logo=python">
|
|
22
23
|
</p>
|
|
@@ -124,6 +125,7 @@ pyMAVLinCS is designed as a focused Python library, utilizing highly optimized c
|
|
|
124
125
|
| **Python** | Primary development language for the API. | Provides a clean, readable syntax ideal for complex robotics and scientific computation. |
|
|
125
126
|
| **pymavlink** | Core dependency for MAVLink protocol communication. | Essential library for parsing, generating, and transmitting MAVLink messages to flight controllers. |
|
|
126
127
|
| **geopy** | Dependency for geographic calculations. | Provides accurate tools for distance, azimuth, and coordinate transformation necessary for mission planning. |
|
|
128
|
+
| **pytest** | Testing framework for unit and SITL integration tests. | Provides an extensible framework for running automated tests with simulated drones (ArduPilot SITL). |
|
|
127
129
|
| **setuptools** | Build system component. | Standard tool used for packaging and distributing Python projects, defining the required metadata. |
|
|
128
130
|
| **wheel** | Build system component. | Enables the creation of standardized binary distribution packages for faster installation. |
|
|
129
131
|
|
|
@@ -146,11 +148,20 @@ The project structure is organized to separate the core MAVLink interface, suppo
|
|
|
146
148
|
│ ├── 📄 mcc_creation.py # Example script showing MCC object usage
|
|
147
149
|
│ ├── 📄 __init__.py # Initialization file for examples package
|
|
148
150
|
│ └── 📄 connection_test.py # Script to test basic flight controller connectivity
|
|
149
|
-
├── 📂 tests/ #
|
|
151
|
+
├── 📂 tests/ # Automated test suite (unit and SITL integration tests)
|
|
152
|
+
│ ├── 📄 conftest.py # Pytest configuration and SITL fixtures
|
|
153
|
+
│ ├── 📄 test_basic.py # Basic connectivity & initialization tests
|
|
154
|
+
│ ├── 📄 test_commands.py # MAVLink command execution tests
|
|
155
|
+
│ ├── 📄 test_control.py # Drone control & navigation tests
|
|
156
|
+
│ ├── 📄 test_math.py # Mathematical and geographic utility tests
|
|
157
|
+
│ ├── 📄 test_mcc.py # Mission Control Code tests
|
|
158
|
+
│ ├── 📄 test_telemetry.py # Real-time telemetry tests
|
|
150
159
|
│ └── 📄 __init__.py # Initialization file for tests package
|
|
151
160
|
├── 📂 .github/ # GitHub configuration
|
|
152
|
-
│ └── 📂 workflows/ # Continuous Integration workflows
|
|
153
|
-
│
|
|
161
|
+
│ └── 📂 workflows/ # Continuous Integration & Delivery workflows
|
|
162
|
+
│ ├── 📄 test.yml # CI workflow (pytest with ArduPilot SITL)
|
|
163
|
+
│ └── 📄 publish.yml # CD workflow for package publication (PyPI)
|
|
164
|
+
├── 📄 pytest.ini # Pytest configuration file
|
|
154
165
|
├── 📄 pyproject.toml # Project metadata, dependencies, and build requirements
|
|
155
166
|
├── 📄 LICENSE # Project License (GPL-3.0-or-later)
|
|
156
167
|
├── 📄 README.md # Project documentation (this file)
|
|
@@ -330,9 +341,12 @@ We welcome contributions to improve pyMAVLinCS! Your input helps make this proje
|
|
|
330
341
|
git checkout -b feature/new-telemetry-endpoint
|
|
331
342
|
```
|
|
332
343
|
3. **Make your changes** - Improve code, documentation, or features within the `pyMAVLinCS/` directory.
|
|
333
|
-
4. **Test thoroughly** - Ensure all existing and new functionality works as expected.
|
|
344
|
+
4. **Test thoroughly** - Ensure all existing and new functionality works as expected. Automated tests run on push and PR via GitHub Actions using ArduPilot SITL. You can run the test suite locally with `pytest`:
|
|
334
345
|
```bash
|
|
335
|
-
#
|
|
346
|
+
# Run the automated test suite:
|
|
347
|
+
pytest tests/
|
|
348
|
+
|
|
349
|
+
# Or execute manual test scripts / examples:
|
|
336
350
|
python examples/connection_test.py
|
|
337
351
|
```
|
|
338
352
|
5. **Commit your changes** - Write clear, descriptive commit messages.
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
<p align="center">
|
|
5
5
|
<img alt="License_new" src="https://img.shields.io/badge/License-GPL%20v3-yellow">
|
|
6
|
+
<a href="https://github.com/noahredon/pyMAVLinCS/actions/workflows/test.yml"><img alt="Tests" src="https://img.shields.io/github/actions/workflow/status/noahredon/pyMAVLinCS/test.yml?branch=main&label=tests&logo=github"></a>
|
|
6
7
|
<img alt="GitHub" src="https://img.shields.io/badge/github-noahredon-blue?logo=github">
|
|
7
8
|
<img alt="Python" src="https://img.shields.io/badge/Python-grey?logo=python">
|
|
8
9
|
</p>
|
|
@@ -110,6 +111,7 @@ pyMAVLinCS is designed as a focused Python library, utilizing highly optimized c
|
|
|
110
111
|
| **Python** | Primary development language for the API. | Provides a clean, readable syntax ideal for complex robotics and scientific computation. |
|
|
111
112
|
| **pymavlink** | Core dependency for MAVLink protocol communication. | Essential library for parsing, generating, and transmitting MAVLink messages to flight controllers. |
|
|
112
113
|
| **geopy** | Dependency for geographic calculations. | Provides accurate tools for distance, azimuth, and coordinate transformation necessary for mission planning. |
|
|
114
|
+
| **pytest** | Testing framework for unit and SITL integration tests. | Provides an extensible framework for running automated tests with simulated drones (ArduPilot SITL). |
|
|
113
115
|
| **setuptools** | Build system component. | Standard tool used for packaging and distributing Python projects, defining the required metadata. |
|
|
114
116
|
| **wheel** | Build system component. | Enables the creation of standardized binary distribution packages for faster installation. |
|
|
115
117
|
|
|
@@ -132,11 +134,20 @@ The project structure is organized to separate the core MAVLink interface, suppo
|
|
|
132
134
|
│ ├── 📄 mcc_creation.py # Example script showing MCC object usage
|
|
133
135
|
│ ├── 📄 __init__.py # Initialization file for examples package
|
|
134
136
|
│ └── 📄 connection_test.py # Script to test basic flight controller connectivity
|
|
135
|
-
├── 📂 tests/ #
|
|
137
|
+
├── 📂 tests/ # Automated test suite (unit and SITL integration tests)
|
|
138
|
+
│ ├── 📄 conftest.py # Pytest configuration and SITL fixtures
|
|
139
|
+
│ ├── 📄 test_basic.py # Basic connectivity & initialization tests
|
|
140
|
+
│ ├── 📄 test_commands.py # MAVLink command execution tests
|
|
141
|
+
│ ├── 📄 test_control.py # Drone control & navigation tests
|
|
142
|
+
│ ├── 📄 test_math.py # Mathematical and geographic utility tests
|
|
143
|
+
│ ├── 📄 test_mcc.py # Mission Control Code tests
|
|
144
|
+
│ ├── 📄 test_telemetry.py # Real-time telemetry tests
|
|
136
145
|
│ └── 📄 __init__.py # Initialization file for tests package
|
|
137
146
|
├── 📂 .github/ # GitHub configuration
|
|
138
|
-
│ └── 📂 workflows/ # Continuous Integration workflows
|
|
139
|
-
│
|
|
147
|
+
│ └── 📂 workflows/ # Continuous Integration & Delivery workflows
|
|
148
|
+
│ ├── 📄 test.yml # CI workflow (pytest with ArduPilot SITL)
|
|
149
|
+
│ └── 📄 publish.yml # CD workflow for package publication (PyPI)
|
|
150
|
+
├── 📄 pytest.ini # Pytest configuration file
|
|
140
151
|
├── 📄 pyproject.toml # Project metadata, dependencies, and build requirements
|
|
141
152
|
├── 📄 LICENSE # Project License (GPL-3.0-or-later)
|
|
142
153
|
├── 📄 README.md # Project documentation (this file)
|
|
@@ -316,9 +327,12 @@ We welcome contributions to improve pyMAVLinCS! Your input helps make this proje
|
|
|
316
327
|
git checkout -b feature/new-telemetry-endpoint
|
|
317
328
|
```
|
|
318
329
|
3. **Make your changes** - Improve code, documentation, or features within the `pyMAVLinCS/` directory.
|
|
319
|
-
4. **Test thoroughly** - Ensure all existing and new functionality works as expected.
|
|
330
|
+
4. **Test thoroughly** - Ensure all existing and new functionality works as expected. Automated tests run on push and PR via GitHub Actions using ArduPilot SITL. You can run the test suite locally with `pytest`:
|
|
320
331
|
```bash
|
|
321
|
-
#
|
|
332
|
+
# Run the automated test suite:
|
|
333
|
+
pytest tests/
|
|
334
|
+
|
|
335
|
+
# Or execute manual test scripts / examples:
|
|
322
336
|
python examples/connection_test.py
|
|
323
337
|
```
|
|
324
338
|
5. **Commit your changes** - Write clear, descriptive commit messages.
|