Package: embrion
# EmbrionEmbrion 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.## RequirementsYou need to have docker and docker-compose installed on your computer.## LimitationsThis 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.
Seehttps://stackoverflow.com/questions/35245401/combining-conda-environment-yml-with-pip-requirements-txtfor more info.## InstallationGo to your main project directory.Run:pip install embrionThen only if you do not have an environment.yml file in your directory run:embrion initThen start the development server using:embrion upThen open Jupyterlab UI using,embrion jupyteror Visual Studio Code using,embrion vscode## UsageTo remove everything run:embrion downTo refresh the environment run:embrion refreshTo temporarily stop run:embrion stopTo start again run:embrion startTo restart run:embrion restartTo open jupyter notebook run:embrion jupyterTo open vs code run:embrion vscodeTo open terminal run:embrion shellTo rebuild the image run:embrion buildTo show base command for docker-compose run:embrion baseTo show port mapping:embrion portTo run any docker-compose command run:embrion eval –args ‘[“..”, “..”, …]’To create an environment.yml in an empty directory run:embrion initTo create an environment.yml in an empty directory with a specific python version run:embrion init –version=3.XTo connect through ssh run:embrion ssh-portThen take the ssh port and run:sshroot@localhost-p SSH_PORT (Password is embrion)## About the scopeThe 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}## UsageTo 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 {…}