Metadata-Version: 2.0
Name: parcell
Version: 0.2.3
Summary: UI for local development of server executed projects.
Home-page: https://github.com/JosuaKrause/parcell/
Author: Josua Krause
Author-email: josua.krause@gmail.com
License: MIT
Keywords: parcell,remote,execution,project,management,web,UI
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Requires-Dist: pexpect
Requires-Dist: quick-cache
Requires-Dist: quick-server
Requires-Dist: tej

parcell
=======

``parcell`` helps you to keep your work on your machine even when it
needs to be executed remotely. This is done by sending your project's
code to one of your beefy worker servers, running the code, and sending
the results back. Multiple tasks can be run in parallel and on different
servers to balance the load. You can keep improving your code on your
machine without lag and get notified when submitted tasks have been
completed. No setup on the server side is required.

Getting started
---------------

Install the project via:

.. code:: bash

    pip install parcell

Choose a working directory for your projects and ``cd`` into it.

Now run

.. code:: bash

    parcell add PROJECTNAME

where ``PROJECTNAME`` is the name of the project you want to create.
Follow all instructions until the script creates your project.
If the command cannot be found try restarting the terminal or use
`python -m parcell ...` instead.

Then run

.. code:: bash

    parcell start

to start the web interface. Note that you can avoid retyping your passwords
for different servers using the ``--reuse-pw`` command line argument in
either command (given all the servers accept the same password).
Once the web interface is started you can interact with your project.
When finished you can stop ``parcell`` by typing ``quit`` in the
terminal or pressing ``CTRL-C``. Typing ``restart`` restarts the web interface.

Use

.. code:: bash

    parcell -h

or

.. code:: bash

    parcell COMMAND -h

to get further information about the command line capabilities.

Uninstalling
------------

Since ``parcell`` adds local and remote files please run

.. code:: bash

    parcell delete

before uninstalling via ``pip``. This makes sure that all local
and remote files are removed and all running tasks are stopped.
The command can also be used to remove specific
servers. Note that in order to be able to clean files on the server side
it must be possible to connect to the server at the time of removal.

Contributing
------------

Pull requests are highly appreciated :) Also, feel free to open
`issues <https://github.com/JosuaKrause/parcell/issues>`__ for any
questions or bugs you may encounter.

If you want to work on the code of ``parcell``. Set the project up as follows:

.. code:: bash

    git clone https://github.com/JosuaKrause/parcell.git
    cd parcell
    git submodule update --init --recursive
    pip install -e .

This way you need to call ``parcell`` via:

.. code:: bash

    python -m parcell ...


