Zorg is a Python framework for robotics, physical computing projects and the Internet of Things. It makes it easy to configure and command your creations. It can run on the Intel Edison and Raspberry Pi. There is support for a variety of analog and digital sensors built in, and it is extensible so that anyone can add support for new platforms and devices. Zorg implements the specification established by the node.js framework Cylon.js, and shares compatible interfaces with it.
What's cool about it
Zorg is written in Python, which makes it easy to integrate with other exisiting libraries, like SciPy, NumPy or scikit-learn. There are currently no other modern robotics python librares available, making Zorg the first of it's kind. It's also easy to get up and running. There are several built-in drivers for interfacing with hardware such as LEDs, servo motors and microphone sensors. Zorg is highly extensible, allowing future developers to build and contribute their own drivers.
Zorg also comes with a web-based api that allows for access to the sensors from any language, making it easy to build web applications that pair with Zorg.
What inspired us
While expirimenting with the Johnny-Five JS library on the Intel Edison we discoverd another similar library called Cylon. Cylon is a robotics framework written in node. The creators of Cylon have also published versions of their codebase written in other languages such as Ruby and Go. However, we really like python as a language and so we decided to implement their spec in a Python library. Although Cylon.js and Johnny-Five are powerful platform for robotics, we felt we needed to implement a library to bring robotics to Python.
How we did it
Having been inspired by Cylon.js and disappointed by the only existing Python robots library, Pyro, we set off on a course to implement a full robotics library in Python.