Skip to content

List of awesome , libraries, software and resources for drone create

License

Notifications You must be signed in to change notification settings

26remph/awesome-drone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Intro

Awesome

List of awesome , libraries, software and resources for drone create, conforming to the Awesome Manifesto

Contributions very welcome but first see Contributing
See En-Ru glossary for translate.

Context

Drone construction

Software, libraries, firmware and hardware part for drone construct.

Simulators

  • AirSim - Open source simulator based on Unreal Engine for autonomous vehicles.
  • Drone Racing Arcade - Mobile based FPV racing game
  • DRL Drone Racing Simulator - FPV Racing game and simulator with official DRL tracks.
  • FPV Air 2 - πŸ’΅ - Basic FPV simulator, runs on slower hardware. Available on Steam.
  • FPV Freerider - πŸ’΅ FPV (first person view) and LOS (line of sight) racing simulator.
  • FPV Freerider Recharged - πŸ’΅ FPV (first person view) and LOS (line of sight) racing simulator.
  • LiftOff - πŸ’΅ FPV racing simulator with realistic OSD (on-screen display) experience.
  • Orqa FPV.SkyDive - Orqa FPV's racing and freestyle simulator.
  • RotorRush - πŸ’΅ Formerly known as FPV Event. Subscription based simulator.
  • VelociDrone - πŸ’΅ Multiplayer FPV racing simulator.

Software and Libraries

Libraries

  • DJI Onboard SDK - The Onboard SDK allows you to connect to a supported DJI flight controller using a serial port (TTL UART).
  • GoBot - Golang framework for robotics, drones, and the Internet of Things (IoT).
  • Libcyphal - Portable reference implementation of the Cyphal protocol stack in C++ for embedded systems and Linux. Formerly known as LibUAVCAN.
  • MAVLink - Micro Air Vehicle Message Marshalling Library.
  • MAVROS - MAVLink to ROS gateway with a proxy for Ground Control Station.

Ground Control Stations

  • QGroundControl - Cross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows).
  • MAVProxy - A UAV ground station software package for MAVLink based systems.
  • Ardupilot Mission Planner - A full-featured ground station application for the ArduPilot open source autopilot project.
  • APM Planner 2 - An open-source ground station application for MAVlink based autopilots including APM and PX4/Pixhawk that can be run on Windows, Mac OSX, and Linux.

Firmware

Transmitters

  • FreedomTX - Custom firmware for TBS Tango 2 based on OpenTX.
  • OpenTX - Highly configurable open source firmware for RC radio transmitters.

Flight Controllers

  • Ardupilot
  • BaseFlight - πŸ‘»
  • Betaflight - Fork of Cleanflight.
  • ButterFlight - πŸ‘» Fork of Betaflight. Firmware focusing on Mini Quads.
  • Cleanflight - πŸ‘» Fork of BaseFlight. Supports more FCs and has additional PID contollers.
  • dRonin - πŸ‘» Autopilot/flight controller firmware for controllers in the OpenPilot/Tau Labs family.
  • EmuFlight - FC Firmware focusing on flight performance, innovative filtering, leading-edge feature additions, and wide target support.
  • FalcoX - Formerly known as Raceflight one, FlightOne.
  • INAV
  • Kiss - Firmware for KISS FCs.
  • LibrePilot - πŸ‘» (GitHub fork is Outdated/Inactive)
  • Open Source Rover Control Code - Nasa JPL command firmware for the OSR.
  • PX4 Autopilot - Rebranded to AutoPilot from Firmware
  • SilverWare - πŸ‘» Firmware for BoldClash BWHOOP B-03 mini drone
  • SilverWare(NFE) - πŸ‘» Firmware for Alienwhoop ZER0, E011, BWHOOP B-03, H8mini, and BETA FPV LITE flight controllers with NotFastEnuf settings and experimental features

Hardware and Components

Platforms

  • OpenUAV - Open-souce UAV platform for research and development

Drone Frames

Visual Localization

Robotics

Libraries for robotics.

Learn drone

libraries for create drone looks like biological life

Computer Vision

Libraries for Computer Vision.

  • easyocr - Ready-to-use OCR with 40+ languages supported.
  • kornia - Open Source Differentiable Computer Vision Library for PyTorch.
  • opencv - Open Source Computer Vision Library.
  • pytesseract - A wrapper for Google Tesseract OCR.
  • tesserocr - Another simple, Pillow-friendly, wrapper around the tesseract-ocr API for OCR.

Machine Learning

