Metadata-Version: 1.1
Name: django-sonic-screwdriver
Version: 0.2.2
Summary: Django Sonic Screwdriver is a collection of very useful commands and will make your life easier.
Home-page: https://github.com/rhazdon/django-sonic-screwdriver
Author: Djordje Ilic
Author-email: djordje.ilic@posteo.de
License: MIT License
Description: Django Sonic Screwdriver
        ========================
        
        .. image:: https://coveralls.io/repos/rhazdon/django-sonic-screwdriver/badge.svg?branch=master&service=github
           :target: https://coveralls.io/github/rhazdon/django-sonic-screwdriver?branch=master
        
        .. image:: https://codeclimate.com/github/rhazdon/django-sonic-screwdriver/badges/gpa.svg
           :target: https://codeclimate.com/github/rhazdon/django-sonic-screwdriver
           :alt: Code Climate
        
        .. image:: https://badge.fury.io/py/django-sonic-screwdriver.svg
           :target: http://badge.fury.io/py/django-sonic-screwdriver
        
        
        Django Sonic Screwdriver is a collection of very useful commands and will make your life easier.
        
        The versioning tool fully supports `PEP 0440<https://www.python.org/dev/peps/pep-0440/>`_.
        
        
        Installation
        ------------
        You can download the latest version from the Python Package Index PyPI.
        
        .. code:: bash
        
          $ pip install django-sonic-screwdriver
        
        
        Add the package to your settings.py:
        
        .. code:: python
        
          INSTALLED_APPS = (
            ...
            'django_sonic_screwdriver',
            ...
          )
        
        
        Settings
        --------
        
        .. code:: python
        
          SONIC_SCREWDRIVER = {
            # For test purpose
            'DEBUG': False,
        
            # Returns file where the version number is located
            'VERSION_FILE': 'setup.py',
        
            'RELEASE_SEPARATOR': '',  # '_', '-', '.'
        
            'PATCH_AUTO_TAG': False,
            'PATCH_AUTO_TAG_PUSH': False,
            'PATCH_AUTO_COMMIT': False,
        
            'GIT_DIR': setting.BASE_DIR,
        
            # Git Tagging
            'GIT_TAG_AUTO_COMMIT': False,
            'GIT_TAG_AUTO_TAG_PUSH': False,
        
            'GIT_STAGING_PRE_TAG': 'staging',
            'GIT_ACTIVATE_PRE_TAG': 'activate',
        
            'SECURE_TAGGING': True,
          }
        
        **Description:**
        
        =======                 =======           ===========
        Setting                 Default           Description
        =======                 =======           ===========
        DEBUG                   False             Enables or disables the debug mode. For testing purposes.
        
        VERSION_FILE            'setup.py'        Specifies, where you safe your project Version. It should be just on place - any other should refer to this one.
        
        RELEASE_SEPARATOR       ''                The RELEASE_SEPARATOR is the seperator between the version number and the relase. E.g. v0.1.2b0, v0.1.2_b0, v0.1.2-b0, v0.1.2.b0. All of this variants is support by `PEP 0440<https://www.python.org/dev/peps/pep-0440/>`_.
        
        PATCH_AUTO_TAG          False             If True, Sonic Screwdriver tries to create automatically a tag from every patch you create with ./manage.py patch.
        PATCH_AUTO_TAG_PUSH     False             If True, after creating a tag via './manage.py patch', Sonic Screwdriver will try to push this tag automatically.
        PATCH_AUTO_COMMIT       False             NOT IMPLEMENTED YET!
        
        GIT_DIR                 settings.BASE_DIR Specify your project root dir.
        
        GIT_TAG_AUTO_COMMIT     False             NOT IMPLEMENTED!
        GIT_TAG_AUTO_TAG_PUSH   False             If True, Sonic Screwdriver pushes automatically the current created tags.
        
        GIT_STAGING_PRE_TAG     'staging'         Pre tag for git.
        GIT_ACTIVATE_PRE_TAG    'activate'        Pre tag for git.
        
        SECURE_TAGGING          True              Security for production tags. If True, Sonic Screwdriver checks the remote repository for a staging tag of the current requested production version. Developer will be able to create a production tag only then, if the same version exists as staging tag.
        =======                 =======           ===========
        
        
        Commands
        --------
        
        cache:clear
        ~~~~~~~~~~~
        Clear the cache.
        
        
        gen:secretkey
        ~~~~~~~~~~~~~
        Generate a new Secretkey for Django.
        
        
        patch
        ~~~~~
        Command "patch" will help you to increase the version number of your project in a easy way.
        
        ======                  ===========
        Option                  Description
        ======                  ===========
        -M, --major             Set major number
        -m, --minor             Set minor number
        -p, --patch             Set patch number
        -d, --dev               Set dev release (e.g. 1.2.1dev1)
        -a, --alpha             Set alpha release (e.g. 1.2.1a1)
        -b, --beta              Set beta release (e.g. 1.2.1b1)
        -r, --release-candidate Set release candidate release (e.g. 1.2.1rc1)
        -f, --force             Force patching
        ======                  ===========
        
        
        git:add
        ~~~~~~~
        Add files to Git repository. Supports all standard "git add" options.
        
        ======                  ===========
        Option                  Description
        ======                  ===========
        -n, --dry-run           Dry run
        --verbose               Be verbose.
        -i, --interactive       Interactive picking.
        -p, --patch             Select hunks interactively.
        -e, --edit              Edit current diff and apply.
        -f, --force             Allow adding otherwise ignored files.
        -u, --update            Update tracked files.
        -N, --intent-to-add     Record only the fact that the path will be added later.
        -A, --all               Add changes from all tracked and untracked files.
        --ignore-removal        Ignore paths removed in the working tree (same as --no-all).
        --refresh               Do not add, only refresh the index.
        --ignore-errors         Just skip files which cannot be added because of errors.
        --ignore-missing        Check if - even missing - files are ignored in dry run.
        ======                  ===========
        
        
        git:tag
        ~~~~~~~
        Tag your project.
        
        ======                  ===========
        Option                  Description
        ======                  ===========
        --default               (is default)
        --staging               Create a staging tag (e.g. staging-v1.2.3)
        --activate              Create a activate tag (e.g. activate-v1.2.3)
        --push                  Push tags
        ======                  ===========
        
        
        git:tag:push
        ~~~~~~~~~~~~
        Push your tagged project.
        
        
        git:tag:delete
        ~~~~~~~~~~~~~~
        Remove the latest or given tag from local repository.
        
        ======                  ===========
        Option                  Description
        ======                  ===========
        <tag>                   Remove the latest or given tag (optional).
        ======                  ===========
        
        
        pypi:export
        ~~~~~~~~~~~
        Export your project.
        
        ======                  ===========
        Option                  Description
        ======                  ===========
        --no-wheel              Export project without wheel (not recommended)
        -u, --upload            Upload Project
        ======                  ===========
        
        
        pypi:upload
        ~~~~~~~~~~~
        Upload project to pypi via twine.'
        
        ======                  ===========
        Option                  Description
        ======                  ===========
        --default               Upload project to PyPI via twine
        ======                  ===========
        
        
        To Do:
        ------
        [x] git:add
        
        [x] Secure production tagging
        
        [ ] git:commit
        
        [ ] Heroku Support
        
        [ ] Deis Support
        
        [ ] Docker and Vagrant blueprints
        
        [ ] ...
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Plugins
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.8
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Utilities
