A small Python framework meant to easily create programs with unified CLI and API.
Find a file
Alexandre Aubin 1335d4841d
Merge pull request #285 from yunohost-bot/weblate-yunohost-moulinette
Translations update from Weblate
2021-09-01 11:25:19 +02:00
.github/workflows github actions: only check invalidcode, linting is to be auto-handled by black 2021-08-27 22:13:31 +02:00
debian python3-argcomplete seems unused in practice... 2021-08-27 22:05:23 +02:00
doc 🎨 Format Python code with Black 2021-08-23 13:25:51 +00:00
locales Translated using Weblate (Persian) 2021-08-31 01:22:49 +00:00
moulinette Merge pull request #288 from YunoHost/actions/black 2021-08-28 12:35:37 +02:00
test Typo 2021-08-27 22:10:06 +02:00
.gitignore Test documentation under Tox 2019-08-04 19:46:20 +02:00
CONTRIBUTORS.md [enh][love] Add CONTRIBUTORS.md 2016-12-22 16:28:23 +01:00
LICENSE Init 2012-10-06 16:22:15 +02:00
pytest.ini [mod] during tests failed to translate string is an error 2019-07-28 21:29:50 +02:00
README.md Remove requirement section in the README, the requirements are in debian/control ... 2021-05-08 14:51:11 +02:00
setup.cfg Configuration tweaks fox tox/travis to use and check Black 2019-11-25 17:20:34 +01:00
setup.py python3-argcomplete seems unused in practice... 2021-08-27 22:05:23 +02:00
tox.ini github actions: only check invalidcode, linting is to be auto-handled by black 2021-08-27 22:13:31 +02:00

Build Status GitHub license

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).

Dev Documentation

https://moulinette.readthedocs.org

Testing

$ pip install tox
$ tox