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.
- Drone construction
- Learn drone
- Media manipulation
- Drone Backend
- GUI Development
- Testing
- Resources
- Contributing
Software, libraries, firmware and hardware part for drone construct.
- 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.
- ArduPilot Mission Planner - Mission planner software.
- Paparazzi - Software suite for UAVs, including ground control and autopilot.
- QGroundControl - Ground Control Station for PX4 and ArduPilot based UAVs.
- 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.
- 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.
- FreedomTX - Custom firmware for TBS Tango 2 based on OpenTX.
- OpenTX - Highly configurable open source firmware for RC radio transmitters.
- 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
- OpenUAV - Open-souce UAV platform for research and development
- Source One by TBS - Open Source freestyle FPV drone frame.
- Source Two by TBS - Open Source racing FPV drone frame.
- Source Micro by TBS - Open Source mini drone frame.
- Source PodRacer - Open source ultra-light drone frame.
- Source V by TBS - Open Source ultra-stiff drone frame.
- Source X by TBS - Open Source giant racing drone frame.
- Drone-Satellite-Ground Three Platiform Localization
- ACM MM2023 Workshop: UAV in Multimedia
- Visual Localization Leaderboard
Libraries for robotics.
-
PythonRobotics - This is a compilation of various robotics algorithms with visualizations.
-
rospy - This is a library for ROS (Robot Operating System).
-
ros2 - This is a library for ROS2 (Robot Operating System).
- Also see awesome-ros2
-
micropython - Implementation of Python 3.x on microcontrollers and small embedded systems
- Also see awesome-micropython
- Also see awesome-raspberry-pi.
libraries for create drone looks like biological life
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.
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.
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.
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
- faust - A stream processing library, porting the ideas from Kafka Streams to Python.
- streamparse - Run Python code against real-time streams of data via Apache Storm.
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.
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.
Libraries for visualizing data.
- matplotlib - A Python 2D plotting library.
- seaborn - Statistical data visualization using Matplotlib.
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.
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.
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.
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.
Main stream python libraries for build drone backend.
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.
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.
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 - A package designed to expose cryptographic primitives and recipes to Python
*Traditional full stack web frameworks. * *Libraries for building RESTful APIs. *
-
Synchronous
- flask - A microframework for Python.
- flask-debugtoolbar - A port of the django-debug-toolbar to flask.
- flask-api - Browsable Web APIs for Flask.
- flask-restful - Quickly building REST APIs for Flask.
-
Asynchronous
- fastapi - A modern, fast, web framework for building APIs with Python 3.6+ based on standard Python type hints. Also see Awesome FastAPI
Libraries for validating data. Used for forms in many cases.
- pydantic - Data validation using Python type hints.
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.
Libraries that implement Object-Relational Mapping or data mapping techniques.
- Relational Databases
- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper.
- NoSQL Databases
Libraries for working with WebSocket.
- websockets - A library for building WebSocket servers and clients with a focus on correctness and simplicity.
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.
Libraries for connecting and operating databases.
- MySQL - awesome-mysql
- mysqlclient - MySQL connector with Python 3 support (mysql-python fork).
- pymysql - A pure Python MySQL driver compatible to mysql-python.
- 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
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.
Tools of static analysis, linters and code quality checkers.
- Code Linters & formatters and type checkers
Libraries for building command-line applications.
- Terminal Rendering
- tqdm - Fast, extensible progress bar for loops and CLI.
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.
Libraries for generating and working with logs.
- sentry-python - Sentry SDK for Python.
Libraries for working with HTML and XML.
- beautifulsoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
Libraries for working with HTTP.
- httpx - A next generation HTTP client for Python.
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..
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
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
- coverage - Code coverage measurement.
- Fake Data
Where to discover learning resources or new Python libraries.
- Flying Car and Autonomous Flight Engineer Udacity - Master autonomous flight software engineering skills as you build your career in flying cars and drone robotics.
- Robotics: Dynamics and Control edX - Learn how to develop dynamic models of robot manipulators, mobile robots, and drones (quadrotors).
- UAS/Drone Remote Pilot Test Prep for Part 107 - 💵 - A comprehensive class that encompasses everything needed to know to become a proficient Remote Pilot and to pass the FAA written initial or recurrent exam.
- Drone Photography | Shoot Professional Photos With Any Drone - 💵 - Your Complete Online Guide to Shooting Incredible Drone Photography Like a Professional
- Drone Programming with Python - Face Recognition & Tracking - 💵 - Operating drone with network programming, face recognition using OpenCV, automatic tracking, implementing web camera
- 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.
- FlySky - Entry level transmitters.
- FrSky - Taranis and Horus line of transmitters powered by OpenTX firmware.
- Futaba
- Spektrum
- Team Blacksheep - Tango 1 and 2 transmitters.
- DJI Digital FPV System - Low latency digital FPV goggles.
- FatShark - Headsets praised by racers.
- ORQA FPV.One - Headsets and controllers
- ClearView Goggle Receiver
- ClearView 5.8GHz Ground Station Receivers
- rapidFIRE
- TBS Fusion - Has CRSF integration (for changing channels).
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:
- 3BHobby - Motors
- Airbot - FC, ESC
- BrotherHobby - Motors
- ClearView - VRX, VTX
- DalProp - Props
- Diatone - FC, ESC, VTX, Motors
- Fl1ghtOne - FC, ESC
- Flyduino - FC, ESC
- GemFan - Props
- Hobbywing - FC, ESC, Motors
- Holybro - FC, ESC, PDB
- HQProp - Props
- iFlight - Motors
- Lumenier - FC, ESC, PDB, VTX, Motors
- MatekSys - FC, PDB, VTX
- RacerStar - FC, ESC, Motors
- SP Racing - FC
- T-Motor - FC, Motors
- Team Blacksheep - ESC, RX, TX, VRX, VTX
- Caddx.us
- DJI O3 Air unit - Camera with digital video transmission
- Foxeer
- RunCam
- 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.
- 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.
- JPL Open Source Rover - Nasa JPL scaled down version of the curiosity rover, made of COTS.
- Turtlebot - Open sourced UGV, ROS standard platform.
- Geneinno - Underwater drones.
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.