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.