Useful Libraries & APIs

Angus Pearson

A collection of hopefully useful stuff


This will be periodically updated, last updated 2016-10-19

Machine Learning & AI

Leaf
Neural Network and ML library for Rust, benchmarks as one of the fastest http://autumnai.com/
TensorFlow
ML & Neural Network framework for Python https://www.tensorflow.org/
Toch
ML framework for Lua http://torch.ch
ClarifAI
Image recognition as a service https://www.clarifai.com/ has a limited free plan and paid tiers.
NLTK
Natural Language Toolkit for Python, got a load of useful stuff in it http://www.nltk.org/
Parsey McParseface / SyntaxNet
Google AI tensorflow-based natural language processing and semantic understanding framework/module https://research.googleblog.com/2016/05/announcing-syntaxnet-worlds-most.html

Communication

Twillio
(Two Factor) Authentication, Text and Voice telephony APIs, requires credit though they’re hackathon friendly and often sponsoring hacks https://www.twilio.com/
SendGrid
Email-as-a-service, much easier than messing around with a mail server. https://sendgrid.com/
PushBullet
Push-notification service, as an app it does more than just being a channel for sending notifications but they have a good free API https://docs.pushbullet.com/
Hubot
Pretty formidable chat-bot framework written in CoffeeScript (ewww…) that’s well known on Slack and IRC https://hubot.github.com/

Media & Streaming

PyChromecast
Python library for interfacing with Google Cast devices, https://github.com/balloob/pychromecast
OpenCV
A very popular even if clunky computer vision system. Good for hard stuff like facial and fiducial recognition. http://opencv.org/
LaTeX
Very good for typesetting, scripting PDF generation or manipulating documents https://www.latex-project.org/

Web Development

Flask
Simple and effective Python backend web framework http://flask.pocoo.org
Django
Also a Python framework, more involved but sometimes easier to develop on-top-of than Flask https://www.djangoproject.com/
Ruby on Rails
Similar to Django but written in Ruby and arguably the nicer of the two. Has a similar batteries-included approach http://rubyonrails.org/
Bootstrap
Easily the most popular frontend web framework, contains good HTML/CSS/JS primatives and components http://getbootstrap.com/
Materialize
Similar to Bootstrap, less well known and much easier to use than Google’s Polymer framework for Material Design (Andrioid style) http://materializecss.com/
Polymer
Very involved & abstracted framework for building webapps in Material Design https://www.polymer-project.org/
NodeJS
No.
lxml
Python Library for parsing XML and HTML, faster than Beautiful Soup http://lxml.de/
requests
Very capable Python web client API http://docs.python-requests.org/en/master/

Data Storage

Redis
Really, really fast & scalable in-memory ‘schema-less’ datastore, feat. Hashmaps, Lists, Sets, Pub/Sub, Ordered sets and some niche but super handy Geospatial queries http://redis.io/
SQLite
Probably the smallest SQL (Structured Query Language, for relational databases), easy to use, set up and hack with https://sqlite.org/
PostgreQL
One of the more popular full-size SQL database engines https://www.postgresql.org/

Hosting & Deployment

AWS
Amazon Web Services, complicated but very capable, free credit sometimes available for Hackathons https://aws.amazon.com/
Ngrok
Tunneling service, really handy for exposing a server (usually a development server) that’s behind a firewall to the public internet. https://ngrok.com/
Heroku
Much simpler than AWS, very easy to get started with and has a Free tier https://www.heroku.com/
DigitalOcean
Server-based hosting, rather than containers like AWS and Heroku https://www.digitalocean.com/
GitHub Pages
Easy & free Static Site hosting with Jekyll https://pages.github.com/

Hardware

Arduino
Very well known and well supported hardware development ecosystem http://arduino.cc
ROS
Huge ecosystem and standardised method of doing stuff for serious Robotics http://www.ros.org/
ARM Mbed
More powerful than Arduinos, have RTOS features and a more complex/complete API https://www.mbed.com/
Raspberry Pi
Mini Linux computers with GPIO https://www.raspberrypi.org/

General

GitHub Student Develper Pack
Loads of useful stuff and freebies https://education.github.com/pack