From ec9874cb051c596e6e8a08ba302206a19a10bf60 Mon Sep 17 00:00:00 2001 From: Shangeth Date: Wed, 9 Sep 2020 18:31:15 +0530 Subject: [PATCH 1/5] Update code.py --- colabcode/code.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/colabcode/code.py b/colabcode/code.py index fe93bfa..087cb55 100644 --- a/colabcode/code.py +++ b/colabcode/code.py @@ -1,15 +1,19 @@ import os import subprocess from pyngrok import ngrok - +import subprocess +import sys class ColabCode: - def __init__(self, port=10000, password=None): + def __init__(self, port=10000, password=None, packages=None): self.port = port self.password = password self._install_code() self._start_server() self._run_code() + if self.packages: + self._install_libraries() + def _install_code(self): subprocess.run( @@ -40,3 +44,8 @@ def _run_code(self): ) as proc: for line in proc.stdout: print(line, end="") + + def _install_libraries(self): + for package in self.packages: + subprocess.check_call([sys.executable, "-m", "pip", "install", package]) + From 933570c413c68977ba9898755d62c24dab4f5266 Mon Sep 17 00:00:00 2001 From: Shangeth Date: Wed, 9 Sep 2020 18:54:15 +0530 Subject: [PATCH 2/5] Update code.py --- colabcode/code.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/colabcode/code.py b/colabcode/code.py index 087cb55..9bc3ea5 100644 --- a/colabcode/code.py +++ b/colabcode/code.py @@ -10,11 +10,11 @@ def __init__(self, port=10000, password=None, packages=None): self.password = password self._install_code() self._start_server() - self._run_code() + self.packages = packages if self.packages: - self._install_libraries() - - + self._install_packages() + self._run_code() + def _install_code(self): subprocess.run( ["wget", "https://code-server.dev/install.sh"], stdout=subprocess.PIPE @@ -45,7 +45,8 @@ def _run_code(self): for line in proc.stdout: print(line, end="") - def _install_libraries(self): + def _install_packages(self): for package in self.packages: + print(f'Installing {package}...') subprocess.check_call([sys.executable, "-m", "pip", "install", package]) From be426461ad26a74b8aaa86427b9480d7406d3d24 Mon Sep 17 00:00:00 2001 From: Shangeth Date: Wed, 9 Sep 2020 18:55:37 +0530 Subject: [PATCH 3/5] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 127ca5e..ecbe7cf 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,6 @@ Run code server on Google Colab or Kaggle Notebooks - import colabcode: `from colabcode import ColabCode` - run: `ColabCode(port=10000, password="abhishek")` - you can also run it with any password or port :) +- install necessary libraries with `ColabCode(port=10000, packages=['torchaudio', 'pytorch_lightning'])` + +``` From ee0250fabafb0311917fc1b89e13ae036a402726 Mon Sep 17 00:00:00 2001 From: Shangeth Date: Wed, 9 Sep 2020 18:55:47 +0530 Subject: [PATCH 4/5] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index ecbe7cf..d5eb673 100644 --- a/README.md +++ b/README.md @@ -7,5 +7,3 @@ Run code server on Google Colab or Kaggle Notebooks - run: `ColabCode(port=10000, password="abhishek")` - you can also run it with any password or port :) - install necessary libraries with `ColabCode(port=10000, packages=['torchaudio', 'pytorch_lightning'])` - -``` From 92648a3f3af035be6d4224cfeb7bf696605a0345 Mon Sep 17 00:00:00 2001 From: Shangeth Date: Wed, 9 Sep 2020 19:31:54 +0530 Subject: [PATCH 5/5] added logging; removed extra subprocess import --- colabcode/code.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/colabcode/code.py b/colabcode/code.py index 9bc3ea5..23ce7fd 100644 --- a/colabcode/code.py +++ b/colabcode/code.py @@ -1,8 +1,9 @@ import os import subprocess from pyngrok import ngrok -import subprocess import sys +import logging +logging.basicConfig(filename='colabcode.log',level=logging.INFO) class ColabCode: def __init__(self, port=10000, password=None, packages=None): @@ -15,6 +16,7 @@ def __init__(self, port=10000, password=None, packages=None): self._install_packages() self._run_code() + def _install_code(self): subprocess.run( ["wget", "https://code-server.dev/install.sh"], stdout=subprocess.PIPE @@ -47,6 +49,5 @@ def _run_code(self): def _install_packages(self): for package in self.packages: - print(f'Installing {package}...') + logging.info(f'Installing {package}...') subprocess.check_call([sys.executable, "-m", "pip", "install", package]) -