Metadata-Version: 2.2
Name: droneops
Version: 0.1.0
Summary: Advanced drone control and mission planning library
Home-page: https://github.com/droneops/droneops
Author: Rui Afonso Martins
Author-email: martins.ruiafonso@gmail.com
Project-URL: Bug Tracker, https://github.com/droneops/droneops/issues
Project-URL: Documentation, https://droneops.readthedocs.io/
Project-URL: Source, https://github.com/rafonsomartins/droneops
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.19.0
Requires-Dist: dronekit>=2.9.2
Requires-Dist: pymavlink>=2.4.0
Requires-Dist: shapely>=1.7.0
Provides-Extra: kml
Requires-Dist: fastkml>=0.11; extra == "kml"
Provides-Extra: dev
Requires-Dist: pytest>=6.0.0; extra == "dev"
Requires-Dist: pytest-cov>=2.0.0; extra == "dev"
Requires-Dist: black>=21.0.0; extra == "dev"
Requires-Dist: flake8>=3.9.0; extra == "dev"
Requires-Dist: sphinx>=4.0.0; extra == "dev"
Requires-Dist: sphinx-rtd-theme>=0.5.0; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# README.md

# DroneOps

DroneOps is an advanced drone control and mission planning library designed for autonomous drone operations. It provides tools for creating and managing drone missions, integrating with QGroundControl, and performing intelligent landing capabilities.

## Features

- Connect to drones using the DroneKit library.
- Create and manage mission plans with the MissionPlanner class.
- Convert QGroundControl mission plans to DroneOps format.
- Generate survey grids and circular flight patterns.
- Calculate mission statistics, including total distance and estimated flight time.

## Installation

To install the DroneOps library, you can use pip:

```
pip install droneops
```

## Usage

Here is a simple example of how to use the DroneOps library:

```python
from droneops.droneops import DroneOps
from droneops.mission_planner import MissionPlanner

# Initialize the DroneOps class
drone = DroneOps(connection_string='udp:127.0.0.1:14550')

# Arm and take off to a specified altitude
drone.arm_and_takeoff(altitude=10)

# Create a mission plan
waypoints = [(37.7749, -122.4194, 10), (37.7750, -122.4195, 10)]
mission_file = MissionPlanner.create_mission_file(waypoints)

# Upload the mission to the drone
drone.upload_mission(waypoints)

# Execute the mission
drone.run_route(waypoints)

# Land the drone
drone.land()
```

## Contribution

Contributions are welcome! Please feel free to submit a pull request or open an issue for any bugs or feature requests.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
