Prototype interfaces with ease in Python
Branch: stretch-unstab…
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data Update gitignore and test actionsmap Dec 29, 2014
debian
doc [enh] new utils to read yaml files May 12, 2018
lib/test [clean] Remove YunoHost files May 16, 2014
locales
moulinette
tests Protect against CSRF (#171) Dec 2, 2018
.gitignore [fix] Properly disconnect from LDAP Jul 18, 2015
.travis.yml [mod] continue with pep8 Dec 18, 2016
CONTRIBUTORS.md [enh][love] Add CONTRIBUTORS.md Dec 22, 2016
LICENSE Init Oct 6, 2012
README.md [mod] we moved away from redmine Jun 7, 2018
generate_api_doc.py [fix] nargs + option should allows to set several args Dec 14, 2014
generate_function_doc.py
setup.py Protect against CSRF (#171) Dec 2, 2018

README.md

Moulinette

The moulinette is a Python package that allows to quickly and easily prototype interfaces for your application.

Translation status

Issues

Overview

Initially, the moulinette was an application made for the YunoHost project in order to regroup all its related operations into a single program called moulinette. Those operations were available from a command-line interface and a Web server providing an API. Moreover, the usage of these operations (e.g. required/optional arguments) was defined into a simple yaml file - called actionsmap. This file was parsed in order to construct an ArgumentParser object and to parse the command arguments to process the proper operation.

During a long refactoring with the goal of unify both interfaces, the idea to separate the core of the YunoHost operations has emerged. The core kept the same name moulinette and try to follow the same initial principle. An Actions Map - which defines available operations and their usage - is parsed and it's used to process an operation from several unified Interfaces. It also supports a configuration mechanism - which allows to restrict an operation on an interface for example (see Authenticators).

Actions Map

...

Interfaces

...

Authenticators

...

Requirements

  • Python 2.7
  • python-bottle (>= 0.10)
  • python-gnupg (>= 0.3)
  • python-ldap (>= 2.4)
  • PyYAML