Skip to content
This repository has been archived by the owner on Sep 17, 2018. It is now read-only.

Commit

Permalink
Reworked my Fabric fork as a standalone package.
Browse files Browse the repository at this point in the history
  • Loading branch information
tav committed May 16, 2011
0 parents commit c7755e7
Show file tree
Hide file tree
Showing 10 changed files with 3,519 additions and 0 deletions.
72 changes: 72 additions & 0 deletions .gitignore
@@ -0,0 +1,72 @@
# specific files/directories

build
dist
bolt.egg-info

# minified css/js files

*.min.js
*.min.css

# hidden files/directories

.bzr
.bzrignore
.DS_Store
.hg
.hgignore
.lock-wscript
.sass-cache
.sconsign*
.svn

# file patterns

*#*
*~
*.5
*.6
*.8
*.a
*.dylib
*.egg
*.jar
*.la
*.lo
*.o
*.out
*.pyc
*.pyo
*.so
*.swp
*.tar.bz2
*.tar.gz
*.tbz
*.tbz2
*.tgz
*.rdb

_testmain.go

# file patterns (xcode)

*.mode1v3
*.mode2v3
*~.nib
*.pbxuser
*.perspective
*.perspectivev3
*.swp
*.tm_build_errors

# file patterns (windows)

*.dll
*.exe
*.ilk
*.lib
*.ncb
*.pdb
*.suo
*.vcproj.*.*.user
19 changes: 19 additions & 0 deletions AUTHORS
@@ -0,0 +1,19 @@
Bolt Authors
============

This is the official list of the Bolt Authors ("The Authors"), listed in
alphabetical order:

+----------------------------+--------------------+--------------------------+----------------+
| Name | Nick | Email | Location |
+============================+====================+==========================+================+
| `Tav`_ | tav | tav@espians.com | U.K. |
+----------------------------+--------------------+--------------------------+----------------+

.. Please keep the listing in Alphabetical Order, thanks!

.. _Tav: http://tav.espians.com

By adding yourself to this list, you explicitly agree to affirm all of your
Contributions to Bolt ("The Work") to be covered by the Unlicense found in the
UNLICENSE file.
3 changes: 3 additions & 0 deletions MANIFEST.in
@@ -0,0 +1,3 @@
include AUTHORS
include UNLICENSE
include README.rst
51 changes: 51 additions & 0 deletions README.rst
@@ -0,0 +1,51 @@
Bolt lets you easily automate sysadmin tasks like deployment. You can use it to
manage multi-server setups over SSH or even as a build tool. To use, simply
create a ``Boltfile`` with your tasks, e.g.

::

from bolt.api import *

@task
def deploy():
"""publish the latest version of the app"""

with cd('/var/www/mysite.com'):
run('git remote update')
run('git checkout origin/master')

sudo("/etc/init.d/apache2 graceful")

And then, run the tasks from the command line, e.g.

::

$ bolt deploy

Bolt was initially developed as a fork of `Fabric <http://fabfile.org/>`_, but
has since been extracted as a standalone tool without any of the historic
baggage of the Fabric APIs.

**Documentation**

Bolt doesn't currently have any docs, but you can look at the introduction to
the Fabric fork for details of how to use most of its features. Simply replace
the references to ``fab`` and ``fabric`` with ``bolt``:

* `Fabric with Cleaner API and Parallel Deployment Support
<http://tav.espians.com/fabric-python-with-cleaner-api-and-parallel-deployment-support.html>`_

**Contribute**

To contribute any patches simply fork the repository on GitHub and send a pull
request to https://github.com/tav, thanks!

**License**

The code derived from Fabric is contained within the ``bolt/fabcode.py`` file
and is under the BSD license. The rest of the code has been released into the
`Public Domain <https://github.com/tav/bolt/raw/master/UNLICENSE>`_. Do with it
as you please.

--
Enjoy, tav <tav@espians.com>
206 changes: 206 additions & 0 deletions UNLICENSE
@@ -0,0 +1,206 @@
Unlicense
=========

