Mailpile is an open source webmail application that focuses on providing a fast and user-friendly experience.
It is built with Python and can work with any e-mail using the popular protocols (SMTP, IMAP, POP3).
A powerful search exists for locating e-mails and items can be tagged as well.
OpenPGP signatures and encryption are part of Mailpile‘s core design for maximum security and privacy.
The application has support for contacts, spam detection and many other features are under development.
A/B testing is a “must” (almost for any website) to analyze the performance of “scenarios” in web pages.
Sixpack is an open source A/B testing tool which has a unique feature: being language-agnostic. It doesn’t limit you running an entire test in a single language but you can start with one and end up with another (like JS + PHP code can be used for the same test).
The core is built with Python + Redis and all the interaction is done via a REST API.
Requirements: Python and Redis
Kartograph is a framework for creating interactive maps without any mapping provider (like Google Maps).
It consists of 2 libraries:
- a Python library thatrenders vector maps from shapefiles or PostGIS and converts them to SVG
The JS library uses jQuery + Raphaël, outputs can be styled with CSS and a very good documentation is provided.
Requirements: Python, jQuery and Raphaël
Compatibility: All Major Browsers
Today, HTTP requests are used widely in websites as we fetch data using APIs, get screenshots or AJAX requests.
Unirest is a pack of lightweight HTTP libraries for many languages (PHP, Ruby, Python, Java And Objective-C).
It has support for GET, POST, PUT, UPDATE, DELETE operations and its methods + response structure are the same in all languages.
The usage is very simple and straightforward. Also, it is documented well.
Ok, copying is not good.. but getting inspired from other successful projects and learning from them definitely makes sense.
Pinry, an open source web application, eases building Pinterest-like (dynamic-column-grid-layout) websites.
It allows users to register to the app and pin, tag and share media (images, videos and webpages) quickly.
And, a bookmarklet exists for saving the content without leaving the pages being browsed.
The application is built with Python (Django) and it is a good starting for creating a community around pinning contents or a bookmarking site for personal use.
Grappelli is a free and open source project, built with Django, that can empower any website with an admin interface.
It is a skin to the Django’s default admin interface which has a plain, grid-based and good-looking design (uses Compass for styling) and offers some extras.
There is a built-in WYSIWYG editor (TinyMCE), search with auto-completes, several jQuery plugins and sorting data with drag ‘n’ drops.
Also, its dashboard can be customized with ease and works well with the django-filebrowser extension.
Requirements: Python & Django
oAuth is the industry standard today for authenticating users or 3rd party apps to reach their data via APIs.
However, specially for anyone that didn’t ever deal with it, it is not the most developer friendly mechanism to deal with.
foauth, a free and open source service, removes the need of oAuth usage for ~40 popular web services and converts that auth process to HTML Basic authentication.
It already has the oAuth integrations with the services (like Facebook, Twitter, Flickr, Dropbox, GitHub, etc.) and developers can simply use foauth as an authentication proxy.
Once any number of services are authenticated through the service, it simply adds a
in front of any official API call (like
In means of security, bear in mind that any requests made are sent through foauth.org. If this sounds unsafe, self-hosting it is the option (built with Python).
Requirements: Python (for the self-hosted version)
Sentry is an open source web application that can log application events and aggregate them in realtime.
The ability to monitor events is very useful considering it is possible to know any issues when they happen.
Also, using Sentry, we can easily see the trends of events (errors, warnings, 404, etc.) which is also nice to have a strong opinion about their frequency.
The application supports adding multiple projects and users (with each user having their own custom rights).
Everyone has a method for handling forms but it usually gets complicated when there are file uploads in that form.
Fine Uploader is a plug 'n' play script that ease file uploads and improve usability with the Ajaxed interface.
The script was known as valums-file-uploader (was featured at WRD) and deserves a 2nd shot with the improvements it had.
Uploader can be the standard "file input" or it has support for drag 'n' drop uploads as well.
Also, there are options to limit the file size, file types, number of files and more.
Requirements: No Requirements
If you are always developing with a specific language, using a development tool that is built specifically for that language can ease the process.
NINJA-IDE is an open source and free development tool that focuses on Python developers at first but has support for code highlighting for various languages.
It has a handy code locator which enables us to access to any file, function or class inside the projects and a debugger that can highlight static and PEP8 errors in the document.
The application allows managing Python Project automatically, saving descriptive information about them and letting the user to perform file management related task in the IDE itself.
NINJA-IDE is highly extensible with its plugin support and there are already multiple plugins like a snippet manager or Git integration.
P.S. It works in all major operating systems.
Requirements: Python 2.7+, PyQt 4.7+
Compatibility: All Major OS