Skip to main content

A package for converting streamlit apps to stlite apps to remove the need for hosting

Project description

stlitepack

stlitepack is a Python utility that helps you turn your existing Streamlit apps into stlite apps — lightweight, browser-only Streamlit apps that run entirely in the client without a server.

With stlitepack, you can:

  • 📦 Pack your Streamlit app into a stlite-ready format (current functionality).
  • 🚀 (Upcoming) Generate GitHub Actions workflows to auto-deploy your app to GitHub Pages.
  • 🗂️ (Planned) Add support for multi-page apps, external resources, and more.

📦 Installation

pip install stlitepack

🚀 Usage

from stlitepack import pack

# Pack your Streamlit app (e.g., "app.py") into a stlite bundle
pack("app.py", output_dir="docs")

This will create a docs/ folder containing your stlite-ready app files, which you can serve as static files.

🔮 Roadmap

  • ✅ v0.1: Single-page app packing
  • ✅ v0.2: Helper functions for GitHub Pages auto-deploy (via GitHub Actions workflow generation)
  • ✅ v0.3: Multi-page app support (for pages/ subfolder method)
  • v0.4: Better support for resource bundling (images, CSVs, assets, etc.) of local or web-based files
  • v0.5: Better multi-page app support (for st.navigation() method)
  • v0.6: Auto-handling of stlite-specific features (e.g. asyncio vs sleep)
  • v0.7: Add support for generating the required package.json for desktop app bundling
  • v0.8: Add helpers for generating files for additional deployment options e.g. Docker, Caddy, Nginx, Apache
  • v0.9: TOML or YAML file support as optional alternative to the packing function
  • v1.0: Full toolkit for packaging, deploying, and managing stlite apps

🤝 Contributing

Contributions, feature requests, and feedback are welcome! Open an issue or submit a pull request to help improve stlitepack.

📜 License

Apache 2.0 License. See LICENSE for details.

Acknowledgements

Generative AI Use Disclosure

This package was developed with the assistance of ChatGPT (OpenAI’s GPT-5 model) as a coding and documentation partner. All code and design decisions were reviewed and finalized by a human, and ChatGPT’s output was used as a foundation rather than a final product.

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

stlitepack-0.3.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stlitepack-0.3.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file stlitepack-0.3.0.tar.gz.

File metadata

  • Download URL: stlitepack-0.3.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for stlitepack-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6581e0d7c68596beb3f753cdfd556d94d528abb61d7870ea16f8922a528bd359
MD5 ea0dac732523207af3d727ca43099bc8
BLAKE2b-256 c4c62e83904dd3c7b7e1957db7cbbc5862ae9d691db1291a062bde22578b3421

See more details on using hashes here.

File details

Details for the file stlitepack-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: stlitepack-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for stlitepack-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b4a2c972a31bcf53665c8cbe78f41e1a8c078ba8049355315e0cdfcab888159
MD5 786aad9314be38216413d1c74b93b7eb
BLAKE2b-256 2c322cf22f233699ac0d14e63ecefb9d59df6b32a42b703f4c717c6b565625ba

See more details on using hashes here.

Supported by

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