Skip to main content

A lightweight static file server for Flet apps, designed to simplify mobile debugging by serving assets over a local network.

Project description

# **StaticServer Documentation** 🚀

The `StaticServer` class is designed to simplify debugging for mobile devices (iOS/Android) in Flet apps. It serves static files (like images, icons, or text files) from your computer, making them accessible to mobile devices during development. 📱💻

---

## **Why Use StaticServer?** 🤔
When developing for mobile:
- Direct file paths from your computer won’t work on devices. 🚫
- StaticServer hosts your files locally, providing a URL (`server.assets`) that devices can access. 🌐
- Perfect for debugging and testing assets on real devices. 🛠️

---

## **How to Use It** 🛠️

### **1. Installation**
pip install flet-staticserver
from flet_staticserver import StaticServer

2. Basic Setup

Start the server and use it in your Flet app:

import flet as ft
from serve_files import StaticServer

# Initialize the server 🎬
server = StaticServer()

def main(page: ft.Page):
    # Access files using server.assets 🖼️
    page.add(
        ft.Image(src=f"{server.assets}/icon.png"),
        ft.Text(f"Access files at: {server.assets}")
    )

# Run your Flet app 🚀
ft.app(main)

3. Customization Options ⚙️

Customize the server to fit your needs:

  • Change the folder: Serve files from a specific directory.
  • Change the port: Use a different port if needed.
server = StaticServer(
    directory="path/to/your/assets",  # 🗂️ Custom folder
    port=2222                        # 🚪 Custom port
)

4. Accessing Files 📂

Once the server is running, access your files like this:

  • File in root: {server.assets}/file.txt
  • File in subfolder: {server.assets}/images/photo.jpg

Example:

ft.Image(src=f"{server.assets}/images/icon.png")

How It Works 🧙‍♂️

  • The server runs in the background using FastAPI and UVicorn. ⚡
  • It automatically detects your machine's IPv4 address, so devices on the same network can access the files. 🌐
  • Files are served dynamically, making debugging seamless. 🛠️

Example Use Case 🖼️

Display an image from your assets folder on a mobile device:

import flet as ft
from serve_files import StaticServer

# Start the server 🎬
server = StaticServer()

def main(page: ft.Page):
    # Display an image from the server 🖼️
    page.add(
        ft.Image(src=f"{server.assets}/icon.png"),
        ft.Text("Your image is live!")
    )

# Run the app 🚀
ft.app(main)

Why It’s Useful ❤️

  • Solves the problem of inaccessible local files on mobile devices. 📱
  • Simplifies debugging and testing during development. 🛠️
  • Works seamlessly with Flet apps. 🎯

Final Notes 📝

  • The server stops automatically when your app closes.
  • Use server.assets to get the base URL for your files.
  • Happy debugging! 😄👨‍💻👩‍💻

Enjoy building and debugging your Flet apps! 🎉

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

flet_assets-0.1.1.tar.gz (7.0 MB view details)

Uploaded Source

Built Distribution

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

flet_assets-0.1.1-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file flet_assets-0.1.1.tar.gz.

File metadata

  • Download URL: flet_assets-0.1.1.tar.gz
  • Upload date:
  • Size: 7.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for flet_assets-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f84ef80ca77ef6bbaafb075d19189eff678862df959299042b81cc7d388229ad
MD5 f5672f7620c85f1556af324976d9581b
BLAKE2b-256 26271bf7e0ad505c6c5b42e8351f7f1931656544fda29259a091a685b85dbb13

See more details on using hashes here.

File details

Details for the file flet_assets-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: flet_assets-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for flet_assets-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dd18bca63551ec9a0658b75ba8ea6d9e6b753bc2edc2307dfead32f1b5081ba8
MD5 7094dad0c6b0af995cc8598e41881383
BLAKE2b-256 d21dbf4d94aa5eb05c04de2abb567c6f44a628e2be380b4d67a801a959f07d9a

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