.. contents:: Table of Contents
:depth: 1
:backlinks: none

In the spirit of contributing to the Public Domain, to the full extent possible
under law, the Bolt Authors ("The Authors") have waived all copyright, patent
and related or neighboring rights to their Contributions to Bolt ("The Work").

This does not apply to works authored by third parties ("Third Party Works")
which come with their own copyright and licensing terms. These terms may be
defined in explicit files within the `third_party` directories or specified as
part of the contents of licensed files. We recommend you read them as their
terms may differ from the terms below.

All trademarks and registered trademarks mentioned in The Work are the property
of their respective owners.


Usage
-----

To affirm that a Contribution to The Work is covered by this Unlicense, add an
informative header like::

# Public Domain (-) 2011 The Bolt Authors.
# See the Bolt UNLICENSE file for details.

If the Contribution is to an existing Third Party Work, then it can be affirmed
with an informative header like::

# Changes to this file by The Bolt Authors are in the Public Domain.
# See the Bolt UNLICENSE file for details.


Statement of Purpose
--------------------

The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator and
subsequent owner(s) (each and all, an "owner") of an original work of authorship
and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for the
purpose of contributing to a commons of creative, cultural and scientific works
("Commons") that the public can reliably and without fear of later claims of
infringement build upon, modify, incorporate in other works, reuse and
redistribute as freely as possible in any form whatsoever and for any purposes,
including without limitation commercial purposes.

These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific works,
or to gain reputation or greater distribution for their Work in part through the
use and efforts of others.

For these and/or other purposes and motivations, and without any expectation of
additional consideration or compensation, the person associating the Unlicense
with a Work (the "Affirmer"), to the extent that he or she is an owner of
Copyright and Related Rights in the Work, voluntarily elects to apply the
Unlicense to the Work and publicly distribute the Work under its terms, with
knowledge of his or her Copyright and Related Rights in the Work and the meaning
and intended legal effect of the Unlicense on those rights.


Definitions
-----------

The term "distribute" has the same meaning here as under U.S. copyright law. A
"Contribution" is the original Work, or any additions or changes to it.

A Work made available under the Unlicense may be protected by copyright and
related or neighboring rights ("Copyright and Related Rights"). Copyright and
Related Rights include, but are not limited to, the following:

1. the right to reproduce, adapt, distribute, perform, display, communicate, and
translate a Work;

2. moral rights retained by the original author(s) and/or performer(s);

3. publicity and privacy rights pertaining to a person's image or likeness
depicted in a Work;

4. rights protecting against unfair competition in regards to a Work, subject to
the Limitations and Disclaimers, below;

5. rights protecting the extraction, dissemination, use and reuse of data in a
Work;

6. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation thereof,
including any amended or successor version of such directive); and

7. other similar, equivalent or corresponding rights throughout the world based
on applicable law or treaty, and any national implementations thereof.


Waiver
------

To the greatest extent permitted by, but not in contravention of, applicable
law, Affirmer hereby overtly, fully, permanently, irrevocably and
unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and
Related Rights and associated claims and causes of action, whether now known or
unknown (including existing as well as future claims and causes of action), in
the Work (i) in all territories worldwide, (ii) for the maximum duration
provided by applicable law or treaty (including future time extensions), (iii)
in any current or future medium and for any number of copies, and (iv) for any
purpose whatsoever, including without limitation commercial, advertising or
promotional purposes (the "Waiver").

Affirmer makes the Waiver for the benefit of each member of the public at large
and to the detriment of Affirmer's heirs and successors, fully intending that
such Waiver shall not be subject to revocation, rescission, cancellation,
termination, or any other legal or equitable action to disrupt the quiet
enjoyment of the Work by the public as contemplated by Affirmer's express
Statement of Purpose.


Public License Fallback
-----------------------

Should any part of the Waiver for any reason be judged legally invalid or
ineffective under applicable law, then the Waiver shall be preserved to the
maximum extent permitted taking into account Affirmer's express Statement of
Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby
grants to each affected person a royalty-free, non transferable, non
sublicensable, non exclusive, irrevocable and unconditional license to exercise
Affirmer's Copyright and Related Rights in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or treaty
(including future time extensions), (iii) in any current or future medium and
for any number of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the "Public
License").

