Skip to main content

No project description provided

Project description

# Embrion

Embrion is a project aimed at isolating development environments of repositories. It creates a docker container to jump start development. Currently environment has a Jupyterlab UI, Visual Studio Code UI and SSH access. You can also develop using PyCharm connecting through SSH to the docker.

## Requirements

You need to have docker and docker-compose installed on your computer.

## Limitations

This project only supports conda environment files (environment.yml) with a name. Support for requirements.txt may be added later. For now you can list all your requirements as a pip dependency in your environment.yml file. See https://stackoverflow.com/questions/35245401/combining-conda-environment-yml-with-pip-requirements-txt for more info.

## Installation

Go to your main project directory.

Run:

pip install embrion

Then only if you do not have an environment.yml file in your directory run:

embrion init

Then start the development server using:

embrion up

Then open Jupyterlab UI using,

embrion jupyter

or Visual Studio Code using,

embrion vscode

## Usage

To remove everything run:

embrion down

To refresh the environment run:

embrion refresh

To temporarily stop run:

embrion stop

To start again run:

embrion start

To restart run:

embrion restart

To open jupyter notebook run:

embrion jupyter

To open vs code run:

embrion vscode

To open terminal run:

embrion shell

To rebuild the image run:

embrion build

To show base command for docker-compose run:

embrion base

To show port mapping:

embrion port

To run any docker-compose command run:

embrion eval –args ‘[“..”, “..”, …]’

To create an environment.yml in an empty directory run:

embrion init

To create an environment.yml in an empty directory with a specific python version run:

embrion init –version=3.X

To connect through ssh run:

embrion ssh-port

Then take the ssh port and run:

ssh root@localhost -p SSH_PORT (Password is embrion)

## About the scope

The directory that you run embrion is the project name for the docker-compose. That means that you can run many embrion instances as long as the folder name that you run on is different. If the folder names are the same, then the previous setup will be overridden.

## Remote development (0.2.0 onwards)

If you would like to develop in a remote server first connect to the server and follow the steps above to start embrion. After starting embrion in the remote server switch back to your local terminal. Create an ssh config file which includes your remote server as a host name.

Then to create a tunnel between your computer and the remote server run:

embrion attach –server-name {your host name in ssh config} –project-name {the folder name you started embrion in remote server}

Then open Jupyterlab UI using,

embrion jupyter-remote –server-name {your host name in ssh config} –project-name {the folder name you started embrion in remote server}

or Visual Studio Code using,

embrion jupyter-vscode –server-name {your host name in ssh config} –project-name {the folder name you started embrion in remote server}

## Usage

To stop the tunnel run:

embrion detach –server-name {…} –project-name {…}

To show port mapping between docker in remote server and your local machine run:

embrion tunnel-port –server-name {…} –project-name {…}

To show port mapping between docker in remote server and remote server run:

embrion remote-port –server-name {…} –project-name {…}

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

embrion-0.2.0.tar.gz (9.5 kB view details)

Uploaded Source

File details

Details for the file embrion-0.2.0.tar.gz.

File metadata

  • Download URL: embrion-0.2.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for embrion-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b8a3f38afd42e474a7bf9104e54477aaffe66b5492159dc968ece26d8fac436f
MD5 e9e1a277c69897ec87601d039cd0708f
BLAKE2b-256 b1a9cce9cd60a033b02cb433b73e3e47fa84b4e9fb08107c4207c9afae0ed646

See more details on using hashes here.

Supported by

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