Metadata-Version: 2.1
Name: surgen
Version: 0.1.0
Summary: a utility library to help provide api route generation form function signature for web frameworks.
Home-page: https://github.com/toumorokoshi/surgen
Author: Yusuke Tsutsumi
Author-email: yusuke@tsutsumi.io
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: System :: Software Distribution
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Requires-Dist: attrs
Requires-Dist: clint
Requires-Dist: coloredlogs
Requires-Dist: docopt
Requires-Dist: gitpython
Requires-Dist: py
Requires-Dist: verboselogs

======
surgen
======

Surgen is a tool and library to help perform automated upgrades to codebases. It's goals are:

* provide a simple CLI to facilitate upgrading codebases
* provide libraries to allow easy authoring of code migration scripts.

------------
Installation
------------

`pip install surgen`



-----
Usage
-----

Surgen is available as a command line tool, providing the directory
containing surgen scripts, and the directory to apply them to:

.. code-block:: bash

    surgen ./my_upgrade_scripts ./my_target_directory

Both arguments are optional, and default to the ./surgen-scripts
directory and the current working directory, respectively.

Surgen Script
=============

A surgen script MUST contain a class that:

    * extends surgen.Procedure
    * overrides operate(self)
    * does NOT override __init__

A surgen script can:

    * provide a should_run function to determine if the script should run (default true)


Examples of surgen scripts can be found in the examples/ directory.

----
TODO
----

* backup / restore


