Fora is an infrastructure and configuration management tool inspired by Ansible and pyinfra. Yet, it implements a drastically different approach to inventory management (and some other aspects), when compared to these well-known tools. See how it differs for more details.
You can install Fora with pip:
pip install fora
Afterwards, you can use it to write scripts which will be used to run operations or commands on a remote host.
# deploy.py
from fora.operations import files, system
files.directory(
name="Create a temporary directory",
path="/tmp/hello")
system.package(
name="Install neovim",
package="neovim")
These scripts are executed against an inventory, or a specific remote host (usually via SSH).
fora [email protected] deploy.py
To start with your own (more complex) deploy, you can have Fora create a scaffolding in an empty directory. There are different scaffoldings available for different use-cases.
fora --init minimal
Fora can do a lot more than this, which is explained in the Introduction. If you are interested in how Fora is different from existing tools, have a look at Outlining the differences.