Skip to main content

Python library to run streamlit, flask, fastapi, etc on google colab.

Project description

colab_everything

Install

pip install colab_everything

Introduction

We cannot access the localhost on Google Colab, as we do on our local machine because Google Colab provides a VM(virtual machine). Hence, we will have to expose it to a public URL to access it. We can use ngrok. Ngrok exposes local servers behind NATs and firewalls to the public internet over secure tunnels.

This library hides away all the complexity and provides you simple interface to run your webapps on colab. The library can be used in the following scenario:

To test your web app before deploying it into production. To share the app with peers, friends, and clients; so that they can use/test your app and provide feedbacks.

How to use

Note: The library is only responsible for port tunneling. So, you will have setup everything required to run your web app. For example; installing all the dependecies, setting up all the environment varibles, etc.

Streamlit

from colab_everything import ColabStreamlit
ColabStreamlit('app.py') # streamlit app path

Flask

from colab_everything import ColabFlask
ColabFlask('app.py') # Flask app path

FastAPI

Note: FastAPI uses uvicorn, so the syntax is a bit different. You will have to pass only the file name (without extention). For example, pass main if your app is main.py.

from colab_everything import ColabFastapi
ColabFastapi('app') # FastAPI app file name

Any other Custom app or command

You can use ColabCustom to easily run an other app or command.

To be very honest, you will never have to use http.server because colab already provides a file explorer. The example below is just for demonstration purposes.

Note: The default port is 9999. If you are using any other port then you will have specify it twice; in the command and also in the argument.

## Using default port
from colab_everything import ColabCustom
cmd = 'python -m http.server 9999'
ColabCustom(cmd)
## Using non-default port
from colab_everything import ColabCustom
cmd = 'python -m http.server 10000'
ColabCustom(cmd, port=10000)

I am actively looking for feedbacks and contributions. Feel free to contact me at as.ankursingh3.1@gmail.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

colab_everything-0.0.13.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

colab_everything-0.0.13-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file colab_everything-0.0.13.tar.gz.

File metadata

  • Download URL: colab_everything-0.0.13.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for colab_everything-0.0.13.tar.gz
Algorithm Hash digest
SHA256 56203e7cb18d16609f1a08c546f3c7a2384e1b15b72a596518fc195ff673a899
MD5 6ca446a0617ae006b3af72cca623b4ec
BLAKE2b-256 06583051879792bd2f856978e5cb88dc51b8f9f92586a5cab2c75e2485a13afc

See more details on using hashes here.

File details

Details for the file colab_everything-0.0.13-py3-none-any.whl.

File metadata

File hashes

Hashes for colab_everything-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 bb6de60938ee14947886816f098c602b97e93699e5ebe06d8ed884087d443aac
MD5 db3e64b3e25102aee671ccc30ff4703c
BLAKE2b-256 2ec2288c4eeb3748cc1bcab2d3f4b83a7d521cfd38710faa2611d0ee6c4818a8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page