FADES(1) | General Commands Manual | FADES(1) |
fades - A system that automatically handles the virtualenvs in the cases normally found when writing scripts and simple programs, and even helps to administer big projects.
fades [-h][--help] [-V][--version] [-v][--verbose] [-q][--quiet] [-i][--ipython] [-d][--dependency] [-r][--requirement] [-x][--exec] [-p version][--python=version] [--rm=UUID] [--system-site-packages] [--virtualenv-options=options] [--pip-options=options] [--python-options=options] [--check-updates] [--clean-unused-venvs=max_days_to_keep] [--get-venv-dir] [--no-precheck-availability] [-a][--autoimport] [--freeze] [-m][--module] [--avoid-pip-upgrade] [child_program [child_options]]
fades can be used to execute directly your script, or put it with a #! at your script's beginning.
fades will automagically create a new virtualenv (or reuse a previous created one), installing the necessary dependencies, and execute your script inside that virtualenv, with the only requirement of executing the script with fades and also marking the required dependencies.
The first non-option parameter (if any) would be then the child program to execute, and any other parameters after that are passed as is to that child script.
fades can also be executed without passing a child script to execute: in this mode it will open a Python interactive interpreter inside the created/reused virtualenv (taking dependencies from --dependency or --requirement options). If --autoimport is given, it will automatically import all the installed dependencies.
If the child_program parameter is really an URL, the script will be automatically downloaded from there (supporting also the most common pastebins URLs: pastebin.com, linkode.org, gist, etc.).
requests
pypi::requests > 2.3
requests<=3
git+https://github.com/kennethreitz/requests.git#egg=requests
vcs::git+https://github.com/kennethreitz/requests.git#egg=requests
See more examples below for real command line usage explanations.
The dependencies can be indicated in multiple places (in the Python source file, with a comment besides the import, in a requirementsfile, and/or through command line. In case of multiple definitions of the same dependency, command line overrides everything else, and requirements file overrides what is specified in the source code.
Executes foo.py under fades, passing the --bar parameter to the child program, in a virtualenv with the dependencies indicated in the source code.
Executes foo.py under fades, showing all the fades messages (verbose mode).
Executes foo.py under fades (passing the --bar parameter to it), in a virtualenv with the dependencies indicated in the source code and also dependency1 and dependency2 (any version > 3.2).
Executes the Python interactive interpreter in a virtualenv with dependency1 installed.
Executes the Python interactive interpreter in a virtualenv after installing there all dependencies taken from the requirements.txt file.
Executes the Python interactive interpreter in a virtualenv after installing there all dependencies taken from files requirements.txt and requirements_devel.txt.
You can also configure fades using .ini config files. fades will search config files in /etc/fades/fades.ini, the path indicated by xdg for your system (for example ~/config/fades/fades.ini) and .fades.ini. So you can have different settings at system, user and project level.
The config files are in .ini format. (configparser) and fades will search for a [fades] section. You have to use the same configurations that in the CLI. The only difference is with the config options with a dash, it has to be replaced with a underscore.
Check http://fades.readthedocs.org/en/latest/readme.html#setting-options-using-config-files for full examples.
Development is centralized in https://github.com/PyAr/fades
Check that site for a better explanation of fades usage.
Facundo Batista, Nicolás Demarchi (see development page for contact info).
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation.