Metadata-Version: 1.0
Name: embrion
Version: 0.2.0
Summary: UNKNOWN
Home-page: https://gitlab.com/izel93/embrion
Author: Izel Levy
Author-email: izel93@gmail.com
License: MIT
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 {...}
        
Keywords: development,environment,docker
Platform: UNKNOWN
