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 /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.3.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

python_web_io-0.2.3-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: python_web_io-0.2.3.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.3.tar.gz
Algorithm Hash digest
SHA256 927a591220c7d9af6a1c4af49f8412b53c8231102de5c2ba5c53abbd8f59ada1
MD5 5838e97c3d1adbd679f7296aea0377ff
BLAKE2b-256 f877a75b29c8d50a207afa09bf803395d3caad306f2222ccc03021ac9e3be4c6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: python_web_io-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 12.4 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5e3a2be46096aac9e011d137d57e64fdd96d353e579dcb40593bd2bcaf379646
MD5 ec134df170eceae59b49698c03609c3d
BLAKE2b-256 c43a464d31c20849953cdae9f4b39d0ff2486ebdbf3ab315334f9f0937e00cd1

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