This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

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.

Changelog

  • 2.4.2
    • Fix a bug with setting the log level
    • Make the deploy subcommand the default when no subcommand is given
  • 2.4.1
    • SALVE now uses the python standard library for logging, rather than custom logging
    • Entire codebase (including tests) is now PEP8 and passes flake8
    • Significant refactoring to improve Code Climate scoring
  • 2.4.0
    • Paths can be expanded relative to the manifest being processed, rather than relative to the root manifest (this will become the default in version 3)
  • 2.3.1
    • Fixes to setuptools usage
    • Change markdown documents to reST
  • 2.3.0
    • Support for Python 2.6 (with argparse installed)
    • Primary Attribute style blocks
    • Filesys abstraction layer
    • Removed SALVE_ROOT automatic variable
    • Relocated default_settings.ini to salve/default_settings.ini
    • Default directory (without override) is directory of root manifest
  • 2.2.0
    • Travis and Coveralls integration
    • Improved internal logging and context handling
    • Support for Python 3
  • 2.1.0
    • Numerous log levels and output controls
    • Default attributes, which behave like the old 1.x version common attributes
    • Increased the context information produced when errors are raised
    • Regained code coverage in tests
    • Made the codebase PEP8 compliant (as per pep8 v1.2)
  • 2.0.0
    • Backups are now stored in a flat dir by hash, resolving some dir/file conflict issues
    • Change to backup logfile timestamp format, more human readable
    • Old python salve.py usage is now python salve.py deploy, and added stub python salve.py backup
    • Switched to argparse – now incompatible with python 2.6.x without libraries
    • common block attributes are now global, and have precedence over block-defined attributes
    • Action verification checks and warnings on failures and skips
  • 1.1.0
    • Large expansions to the testsuite
    • No SALVE actions are performed through the shell anymore
    • Permissions are now checked before actions are executed so that insufficient permissions will not crash the entire run
    • Error messages now take the common [filename], line [lineno]: [message] format
  • 1.0.3
    • Fixes major bug with dir copy not triggering file backups
    • Internal refactoring and cleanup in Blocks and Actions
  • 1.0.2
    • Fewer actions rely on shell commands and use shutil instead
    • Underspecifying an action no longer causes a failure for chown and chmod, but skips these actions instead
    • File create now does a touch -a instead of a touch, so that access time is changed instead of modified time
  • 1.0.1
    • Removed aggressive backups behavior that backed up directories and files on creation
    • Improved error reporting at levels of execution above the parser
  • 1.0.0
    • Addition of backups for overwritten files
    • Addition of SALVE_USER_PRIMARY_GROUP variable
    • Completed test coverage
  • beta 0.1.0
    • Addition of directory blocks
  • alpha 0.0.2
    • Expansion of relative paths
    • Fixes for configuration templating in blocks
    • Checks EUID before attempting chown
  • alpha 0.0.1
    • Basic functionality for file blocks and manifest blocks
Release History

Release History

2.4.2

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

2.4.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

2.3.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

2.3.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

2.3.0.dev

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
salve-2.4.2-py2.7.egg (260.4 kB) Copy SHA256 Checksum SHA256 2.7 Egg Nov 14, 2015
salve-2.4.2.tar.gz (71.7 kB) Copy SHA256 Checksum SHA256 Source Nov 14, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting