Skip to content
Abilian Core framework and services
JavaScript Python HTML CSS Makefile PowerShell Other
Branch: master
Clone or download
Latest commit f0f1cef Nov 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows ci: github actions. Nov 18, 2019
abilian fix: new flake8 warnings. Nov 18, 2019
demo Typing Jun 11, 2019
deploy Cleanup. Jul 25, 2015
docs Fix for readthedocs Jul 23, 2019
etc deps Nov 18, 2019
tests Typing Jun 11, 2019
tools/appveyor No need for this custom pip script either. Aug 31, 2017
.codeclimate.yml Trying out codeclimate. Jan 26, 2016
.editorconfig deps + editor config Jan 22, 2019
.eslintrc.js eslint config Aug 8, 2018
.gitignore deps Jan 28, 2019
.pre-commit-config.yaml chore: update pre-commit hook version. Sep 11, 2017
.travis.yml ci: travis / py38 Oct 19, 2019
CHANGES.rst Deps + prepare release Jun 28, 2019
LICENSE.txt Various doc fixes. Oct 22, 2013
Makefile Fix for readthedocs Jul 23, 2019
README.rst poetrification Dec 28, 2018 update TODO Dec 28, 2018
Vagrantfile CHANGES. Jul 21, 2015
azure-pipelines.yml Workaround Azure Pipeline build Jun 7, 2019 Deps + typecheck Jun 6, 2019
package.json deps (js) Mar 23, 2018
poetry.lock deps Nov 18, 2019
pyproject.toml Bump version Oct 7, 2019
setup.cfg Typing Jun 11, 2019
tox.ini Deps Apr 30, 2019 Add for the flask CLI. Jan 28, 2019
yarn.lock deps Nov 18, 2019



Abilian Core is an enterprise application development platform based on the Flask micro-framework, the SQLAlchemy ORM, good intentions and best practices (for some value of "best").

The full documentation is available on

Goals & principles

  • Development must be easy and fun (some some definition of "easy" and "fun", of course)
  • The less code (and configuration) we write, the better
  • Leverage existing reputable open source libraries and frameworks, such as SQLAlchemy and Flask
  • It must lower errors, bugs, project's time to deliver. It's intended to be a rapid application development tool
  • It must promote best practices in software development, specially Test-Driven Development (as advocated by the GOOS book)


Here's a short list of features that you may find appealing in Abilian:


  • Plugin framework
  • Asynchronous tasks (using Celery)
  • Security model and service

Domain model and services

  • Persistent domain object model, based on SQLAlchemy
  • Audit

Content management and services

  • Simple file-based content repository
  • Indexing service
  • Document preview and transformation


  • Users, groups and social graph (followers)
  • Activity streams

User Interface and API

  • Forms (based on WTForms)
  • CRUD (Create, Retrieve, Edit/Update, Remove) interface from domain models
  • Labels and descriptions for each field
  • Various web utilities: view decorators, class-based views, Jinja2 filters, etc.
  • A default UI based on Bootstrap 3 and several carefully selected jQuery plugins such as Select2
  • REST and AJAX API helpers
  • i18n: support for multi-language via Babel, with multiple translation dictionaries

Management and admin

  • Initial settings wizard
  • Admin and user settings framework
  • System monitoring (using Sentry)

Current status

Abilian Core is currently alpha software, in terms of API stability.

It is currently used in several applications that have been developped by Abilian over the last two years:

  • Abilian SBE (Social Business Engine) - an enterprise 2.0 (social collaboration) platform
  • Abilian EMS (Event Management System)
  • Abilian CRM (Customer / Contact / Community Relationship Management System)
  • Abilian Le MOOC - a MOOC prototype
  • Abilian CMS - a Web CMS

In other words, Abilian Core is the foundation for a small, but growing, family of business-critical applications that our customers intend us to support in the coming years.

So while Abilian Core APIs, object model and even architecture, may (and most probably will) change due to various refactorings that are expected as we can't be expected to ship perfect software on the firt release, we also intend to treat it as a valuable business asset and keep maintaining and improving it in the foreseeable future.

Roadmap & getting involved

If you need help or for general discussions about the Abilian Platform, we recommend joing the Abilian Users forum on Google Groups.

We have a roadmap on Pivotal Tracker that we use internally to manage our iterative delivery process.

For features and bug requests (or is it the other way around?), we recommend that you use the GitHub issue tracker.


If you are a Python web developer (which is the primary target for this project), you probably already know about:

So, after you have created and activated a virtualenv for the project, just run:


To use some features of the library, namely document and images transformation, you will need to install the additional native packages, using our operating system's package management tools (dpkg, yum, brew...):

  • A few image manipulation libraries (libpng, libjpeg)
  • The poppler-utils, unoconv, LibreOffice, ImageMagick utilities

Look at the for the exact list.


Abilian Core come with a full unit and integration testing suite. You can run it with make test (once your virtualenv has been activated and all required dependencies have been installed, see above).

Alternatively, you can use tox to run the full test suite in an isolated environment.


Abilian Core is licensed under the LGPL.


Abilian Core has been created by the development team at Abilian (currently: Stefane and Bertrand), with financial support from our wonderful customers, and R&D fundings from the French Government, the Paris Region and the European Union.

We are also specially grateful to:

  • Armin Ronacher for his work on Flask.
  • Michael Bayer for his work on SQLAlchemy.
  • Everyone who has been involved with and produced open source software for the Flask ecosystem (Kiran Jonnalagadda and the HasGeek team, Max Countryman, Matt Wright, Matt Good, Thomas Johansson, James Crasta, and probably many others).
  • The creators of Django, Pylons, TurboGears, Pyramid and Zope, for even more inspiration.
  • The whole Python community.


You can’t perform that action at this time.