Generate a webpage as a GUI for a Python script, and serve from anywhere.
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for python_web_io-0.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e3a2be46096aac9e011d137d57e64fdd96d353e579dcb40593bd2bcaf379646 |
|
MD5 | ec134df170eceae59b49698c03609c3d |
|
BLAKE2b-256 | c43a464d31c20849953cdae9f4b39d0ff2486ebdbf3ab315334f9f0937e00cd1 |