diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-11 02:38:45 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 02:38:45 +0000 |
commit | 786cd49730bd160ac8f17c6933237e2ecb0403ba (patch) | |
tree | 610349fa380c348b09956e874d34cfb0f2801645 | |
parent | a1a2b49058dae7a877298905589df845a2e3b5b9 (diff) |
automatic import of python-colab-ssh
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-colab-ssh.spec | 465 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 467 insertions, 0 deletions
@@ -0,0 +1 @@ +/colab_ssh-0.3.27.tar.gz diff --git a/python-colab-ssh.spec b/python-colab-ssh.spec new file mode 100644 index 0000000..b25135a --- /dev/null +++ b/python-colab-ssh.spec @@ -0,0 +1,465 @@ +%global _empty_manifest_terminate_build 0 +Name: python-colab-ssh +Version: 0.3.27 +Release: 1 +Summary: Google colab SSH connector +License: MIT License +URL: https://github.com/WassimBenzarti/colab-ssh-connector.git +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ae/4c/032806749be8c7cb1beb0615051e96280df9ff5dc7d1ba87ed29cea3b492/colab_ssh-0.3.27.tar.gz +BuildArch: noarch + + +%description + + +> A new version of colab-ssh is coming soon, stay tuned. + +> 🎉 Happy to announce that we now have: +> - Youtube demo video +> - Support for Gitlab repositories +> - VSCode integration with which you can open your VSCode right from the notebook. + +# Colab-ssh +Connect to Google colab via ssh easily + +[](https://pepy.tech/project/colab-ssh) +[](https://pepy.tech/project/colab-ssh) +[](https://pepy.tech/project/colab-ssh) + +## What is Colab-ssh ? +Colab-ssh is a light-weight library that allows you to connect to Google Colab Notebook using an SSH Tunnel and optionally via VSCode. + +## Quick start +You can click on the Google Colab button to clone an already setup notebook: + +[](https://colab.research.google.com/github/WassimBenzarti/colab-ssh/blob/master/docs/Colab_ssh_Initial_project.ipynb) + +> :warning: Colab-ssh supports Google colaboratory notebooks only, using it on other notebooks may lead to unexpected behavior. + +## Getting started + +Now you can watch a demo video on how to setup Colab-ssh with cloudflared on Youtube. Click the video below to open it. + +[](http://www.youtube.com/watch?v=Q78_MMaNe_U "Colab-ssh: open Google Colab with VSCode and SSH") + +1. Open Google Colab and run this code in one of the code cells +```jupyter +# Install colab_ssh on google colab +!pip install colab_ssh --upgrade + +from colab_ssh import launch_ssh_cloudflared, init_git_cloudflared +launch_ssh_cloudflared(password="<PUT_YOUR_PASSWORD_HERE>") + +# Optional: if you want to clone a Github or Gitlab repository +repository_url="<PUT_YOUR_REPOSITORY_URL_HERE>" +init_git_cloudflared(repository_url) +``` +> Make sure you replace `<PUT_YOUR_PASSWORD_HERE>` with a password of your choice and `<PUT_YOUR_REPOSITORY_URL_HERE>` with the link to your Github/Gitlab repository (if you use the git integration). + +The output of this snippet will look similar to the following screenshot: + + +> :warning: If it's the first time you launch colab-ssh on your machine, it's important to follow the instructions in the **"Client machine configuration" section**. To show the steps that you need to do, **just click "Client machine configuration"**. Don't worry, you don't have to repeat these steps again for each notebook. + +> :grey_question: Things doesn't work ? or looking for a way to connect using Ngrok ? Check the [colab-ssh ngrok documentation](docs/ngrok/ngrok.md) + + +### Cloning a repository (Optional) +If you are a Github/Gitlab fan, you probably want to clone a repository (private or public) repeatedly to the Google Colab Notebook. +This is why `init_git` is created. + +<details><summary> <b> What `init_git` does</b></summary> + +- Clones the repository +- Uses your personal token (if you provided it) to setup the repository remote URL (this is useful so you don't have to worry about authentication during `git clone` or `git push`). If you clone a private repository without a personal token, you will be asked to put your password (This is only valid for Gitlab, as opposed to Github that recently disabled password authentication). +- Checkout the branch of your preference +- Sets up the `user.email` and `user.name` for you, in case you need to commit. +- Also, it inserts the cloned folder to the `sys.path`. This is helpful when your cloned repository is a python project and you want to import some python modules directly (without specifying the name of the root folder) to your Google Colab Notebook. Example: If you cloned a repository called `example-repo`. A folder should be created containing your cloned repository. If `example-repo` has a python module called `my_module`, instead of writing in your notebook `import example-repo.my_module`, you can simply do `import my_module`. +</details> + + +#### Example: +```python +init_git_cloudflared("https://github.com/<OWNER>/<REPO_NAME>.git", + personal_token="<YOUR_GITHUB_PERSONAL_TOKEN>", + branch="<YOUR_BRANCH>", + email="<YOUR_EMAIL>", + username="<YOUR_USERNAME>") +``` +The output of this command will look like this: + + + +This will display a button inside the cell output (or a url in case of a terminal). This is a direct link to open VSCode installed on your machine. +> Link doesn't appear or doesn't work? +> - Make sure you have VSCode installed locally for the link to work +> - Make sure that you run `launch_ssh_cloudflared` before `init_git_cloudflared`. The reason for that is because `init_git_cloudflared` shows the link based on the tunnel information provided by the function `launch_ssh_cloudflared`. + +> :warning: Please note that your Gitlab personal access token requires the following scopes: `read_api, read_repository, write_repository`. + +### Avoiding passwords (Optional) +Instead of setting a password, you can access the SSH tunnel using your own pair of keys. + +> **IMPORTANT**: This feature is only available when you clone your git repository by using the function `init_git_cloudflared()` + +You need to follow these steps: +1. Create a pair of SSH key +2. Copy your **public key** (usually it's in the file `~/.ssh/id_rsa.pub`) and make sure you keep your **private key** in a safe place +3. In the root of your github repository, create a folder called `.colab_ssh` and a file within it called `authorized_keys` +4. Paste your **public key** inside the file `.collab_ssh/authorized_keys` +5. Push your changes to the repository and launch the clone again from your Google Colab Notebook + +<details><summary><b>How it works behind the scenes ?</b></summary> + +We get your **public key** from the repository passed into the `init_git()` function and then we add it to the `authorized_keys` file (found in `~/.ssh` folder). +</details> + +### Other useful documentation +- [Exposing a Google Colab environment variable](docs/expose-env-variable.md) + +## API Reference +Check the API reference on this [page](docs/api-reference.md). + +## FAQ + +<details><summary> <b> Can I open the Colab notebook automatically without user interaction ?</b> </summary> + +No, you still need to open the Google Colab Notebook interface manually in order to setup this tool. Google Colab doesn't have an API yet to automatically run a notebook for you.</details> + +<details><summary> <b> Some environment variables are available on Google Colab but not available when executing from the terminal ?</b> </summary> + +Check out the documentation for how you can [Expose a Google Colab environment variable](docs/expose-env-variable.md). +</details> + +# Sponsor this project :) +If you want to buy me a cup of coffee, feel free to reach me or use the following IBAN (International Bank Account Number): +``` +TN5904018104003696876646 +``` + +# Contribution +Start by [opening an issue](https://github.com/WassimBenzarti/colab-ssh) so can start working together to enhance the experience of Google Colab users. We would love to hear your ideas! + + + + +%package -n python3-colab-ssh +Summary: Google colab SSH connector +Provides: python-colab-ssh +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-colab-ssh + + +> A new version of colab-ssh is coming soon, stay tuned. + +> 🎉 Happy to announce that we now have: +> - Youtube demo video +> - Support for Gitlab repositories +> - VSCode integration with which you can open your VSCode right from the notebook. + +# Colab-ssh +Connect to Google colab via ssh easily + +[](https://pepy.tech/project/colab-ssh) +[](https://pepy.tech/project/colab-ssh) +[](https://pepy.tech/project/colab-ssh) + +## What is Colab-ssh ? +Colab-ssh is a light-weight library that allows you to connect to Google Colab Notebook using an SSH Tunnel and optionally via VSCode. + +## Quick start +You can click on the Google Colab button to clone an already setup notebook: + +[](https://colab.research.google.com/github/WassimBenzarti/colab-ssh/blob/master/docs/Colab_ssh_Initial_project.ipynb) + +> :warning: Colab-ssh supports Google colaboratory notebooks only, using it on other notebooks may lead to unexpected behavior. + +## Getting started + +Now you can watch a demo video on how to setup Colab-ssh with cloudflared on Youtube. Click the video below to open it. + +[](http://www.youtube.com/watch?v=Q78_MMaNe_U "Colab-ssh: open Google Colab with VSCode and SSH") + +1. Open Google Colab and run this code in one of the code cells +```jupyter +# Install colab_ssh on google colab +!pip install colab_ssh --upgrade + +from colab_ssh import launch_ssh_cloudflared, init_git_cloudflared +launch_ssh_cloudflared(password="<PUT_YOUR_PASSWORD_HERE>") + +# Optional: if you want to clone a Github or Gitlab repository +repository_url="<PUT_YOUR_REPOSITORY_URL_HERE>" +init_git_cloudflared(repository_url) +``` +> Make sure you replace `<PUT_YOUR_PASSWORD_HERE>` with a password of your choice and `<PUT_YOUR_REPOSITORY_URL_HERE>` with the link to your Github/Gitlab repository (if you use the git integration). + +The output of this snippet will look similar to the following screenshot: + + +> :warning: If it's the first time you launch colab-ssh on your machine, it's important to follow the instructions in the **"Client machine configuration" section**. To show the steps that you need to do, **just click "Client machine configuration"**. Don't worry, you don't have to repeat these steps again for each notebook. + +> :grey_question: Things doesn't work ? or looking for a way to connect using Ngrok ? Check the [colab-ssh ngrok documentation](docs/ngrok/ngrok.md) + + +### Cloning a repository (Optional) +If you are a Github/Gitlab fan, you probably want to clone a repository (private or public) repeatedly to the Google Colab Notebook. +This is why `init_git` is created. + +<details><summary> <b> What `init_git` does</b></summary> + +- Clones the repository +- Uses your personal token (if you provided it) to setup the repository remote URL (this is useful so you don't have to worry about authentication during `git clone` or `git push`). If you clone a private repository without a personal token, you will be asked to put your password (This is only valid for Gitlab, as opposed to Github that recently disabled password authentication). +- Checkout the branch of your preference +- Sets up the `user.email` and `user.name` for you, in case you need to commit. +- Also, it inserts the cloned folder to the `sys.path`. This is helpful when your cloned repository is a python project and you want to import some python modules directly (without specifying the name of the root folder) to your Google Colab Notebook. Example: If you cloned a repository called `example-repo`. A folder should be created containing your cloned repository. If `example-repo` has a python module called `my_module`, instead of writing in your notebook `import example-repo.my_module`, you can simply do `import my_module`. +</details> + + +#### Example: +```python +init_git_cloudflared("https://github.com/<OWNER>/<REPO_NAME>.git", + personal_token="<YOUR_GITHUB_PERSONAL_TOKEN>", + branch="<YOUR_BRANCH>", + email="<YOUR_EMAIL>", + username="<YOUR_USERNAME>") +``` +The output of this command will look like this: + + + +This will display a button inside the cell output (or a url in case of a terminal). This is a direct link to open VSCode installed on your machine. +> Link doesn't appear or doesn't work? +> - Make sure you have VSCode installed locally for the link to work +> - Make sure that you run `launch_ssh_cloudflared` before `init_git_cloudflared`. The reason for that is because `init_git_cloudflared` shows the link based on the tunnel information provided by the function `launch_ssh_cloudflared`. + +> :warning: Please note that your Gitlab personal access token requires the following scopes: `read_api, read_repository, write_repository`. + +### Avoiding passwords (Optional) +Instead of setting a password, you can access the SSH tunnel using your own pair of keys. + +> **IMPORTANT**: This feature is only available when you clone your git repository by using the function `init_git_cloudflared()` + +You need to follow these steps: +1. Create a pair of SSH key +2. Copy your **public key** (usually it's in the file `~/.ssh/id_rsa.pub`) and make sure you keep your **private key** in a safe place +3. In the root of your github repository, create a folder called `.colab_ssh` and a file within it called `authorized_keys` +4. Paste your **public key** inside the file `.collab_ssh/authorized_keys` +5. Push your changes to the repository and launch the clone again from your Google Colab Notebook + +<details><summary><b>How it works behind the scenes ?</b></summary> + +We get your **public key** from the repository passed into the `init_git()` function and then we add it to the `authorized_keys` file (found in `~/.ssh` folder). +</details> + +### Other useful documentation +- [Exposing a Google Colab environment variable](docs/expose-env-variable.md) + +## API Reference +Check the API reference on this [page](docs/api-reference.md). + +## FAQ + +<details><summary> <b> Can I open the Colab notebook automatically without user interaction ?</b> </summary> + +No, you still need to open the Google Colab Notebook interface manually in order to setup this tool. Google Colab doesn't have an API yet to automatically run a notebook for you.</details> + +<details><summary> <b> Some environment variables are available on Google Colab but not available when executing from the terminal ?</b> </summary> + +Check out the documentation for how you can [Expose a Google Colab environment variable](docs/expose-env-variable.md). +</details> + +# Sponsor this project :) +If you want to buy me a cup of coffee, feel free to reach me or use the following IBAN (International Bank Account Number): +``` +TN5904018104003696876646 +``` + +# Contribution +Start by [opening an issue](https://github.com/WassimBenzarti/colab-ssh) so can start working together to enhance the experience of Google Colab users. We would love to hear your ideas! + + + + +%package help +Summary: Development documents and examples for colab-ssh +Provides: python3-colab-ssh-doc +%description help + + +> A new version of colab-ssh is coming soon, stay tuned. + +> 🎉 Happy to announce that we now have: +> - Youtube demo video +> - Support for Gitlab repositories +> - VSCode integration with which you can open your VSCode right from the notebook. + +# Colab-ssh +Connect to Google colab via ssh easily + +[](https://pepy.tech/project/colab-ssh) +[](https://pepy.tech/project/colab-ssh) +[](https://pepy.tech/project/colab-ssh) + +## What is Colab-ssh ? +Colab-ssh is a light-weight library that allows you to connect to Google Colab Notebook using an SSH Tunnel and optionally via VSCode. + +## Quick start +You can click on the Google Colab button to clone an already setup notebook: + +[](https://colab.research.google.com/github/WassimBenzarti/colab-ssh/blob/master/docs/Colab_ssh_Initial_project.ipynb) + +> :warning: Colab-ssh supports Google colaboratory notebooks only, using it on other notebooks may lead to unexpected behavior. + +## Getting started + +Now you can watch a demo video on how to setup Colab-ssh with cloudflared on Youtube. Click the video below to open it. + +[](http://www.youtube.com/watch?v=Q78_MMaNe_U "Colab-ssh: open Google Colab with VSCode and SSH") + +1. Open Google Colab and run this code in one of the code cells +```jupyter +# Install colab_ssh on google colab +!pip install colab_ssh --upgrade + +from colab_ssh import launch_ssh_cloudflared, init_git_cloudflared +launch_ssh_cloudflared(password="<PUT_YOUR_PASSWORD_HERE>") + +# Optional: if you want to clone a Github or Gitlab repository +repository_url="<PUT_YOUR_REPOSITORY_URL_HERE>" +init_git_cloudflared(repository_url) +``` +> Make sure you replace `<PUT_YOUR_PASSWORD_HERE>` with a password of your choice and `<PUT_YOUR_REPOSITORY_URL_HERE>` with the link to your Github/Gitlab repository (if you use the git integration). + +The output of this snippet will look similar to the following screenshot: + + +> :warning: If it's the first time you launch colab-ssh on your machine, it's important to follow the instructions in the **"Client machine configuration" section**. To show the steps that you need to do, **just click "Client machine configuration"**. Don't worry, you don't have to repeat these steps again for each notebook. + +> :grey_question: Things doesn't work ? or looking for a way to connect using Ngrok ? Check the [colab-ssh ngrok documentation](docs/ngrok/ngrok.md) + + +### Cloning a repository (Optional) +If you are a Github/Gitlab fan, you probably want to clone a repository (private or public) repeatedly to the Google Colab Notebook. +This is why `init_git` is created. + +<details><summary> <b> What `init_git` does</b></summary> + +- Clones the repository +- Uses your personal token (if you provided it) to setup the repository remote URL (this is useful so you don't have to worry about authentication during `git clone` or `git push`). If you clone a private repository without a personal token, you will be asked to put your password (This is only valid for Gitlab, as opposed to Github that recently disabled password authentication). +- Checkout the branch of your preference +- Sets up the `user.email` and `user.name` for you, in case you need to commit. +- Also, it inserts the cloned folder to the `sys.path`. This is helpful when your cloned repository is a python project and you want to import some python modules directly (without specifying the name of the root folder) to your Google Colab Notebook. Example: If you cloned a repository called `example-repo`. A folder should be created containing your cloned repository. If `example-repo` has a python module called `my_module`, instead of writing in your notebook `import example-repo.my_module`, you can simply do `import my_module`. +</details> + + +#### Example: +```python +init_git_cloudflared("https://github.com/<OWNER>/<REPO_NAME>.git", + personal_token="<YOUR_GITHUB_PERSONAL_TOKEN>", + branch="<YOUR_BRANCH>", + email="<YOUR_EMAIL>", + username="<YOUR_USERNAME>") +``` +The output of this command will look like this: + + + +This will display a button inside the cell output (or a url in case of a terminal). This is a direct link to open VSCode installed on your machine. +> Link doesn't appear or doesn't work? +> - Make sure you have VSCode installed locally for the link to work +> - Make sure that you run `launch_ssh_cloudflared` before `init_git_cloudflared`. The reason for that is because `init_git_cloudflared` shows the link based on the tunnel information provided by the function `launch_ssh_cloudflared`. + +> :warning: Please note that your Gitlab personal access token requires the following scopes: `read_api, read_repository, write_repository`. + +### Avoiding passwords (Optional) +Instead of setting a password, you can access the SSH tunnel using your own pair of keys. + +> **IMPORTANT**: This feature is only available when you clone your git repository by using the function `init_git_cloudflared()` + +You need to follow these steps: +1. Create a pair of SSH key +2. Copy your **public key** (usually it's in the file `~/.ssh/id_rsa.pub`) and make sure you keep your **private key** in a safe place +3. In the root of your github repository, create a folder called `.colab_ssh` and a file within it called `authorized_keys` +4. Paste your **public key** inside the file `.collab_ssh/authorized_keys` +5. Push your changes to the repository and launch the clone again from your Google Colab Notebook + +<details><summary><b>How it works behind the scenes ?</b></summary> + +We get your **public key** from the repository passed into the `init_git()` function and then we add it to the `authorized_keys` file (found in `~/.ssh` folder). +</details> + +### Other useful documentation +- [Exposing a Google Colab environment variable](docs/expose-env-variable.md) + +## API Reference +Check the API reference on this [page](docs/api-reference.md). + +## FAQ + +<details><summary> <b> Can I open the Colab notebook automatically without user interaction ?</b> </summary> + +No, you still need to open the Google Colab Notebook interface manually in order to setup this tool. Google Colab doesn't have an API yet to automatically run a notebook for you.</details> + +<details><summary> <b> Some environment variables are available on Google Colab but not available when executing from the terminal ?</b> </summary> + +Check out the documentation for how you can [Expose a Google Colab environment variable](docs/expose-env-variable.md). +</details> + +# Sponsor this project :) +If you want to buy me a cup of coffee, feel free to reach me or use the following IBAN (International Bank Account Number): +``` +TN5904018104003696876646 +``` + +# Contribution +Start by [opening an issue](https://github.com/WassimBenzarti/colab-ssh) so can start working together to enhance the experience of Google Colab users. We would love to hear your ideas! + + + + +%prep +%autosetup -n colab-ssh-0.3.27 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-colab-ssh -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.27-1 +- Package Spec generated @@ -0,0 +1 @@ +f04faabe0fe786fb69ec03e0705bf340 colab_ssh-0.3.27.tar.gz |