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.0.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.0-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flet_assets-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 58dc9fee695d5f10683dc8bf272957206452d77ce78cc639154d5108edf0b5d3
MD5 31c5bf8b8ce5c2afa5b5cbc48207b90c
BLAKE2b-256 b95d92d7d56956671260379364d240c6d2c17ecfb7bf06c58b6b718274fb7b32

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flet_assets-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 27fd2e11099d2b2086d72299d6eba02383963e2a670e895bb8a6d30115fe277f
MD5 e54a57fb85bc817403a08234a98ec068
BLAKE2b-256 1ffc875145eec57254f90c2ca39157ada911d72baf9392d16878eeac2e6bd5bf

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