Libraries for Machine Learning. Also see awesome-machine-learning.

  • gym - A toolkit for developing and comparing reinforcement learning algorithms.
  • H2O - Open Source Fast Scalable Machine Learning Platform.
  • Metrics - Machine learning evaluation metrics.
  • NuPIC - Numenta Platform for Intelligent Computing.
  • scikit-learn - The most popular Python library for Machine Learning.
  • Spark ML - Apache Spark's scalable Machine Learning library.
  • vowpal_porpoise - A lightweight Python wrapper for Vowpal Wabbit.
  • xgboost - A scalable, portable, and distributed gradient boosting library.
  • MindsDB - MindsDB is an open source AI layer for existing databases that allows you to effortlessly develop, train and deploy state-of-the-art machine learning models using standard queries.

Deep Learning

Frameworks for Neural Networks and Deep Learning. Also see awesome-deep-learning.

  • keras - A high-level neural networks library and capable of running on top of either TensorFlow or Theano.
  • pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.
  • pytorch-lightning - Deep learning framework to train, deploy, and ship AI products Lightning fast.
  • stable-baselines3 - PyTorch implementations of Stable Baselines (deep) reinforcement learning algorithms.
  • tensorflow - The most popular Deep Learning framework created by Google.
  • theano - A library for fast numerical computation.

Distributed Computing

Frameworks and libraries for Distributed Computing.

  • Batch Processing
    • dask - A flexible parallel computing library for analytic computing.
    • luigi - A module that helps you build complex pipelines of batch jobs.
    • PySpark - Apache Spark Python API.
    • Ray - A system for parallel and distributed Python that unifies the machine learning ecosystem.
  • Stream Processing

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

  • django-countries - A Django app that provides a country field for models and forms.
  • geodjango - A world-class geographic web framework.
  • geojson - Python bindings and utilities for GeoJSON.
  • geopy - Python Geocoding Toolbox.

Data Analysis

Libraries for data analyzing.

  • pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
  • aws-sdk-pandas - Pandas on AWS.
  • datasette - An open source multi-tool for exploring and publishing data.
  • optimus - Agile Data Science Workflows made easy with PySpark.

Data Visualization

Libraries for visualizing data.

  • matplotlib - A Python 2D plotting library.
  • seaborn - Statistical data visualization using Matplotlib.

Science

Libraries for scientific computing. Also see Python-for-Scientists.

  • NumPy - A fundamental package for scientific computing with Python.
  • SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.

Media manipulation

Image Processing

Libraries for manipulating images.

  • pillow - Pillow is the friendly PIL fork.
  • python-barcode - Create barcodes in Python with no extra dependencies.
  • pymatting - A library for alpha matting.
  • python-qrcode - A pure Python QR Code generator.
  • pywal - A tool that generates color schemes from images.
  • pyvips - A fast image processing library with low memory needs.
  • quads - Computer art based on quadtrees.
  • scikit-image - A Python library for (scientific) image processing.
  • thumbor - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.
  • wand - Python bindings for MagickWand, C API for ImageMagick.

Video

Libraries for manipulating video and GIFs.

  • moviepy - A module for script-based movie editing with many formats, including animated GIFs.
  • scikit-video - Video processing routines for SciPy.
  • vidgear - Most Powerful multi-threaded Video Processing framework.

Audio

Libraries for manipulating audio and its metadata.

  • Audio
    • audioread - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
    • audioFlux - A library for audio and music analysis, feature extraction.
    • dejavu - Audio fingerprinting and recognition.
    • kapre - Keras Audio Preprocessors.
    • librosa - Python library for audio and music analysis.
    • matchering - A library for automated reference audio mastering.
    • mingus - An advanced music theory and notation package with MIDI file and playback support.
    • pyaudioanalysis - Audio feature extraction, classification, segmentation and applications.
    • pydub - Manipulate audio with a simple and easy high level interface.
    • timeside - Open web audio processing framework.
  • Metadata
    • beets - A music library manager and MusicBrainz tagger.
    • eyed3 - A tool for working with audio files, specifically MP3 files containing ID3 metadata.
    • mutagen - A Python module to handle audio metadata.
    • tinytag - A library for reading music meta data of MP3, OGG, FLAC and Wave files.

Drone Backend

Main stream python libraries for build drone backend.

Asynchronous Programming

Libraries for asynchronous, concurrent and parallel execution. Also see awesome-asyncio.

  • asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
  • concurrent.futures - (Python standard library) A high-level interface for asynchronously executing callables.
  • multiprocessing - (Python standard library) Process-based parallelism.
  • uvloop - Ultra fast asyncio event loop.

Admin Panels

Libraries for administrative interfaces.

  • ajenti - The admin panel your servers deserve.
  • django-grappelli - A jazzy skin for the Django Admin-Interface.
  • jet-bridge - Admin panel framework for any application with nice UI (ex Jet Django).
  • wooey - A Django app which creates automatic web UIs for Python scripts.
  • streamlit - A framework which lets you build dashboards, generate reports, or create chat apps in minutes.
  • django-jet - Modern template for Django admin interface with improved functionality.
  • flask-admin - Simple and extensible administrative interface framework for Flask.

