RFL is a Python library and a set of common utilities useful to most Rackslab products.
RFL is actually a Python namespaces for multiples packages managed in this single repository. The current packages are the following:
core
: Core library used by other packages.authentication
: Manage authentication with LDAP and JWT tokens.build
: Utilities to help backport builds of Python projects.log
: Setup logger.permissions
: Manage permissions with RBAC policy.settings
: Manage configuration files settings.web
: Predefined Flask application templates.
Each package has its own dedicated subdirectory in the src
directory.
To avoid potential inconstencies between various packages, Git repository does
not contain pyproject.toml
files in packages subdirectories. The files are
generated dynamically by a script with centrally managed information in
packages.toml
file located in top-folder.
RFL is considered stable and ready for production.
To install a package from sources, run the following command:
$ pip install src/<package>
Where <package>
is the name of a package (ex: core
).
To install all packages at once, run this command:
$ ./install.sh
The packages can be installed in editable mode by setting the corresponding environment variable:
$ EDITABLE=1 ./install.sh
This is particularly usefull for using packages and modules in Python REPL.
Run the following command to execute all unit tests:
$ ./test.sh
RFL is developed and maintained by Rackslab. Please contact us for any questions or professionnal services.
RFL is distributed under the terms of the GNU General Public License v3.0 or later (GPLv3+).