moulinette/README.md

64 lines
2 KiB
Markdown
Raw Normal View History

2019-08-28 17:49:13 +02:00
[![Build Status](https://travis-ci.org/YunoHost/moulinette.svg?branch=stretch-unstable)](https://travis-ci.org/YunoHost/moulinette)
[![GitHub license](https://img.shields.io/github/license/YunoHost/moulinette)](https://github.com/YunoHost/moulinette/blob/stretch-unstable/LICENSE)
2014-03-26 01:44:58 +01:00
Moulinette
==========
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
prototype interfaces for your application.
2012-10-06 16:22:15 +02:00
<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>
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)).
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
2014-03-26 01:44:58 +01:00
Requirements
------------
2012-10-14 22:05:15 +02:00
2014-03-26 01:44:58 +01:00
* Python 2.7
2014-03-26 01:54:44 +01:00
* python-bottle (>= 0.10)
2014-03-26 01:44:58 +01:00
* python-gnupg (>= 0.3)
* python-ldap (>= 2.4)
* PyYAML
Testing
-------
```
$ pip install tox
$ tox
```