semvec/pypi-packages huggingface dataset:
acmdrunner 1.2
Ascetic command runner. The most ease way to power your python app with custom management commands
License: MIT
Keywords: command,dispatch

**************************************
Ascetic Command Runner
**************************************

.. image:: https://api.travis-ci.org/sergeyglazyrindev/asceticcmdrunner.svg
   :target: https://travis-ci.org/sergeyglazyrindev/asceticcmdrunner
   :alt: Travis CI status

.. image:: https://coveralls.io/repos/github/sergeyglazyrindev/asceticcmdrunner/badge.svg?branch=master
   :target: https://coveralls.io/github/sergeyglazyrindev/asceticcmdrunner?branch=master
   :alt: Coveralls status
           
Not all of our projects are using either django or another *God* framework.
So, once we start our hobby project, would be great to put into the game some commands.
For example, maybe we need for our hobby project simple command test which loads custom TestRunner, etc
In this case this package maybe handy for you!

**************************************
Installation
**************************************

Simply run in your bash:

.. code-block:: bash
                
    pip install acmdrunner

**************************************
Usage
**************************************

In your **django like manage.py** command loader, you need to trigger following:

.. code-block:: python
                
    import os
    from acmdrunner import Loader

    ...
    make all your preparations, initialize project settings, etc
    ...

    Loader.load_from_directory(os.path.dirname(__file__))
    Loader.load_from_package('rit.app')

Loader will search recursively in passed folder for folders with name management.
And try to load from folders found file acr_commands.py

An example of the file acr_commands.py:

.. code-block:: python
                
    from acmdrunner.dispatcher import CommandDispatcher
    command_dispatcher = CommandDispatcher()


    def execute(*args):
        pass

    command_dispatcher.register_command('test', execute)

**register_command** registers specific command and handler for this command.
Your commands should implement execute method. Better to inherit from BaseCommand.
But as it is ascetic, you can simply pass class with execute method implemented.
That's all!

To run command, please trigger following call:

.. code-block:: python
                
    from your_package_place import command_dispatcher
    command_dispatcher.execute_command(command_name, *args, **kwargs)


**************************************
Real usage example
**************************************

If you want to load all commands from specific namespace, you can implement following:

.. code-block:: python

    packages_to_traverse = ('rit.app', 'rit.core')
    for package in packages_to_traverse:
        Loader.load_from_package(package[0])
    Loader.load_from_directory(os.path.dirname(os.getcwd()))
amigrations 0.5
Ascetic database migrations. The most ease way to power your python app with raw database migrations
License: MIT
Keywords: database,migration

**************************************
Ascetic Migrations
**************************************

.. image:: https://api.travis-ci.org/sergeyglazyrindev/amigrations.svg
   :target: https://travis-ci.org/sergeyglazyrindev/amigrations
   :alt: Travis CI status

.. image:: https://coveralls.io/repos/github/sergeyglazyrindev/amigrations/badge.svg?branch=master
   :target: https://coveralls.io/github/sergeyglazyrindev/amigrations?branch=master
   :alt: Coveralls status

For my personal projects I'd like to use raw sql migrations. Django for example generates ugly
key names: something like: key_number

**************************************
Installation
**************************************

Simply run in your bash:

.. code-block:: bash
                
    pip install amigrations

**************************************
Usage
**************************************

.. code-block:: python
                
    from amigratons import AMigrations

    amigrations = AMigrations('mysql://root:123456@localhost:3306/amigrations_test', path_to_folder_with_migrations)
    files_created = amigrations.create(migraiton_message)
    # files_created is a dictionary with two keys: up and down. If you want immediately update migration content, please
    # do following
    with files_created['up'].open('w') as fpu, files_created['down'].open('w') as fpd:
        fpu.write('CREATE TABLE test (id int(11) not null AUTO_INCREMENT, PRIMARY KEY(id))')
        fpd.write('drop table test')
    # run db upgrade
    amigrations.upgrade()
    # please pass migration id you want to downgrade to, including
    amigrations.downgrade_to(downgrade_to_id)
b2upload 0.1.9
backblaze folder uploader
License: MIT
Keywords: backup devops

# BackBlaze Backup

pushes the content of a folder (and all its subdirectories) to [backblaze](https://www.backblaze.com/)

## Set up

install b2upload

`pip install b2upload`

create a `.backblaze` in your home directory
it should contain the following :

```
[backblaze]
accountId = <your-account-id>
applicationKey = <your-application-key>
```


## usage

to upload all files and subfolders of the current directory

`b2upload --bucket <bucket-name>`

to upload all files and subfolders of a specific directory

`b2upload --bucket <bucket-name> --directory <absolute-path-to-dir>`