Authentication

Libraries for implementing authentications schemes.

  • OAuth
    • authlib - JavaScript Object Signing and Encryption draft implementation.
  • JWT
    • pyjwt - JSON Web Token implementation in Python.
    • python-jose - A JOSE implementation in Python.
  • SSO with machine auth support
    • keycloak-sso - Open Source Identity and Access Management.
    • zitadel - Offers everything you need for a customer identity (CIAM) use case. Support Machine-to-machine with JWT profile, Personal Access Tokens (PAT), and Client Credentials

Cryptography

  • cryptography - A package designed to expose cryptographic primitives and recipes to Python

Web Frameworks & RESTful API

*Traditional full stack web frameworks. * *Libraries for building RESTful APIs. *

Data Validation

Libraries for validating data. Used for forms in many cases.

  • pydantic - Data validation using Python type hints.

Caching

Libraries for caching data.

  • python-diskcache - SQLite and file backed cache backend with faster lookups than memcached and redis.
  • redis - Redis is often referred to as a data structures server.
  • memcached - Memcached is a high performance multithreaded event-based key/value cache store intended to be used in a distributed system.

ORM

Libraries that implement Object-Relational Mapping or data mapping techniques.

  • Relational Databases
  • NoSQL Databases
    • hot-redis - Rich Python data types for Redis.
    • redisco - A Python Library for Simple Models and Containers Persisted in Redis.

WebSocket

Libraries for working with WebSocket.

  • websockets - A library for building WebSocket servers and clients with a focus on correctness and simplicity.

ASGI Servers

ASGI-compatible web servers.

  • daphne - A HTTP, HTTP2 and WebSocket protocol server for ASGI and ASGI-HTTP.
  • uvicorn - A lightning-fast ASGI server implementation, using uvloop and httptools.
  • hypercorn - An ASGI and WSGI Server based on Hyper libraries and inspired by Gunicorn.

Database Drivers

Libraries for connecting and operating databases.

  • MySQL - awesome-mysql
  • PostgreSQL - awesome-postgres
    • psycopg - The most popular PostgreSQL adapter for Python.
  • SQlite - awesome-sqlite
    • sqlite3 - (Python standard library) SQlite interface compliant with DB-API 2.0.
    • sqlite-utils - Python CLI utility and library for manipulating SQLite databases.
  • Other Relational Databases
    • pymssql - A simple database interface to Microsoft SQL Server.
    • clickhouse-driver - Python driver with native interface for ClickHouse.
  • NoSQL Databases
    • cassandra-driver - The Python Driver for Apache Cassandra.
    • happybase - A developer-friendly library for Apache HBase.
    • kafka-python - The Python client for Apache Kafka.
    • pymongo - The official Python client for MongoDB.
    • motor - The async Python driver for MongoDB.
    • redis-py - The Python client for Redis.
  • S3 store
    • minio-py - Official synchronous the MinIO Python Client SDK.
    • miniopy-async - Unofficial Asynchronous MinIO Client SDK for Python

Task Queues

Libraries for working with task queues.

  • celery - An asynchronous task queue/job queue based on distributed message passing.
  • dramatiq - A fast and reliable background task processing library for Python 3.
  • huey - Little multi-threaded task queue.
  • mrq - A distributed worker task queue in Python using Redis & gevent.
  • rq - Simple job queues for Python.

Helpers

Code Analysis

Tools of static analysis, linters and code quality checkers.

  • Code Linters & formatters and type checkers
    • ruff - An extremely fast Python linter and code formatter, written in Rust.
    • mypy - Check variable types during compile time.

Command-line Interface Development

Libraries for building command-line applications.

  • Terminal Rendering
    • tqdm - Fast, extensible progress bar for loops and CLI.

Environment Management

Libraries for Python version and virtual environment management.

  • poetry - Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right stack everywhere.

Logging

Libraries for generating and working with logs.

HTML Manipulation

Libraries for working with HTML and XML.

  • beautifulsoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.

HTTP Clients

Libraries for working with HTTP.

  • httpx - A next generation HTTP client for Python.

File Manipulation

Libraries for file manipulation.

  • mimetypes - (Python standard library) Map filenames to MIME types.
  • pathlib - (Python standard library) An cross-platform, object-oriented path library.
  • path.py - A module wrapper for os.path.
  • python-magic - A Python interface to the libmagic file type identification library.
  • watchdog - API and shell utilities to monitor file system events.
  • aiofiles - aiofiles is an Apache2 licensed library, written in Python, for handling local disk files in asyncio applications..

