A small Python framework meant to easily create programs with unified CLI and API.
Find a file
Alexandre Aubin 3c9230ee9f
Merge pull request #204 from YunoHost/toml-utils
add utils.filesystem.read_toml and depends on toml in moulinette
2019-07-21 13:34:28 +02:00
data Use sasl authentication for LDAP (by root user) 2018-12-11 21:04:14 +01:00
debian [mod] depends on toml in debian/control 2019-07-07 05:48:24 +02:00
doc [enh] add read_toml util 2019-07-07 05:48:10 +02:00
locales Merge pull request #204 from YunoHost/toml-utils 2019-07-21 13:34:28 +02:00
moulinette Merge pull request #204 from YunoHost/toml-utils 2019-07-21 13:34:28 +02:00
test Migrate utility tests to Pytest top level folder 2019-07-14 11:58:57 +02:00
.gitignore [fix] Properly disconnect from LDAP 2015-07-18 16:28:48 +02:00
.travis.yml Update the Travis CI to use Tox 2019-07-14 11:58:58 +02:00
CONTRIBUTORS.md [enh][love] Add CONTRIBUTORS.md 2016-12-22 16:28:23 +01:00
generate_api_doc.py [fix] nargs + option should allows to set several args 2014-12-14 17:15:50 +01:00
generate_function_doc.py [enh] Adapt yunohost_tools + backport update/upgrade function from prerefactoring branch 2014-04-26 12:51:35 +00:00
LICENSE Init 2012-10-06 16:22:15 +02:00
pytest.ini Arrange packaging, Tox and pytest configuration 2019-07-14 01:31:38 +02:00
README.md [mod] we moved away from redmine 2018-06-07 13:39:14 +02:00
setup.cfg Add Pep8 configuration 2019-07-14 11:58:58 +02:00
setup.py Arrange packaging, Tox and pytest configuration 2019-07-14 01:31:38 +02:00
tox.ini Arrange packaging, Tox and pytest configuration 2019-07-14 01:31:38 +02:00

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