2021-09-01 15:42:46 +02:00
|
|
|
<h1 align="center">Moulinette</h1>
|
|
|
|
|
|
|
|
<div align="center">
|
|
|
|
|
|
|
|
[![Tests status](https://github.com/YunoHost/moulinette/actions/workflows/tox.yml/badge.svg)](https://github.com/YunoHost/moulinette/actions/workflows/tox.yml)
|
|
|
|
[![GitHub license](https://img.shields.io/github/license/YunoHost/moulinette)](https://github.com/YunoHost/moulinette/blob/dev/LICENSE)
|
|
|
|
|
|
|
|
<a href="https://translate.yunohost.org/engage/yunohost/?utm_source=widget">
|
|
|
|
<img src="https://translate.yunohost.org/widgets/yunohost/-/287x66-white.png" alt="Translation status" />
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</div>
|
2019-08-28 17:49:13 +02:00
|
|
|
|
2012-10-06 16:22:15 +02:00
|
|
|
|
2014-03-26 01:44:58 +01:00
|
|
|
The *moulinette* is a Python package that allows to quickly and easily
|
2014-05-16 16:09:05 +02:00
|
|
|
prototype interfaces for your application.
|
2012-10-06 16:22:15 +02:00
|
|
|
|
|
|
|
|
2017-04-03 01:37:11 +02:00
|
|
|
Issues
|
|
|
|
------
|
|
|
|
|
2018-06-07 13:39:14 +02:00
|
|
|
- [Please report issues on YunoHost bugtracker](https://github.com/YunoHost/issues).
|
2017-04-03 01:37:11 +02:00
|
|
|
|
2014-03-26 01:44:58 +01:00
|
|
|
Overview
|
|
|
|
--------
|
2012-10-14 22:05:15 +02:00
|
|
|
|
2014-03-26 01:44:58 +01:00
|
|
|
Initially, the moulinette was an application made for the
|
|
|
|
[YunoHost](https://yunohost.org/) 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.
|
2012-10-06 16:22:15 +02:00
|
|
|
|
2014-03-26 01:44:58 +01:00
|
|
|
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](#actions-map) - which defines
|
|
|
|
available operations and their usage - is parsed and it's used to
|
|
|
|
process an operation from several unified [Interfaces](#interfaces). It
|
|
|
|
also supports a configuration mechanism - which allows to restrict an
|
|
|
|
operation on an interface for example (see
|
|
|
|
[Authenticators](#authenticators)).
|
2013-04-22 09:39:30 +02:00
|
|
|
|
|
|
|
|
2019-08-25 16:43:27 +02:00
|
|
|
Dev Documentation
|
|
|
|
-----------------
|
2012-10-06 16:22:15 +02:00
|
|
|
|
2019-08-25 16:43:27 +02:00
|
|
|
https://moulinette.readthedocs.org
|
2012-10-22 21:25:55 +02:00
|
|
|
|
2019-07-28 22:05:59 +02:00
|
|
|
|
|
|
|
Testing
|
|
|
|
-------
|
|
|
|
|
|
|
|
```
|
|
|
|
$ pip install tox
|
|
|
|
$ tox
|
|
|
|
```
|