GUI Development

Libraries for working with graphical user interface applications.

  • curses - Built-in wrapper for ncurses used to create terminal GUI applications.
  • Eel - A library for making simple Electron-like offline HTML/JS GUI apps.
  • enaml - Creating beautiful user-interfaces with Declarative Syntax like QML.
  • Flexx - Flexx is a pure Python toolkit for creating GUI's, that uses web technology for its rendering.
  • Gooey - Turn command line programs into a full GUI application with one line.
  • kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
  • pyglet - A cross-platform windowing and multimedia library for Python.
  • PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
  • PyQt - Python bindings for the Qt cross-platform application and UI framework. Also see Awesome Qt
  • PySimpleGUI - Wrapper for tkinter, Qt, WxPython and Remi.
  • pywebview - A lightweight cross-platform native wrapper around a webview component.
  • Tkinter - Tkinter is Python's de-facto standard GUI package.
  • Toga - A Python native, OS native GUI toolkit.
  • urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
  • wxPython - A blending of the wxWidgets C++ class library with the Python.
  • DearPyGui - A Simple GPU accelerated Python GUI framework

Testing

Libraries for testing codebases and generating test data.

  • Testing Frameworks
    • pytest - A mature full-featured Python testing tool.
  • GUI / Web Testing
  • Mock
    • doublex - Powerful test doubles framework for Python.
    • freezegun - Travel through time by mocking the datetime module.
    • httmock - A mocking library for requests for Python 2.6+ and 3.2+.
    • httpretty - HTTP request mock tool for Python.
    • mock - (Python standard library) A mocking and patching library.
    • mocket - A socket mock framework with gevent/asyncio/SSL support.
    • responses - A utility library for mocking out the requests Python library.
    • VCR.py - Record and replay HTTP interactions on your tests.
  • Object Factories
    • factory_boy - A test fixtures replacement for Python.
    • mixer - Another fixtures replacement. Supports Django, Flask, SQLAlchemy, Peewee and etc.
    • model_mommy - Creating random fixtures for testing in Django.
  • Code Coverage
  • Fake Data
    • fake2db - Fake database generator.
    • faker - A Python package that generates fake data.
    • mimesis - is a Python library that help you generate fake data.
    • radar - Generate random datetime / time.

Resources

Where to discover learning resources or new Python libraries.

Courses

Udemy

Services

  • AirMap - Aeronautical data & services to unmanned aircraft.
  • DroneDeploy - Drone & UAV Mapping Software.
  • RotorBuilds - FPV Part lists and Build Logs.
  • Zeitiew - Online marketplace for Drone services. Formerly known as DroneBase.

Newsletters

Remote Control Transmitters

Headsets

Video Receivers

1.3GHz

2.4GHz

5.8GHz

Electronics and Motors

Terminology: See glossary en-ru for translate.

  • FC - Flight Controller
  • ESC - Electronic Speed Controller
  • PDB - Power Distribution Board
  • RX - Receivers
  • TX - Transmitters (external)
  • VRX - Video Receiver
  • VTX - Video Transmitter

List:

Cameras

Vendors

Consumer

  • Autel - πŸ‡¨πŸ‡³ - Compact EVO series drones, alternative to DJI Mavic series. Dragonfish series fixed-wing UAVs coming soon.
  • DJI - πŸ‡¨πŸ‡³ - DJI is the world's leader in the consumer drone market - Mavic, Phantom, Inspire and Matrice series drones.
  • Eachine - πŸ‡¨πŸ‡³ - Mini and micro drones. FPV beginners sets.
  • Hubsan - πŸ‡¨πŸ‡³ - Micro and Mini lower cost drones.
  • Parrot SA - πŸ‡«πŸ‡· - Famously Parrot Bebop and Parrot AR series drones.
  • Syma - πŸ‡¨πŸ‡³ - RC toy quadcopters.
  • Yuneec International - πŸ‡¨πŸ‡³ - Yuneec camera drones.

Military Vendors

  • AeroVironment - Small range fixed-wing UAVs.
  • Baykar - Bayraktar series battle- proven long-range fixed-wing UAVs.
  • Eli - Pneumatic launchers for fixed wing UAVs.
  • INSITU - Long-range and extended endurance fixed-wing UAVs.
  • Threod Systems - Fixed-wing and multi-rotor UAVs.

Unmanned Ground Vehicles

Autonomous Ground Vehicles

Unmanned Underwater Vehicles

Podcasts

Contributing

Your contributions are always welcome! Please take a look at the contribution guidelines first.


If you have any question about this opinionated list, do not hesitate to contact me @vvbars on Telegram or open an issue on GitHub.

About

List of awesome , libraries, software and resources for drone create

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published