Simple Configuration Deployment Language
Python Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
salve
setup
tests
.gitignore
.travis.yml
CHANGELOG.rst
LICENSE.rst
MANIFEST.in
README.rst
salve.py
setup.py

README.rst

Build Status Coverage Status PyPi Version Code Climate

SALVE

SALVE takes files and directories in a git repository, and handles the messy process of deploying those files onto a machine.

More information is available at the SALVE Website.

How do I use it?

SALVE is a language, but also a compiler and runtime for that language. You write "manifests" which describe where your files are meant to go, and SALVE will do the rest. The language is small and simple enough that you can learn all of the important parts in a few minutes, and answer any remaining questions in under half an hour.

To start writing manifests, you can go to the Quick-Start Guide. For a more detailed description of the SALVE language, the Language Page and the Examples Page are good resources.

Once you have a manifest you want to run, simply do salve deploy with it. If you have installed the pip package, you can run

salve deploy --manifest path/to/root.manifest

or, if you are using the git repo as your source

python SALVE/salve.py deploy --manifest path/to/root.manifest

Since deploy is the default action, you could also run

salve -m path/to/root.manifest

What do I need to run it?

SALVE is fully compatible with Python 2.6, 2.7, 3.2, 3.3, 3.4, and 3.5. It also works on pypy and pypy3.

It has no dependencies on other python packages, so as long as you have one of these versions of Python installed, you can run SALVE.

Python 2.6 Support

Python 2.6 is supported, but because OptParse is deprecated in Python 3.x, SALVE depends upon argparse.

To run SALVE with Python 2.6, you will need to install the argparse package, or do a pip or easy_install of salve to pull in the dependency automatically.

Roadmap

The Roadmap has been replaced with GitHub issues.