Skip to main content

Local development of server executed projects.

Project description

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:

pip install parcell

Then start parcell for the first time in the working directory of your choice:

parcell

Note that parcell uses your current working directory to locate your projects and servers so make sure you are in the same directory every time you start it. After starting parcell browses to http://localhost:8000/parcell/. You should see an empty “Select project” screen. Stop parcell by typing quit in the terminal or pressing CTRL-C. Add projects and servers as shown below. Then start the server again. If everything worked you should see your projects.

Adding a server

Locate the servers folder in your working directory. Add a file SERVERNAME.json describing your server:

{
  "hostname": "server1.foobar.com", // the server you want to access
  "username": "joe", // your username on the server
  "needs_pw": true, // whether you need to type a password to connect
  "tunnel": "joe@connect.foobar.com", // optional server for tunneling the connection
  "tunnel_port": 11111, // local port to tunnel through (only if tunneling) -- must be unique for each server
  "needs_tunnel_pw": true  // whether you need to type a password to tunnel (only if tunneling)
}

Note that JSON cannot contain comments!

It is recommended to restart parcell (e.g., by typing restart) after adding new servers. If all your servers have the same password you can start parcell with python server.py --reuse-pw to only type one password.

Setting up a project

Locate the projects folder in your parcell directory. Add a file PROJECTNAME.json describing your project:

{
  "local": "~/projects/awesome", // the path to your local project folder (note that all contents of this folder and subfolders will be copied onto the server)
  "cmd": "python run.py", // the command that runs your project
  "env": "linux", // the server environment (located in the env/ folder)
  "servers": [ // a list of servers (the SERVERNAME of the server description)
    "server1",
    "server2",
    "server3"
  ]
}

Note that JSON cannot contain comments!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parcell-0.1.0.tar.gz (872.1 kB view hashes)

Uploaded Source

Built Distribution

parcell-0.1.0-py2-none-any.whl (893.3 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page