The Public License shall be deemed effective as of the date the Unlicense was
applied by Affirmer to the Work. Should any part of the Public License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder of the
Public License, and in such case Affirmer hereby affirms that he or she will not
(i) exercise any of his or her remaining Copyright and Related Rights in the
Work or (ii) assert any associated claims and causes of action with respect to
the Work, in either case contrary to Affirmer's express Statement of Purpose.


Grant of Patent Rights
----------------------

Affirmer hereby grants to You a perpetual, worldwide, non-exclusive, no-charge,
royalty-free, irrevocable (except as stated in this section) patent license to
make, have made, use, offer to sell, sell, import, transfer and otherwise run,
modify and propagate the contents of this Work, where such license applies only
to those patent claims, both currently owned or controlled by Affirmer and
acquired in the future, licensable by Affirmer that are necessarily infringed by
this Work. This grant does not include claims that would be infringed only as a
consequence of further modification of this implementation. If you or your agent
or exclusive licensee institute or order or agree to the institution of patent
litigation against any entity (including a cross-claim or counterclaim in a
lawsuit) alleging that this Work or any Contribution incorporated within this
Work constitutes direct or contributory patent infringement, or inducement of
patent infringement, then any patent rights granted to you under this Grant of
Patent Rights for the Work shall terminate as of the date such litigation is
filed.


Limitations and Disclaimers
---------------------------

1. No trademark rights held by Affirmer are waived, abandoned, surrendered,
licensed or otherwise affected by this document.

2. Affirmer offers the Work as-is and makes no representations or warranties of
any kind concerning the Work, express, implied, statutory or otherwise,
including without limitation warranties of title, merchantability, fitness
for a particular purpose, non infringement, or the absence of latent or other
defects, accuracy, or the present or absence of errors, whether or not
discoverable, all to the greatest extent permissible under applicable law.

In no event shall the Affirmer be liable for any direct, indirect,
incidental, special, exemplary, or consequential damages (including, but not
limited to, procurement of substitute goods or services; loss of use, data,
or profits; or business interruption) however caused and on any theory of
liability, whether in contract, strict liability, or tort (including
negligence or otherwise) arising in any way out of the use of the Work, even
if advised of the possibility of such damage.

3. Affirmer disclaims responsibility for clearing rights of other persons that
may apply to the Work or any use thereof, including without limitation any
person's Copyright and Related Rights in the Work. Further, Affirmer
disclaims responsibility for obtaining any necessary consents, permissions or
other rights required for any use of the Work.


Appendix
--------

* The text of this document is derived from `Creative Commons CC0 1.0
Universal`_ and the `BSD style license`_ that ships with Google Go.

* This Unlicense is seen as a mere transitional requirement until international
law adapts to the post intellectual property reality.

.. _Creative Commons CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/legalcode
.. _BSD style license: http://go.googlecode.com/hg/LICENSE
19 changes: 19 additions & 0 deletions bolt/__init__.py
@@ -0,0 +1,19 @@
# Public Domain (-) 2011 The Bolt Authors.
# See the Bolt UNLICENSE file for details.

"""
====
Bolt
====
Multi-server automation and deployment toolkit.
::
_ _
| | | | _
| | _ ___ | || |_
| || \ / _ \ | || _)
| |_) )| |_| || || |__
|____/ \___/ |_| \___)
"""
9 changes: 9 additions & 0 deletions bolt/api.py
@@ -0,0 +1,9 @@
# Public Domain (-) 2011 The Bolt Authors.
# See the Bolt UNLICENSE file for details.

from bolt.core import TIMEOUT, execute, failed, hook, shell, succeeded, task

from bolt.fabcode import (
abort, cd, hide, get, env, fastprint, lcd, local, open_shell, output,
prefix, prompt, put, puts, reboot, run, settings, show, sudo, warn
)

0 comments on commit c7755e7

Please sign in to comment.