Skip to main content

Generate a webpage as a GUI for a Python script, and serve from anywhere.

Project description

Sticker of a cute yellow Python snake, representing the use of the Python programming language in this project. Python Web I/O

Generate a webpage as a GUI for a Python script, and serve from anywhere.

Documentation

Check out the wiki.

Quickstart

Install python-web-io locally using:

pip install python-web-io

Or via poetry using:

poetry add python_web_io

If evaluating / testing python-web-io, install dependencies for the example apps using:

poetry add python_web_io --with examples

After installing the project, some environment setup is required:

Required setup

Create an app.py file containing your script, a config.toml setting the script filepath and entrypoint, and an .envrc file to store project secrets. (Note: remember to add .envrc to your .gitignore). Look for example apps in ./python_web_io/examples.

.
├── .envrc
├── config.toml
└── app.py

Create the following simple config.toml:

[script]
filepath = "app.py"
entrypoint = "main"	# if your app has no entrypoint, remove this parameter.

Add the following environment variables to your .envrc. (Note: remember to activate the .envrc in your terminal using direnv allow)

# server env vars
export PYTHON_WEB_IO_SECRET=""
export PYTHON_WEB_IO_CONFIG=".pythonwebio/config.toml" 	# defaults to .pythonwebio/config.toml if not set

Generate a random key for PYTHON_WEB_IO_SECRET using this python command line snippet:

python -c 'import secrets; print(secrets.token_hex())'

If testing wikipedia_assistant.py, an OpenAI API key will also need to be set.

export OPENAI_API_KEY=""

Running the webapp

We recommend running python_web_io using uvicorn:

poetry run uvicorn python_web_io.main:app

License

MIT

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

python_web_io-0.2.1.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

python_web_io-0.2.1-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file python_web_io-0.2.1.tar.gz.

File metadata

  • Download URL: python_web_io-0.2.1.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.2 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for python_web_io-0.2.1.tar.gz
Algorithm Hash digest
SHA256 29921ba2cec26aac3bd8eb246f69d6f459c2fc662ec5bf78c1991cdcc95de475
MD5 0894c29c4ea317146778c724226e30ef
BLAKE2b-256 5f24c180ac32c0d4629f8f3e8c56831aaa8cf26ac56920380e1080ca0abe434e

See more details on using hashes here.

File details

Details for the file python_web_io-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: python_web_io-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.2 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for python_web_io-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3c3c84d544aeb28193418a30a49d8f8c1a2d28c9df853cde71ae00eebd3dbd6b
MD5 82cfaef3fbc7af27b80169f2d1c60f0f
BLAKE2b-256 5eb62be4af660b25ef2e15c9e084772ca872ff67b07e7a4e79b8e0f0c16fa1ff

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