FastPWA


NameFastPWA JSON
Version 0.2.1b0 PyPI version JSON
download
home_pageNone
SummaryMake your FastAPI app installable on mobile devices.
upload_time2025-10-07 13:34:53
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseMIT
keywords pwa progressive web app windows android iphone apple ios safari
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # πŸš€ FastPWA
FastPWA is a minimal FastAPI extension that makes your app installable as a Progressive Web App (PWA). It handles manifest generation, service worker registration, and automatic asset injectionβ€”giving you a native-like install prompt with almost no setup.

## 🌟 What It Does
- 🧾 Generates a compliant webmanifest from your app metadata
- βš™οΈ Registers a basic service worker for installability
- πŸ–ΌοΈ Discovers and injects favicon and static assets (index.css, index.js, etc.)
- 🧩 Mounts static folders and serves your HTML entrypoint

## πŸ“¦ Installation
```commandline
pip install fastpwa
```

## πŸ§ͺ Quickstart
```python
from fastpwa import PWA

app = PWA(title="My App", summary="Installable FastAPI app", prefix="app")
app.static_mount("static")  # Mounts static assets and discovers favicon

app.register_pwa(html="static/index.html")  # Registers manifest, SW, and index route
```

## πŸ“ Static Folder Layout
FastPWA auto-discovers and injects these assets if present:
```
static/
β”œβ”€β”€ index.html
β”œβ”€β”€ index.css
β”œβ”€β”€ index.js
β”œβ”€β”€ global.css
β”œβ”€β”€ global.js
└── favicon.png
```

## 🧬 Manifest Customization
You can override manifest fields via `register_pwa()`:
```python
app.register_pwa(
    html="static/index.html",
    app_name="MyApp",
    app_description="A simple installable app",
    color="#3367D6",
    background_color="#FFFFFF"
)
```

## πŸ“œ License
MIT

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "FastPWA",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "pwa, progressive, web, app, windows, android, iphone, apple, ios, safari",
    "author": null,
    "author_email": "Cody M Sommer <bassmastacod@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/44/58/678f5cf80710200d2d9723401207c87c73d9917ed2c390668c053f2eeae7/fastpwa-0.2.1b0.tar.gz",
    "platform": null,
    "description": "# \ud83d\ude80 FastPWA\nFastPWA is a minimal FastAPI extension that makes your app installable as a Progressive Web App (PWA). It handles manifest generation, service worker registration, and automatic asset injection\u2014giving you a native-like install prompt with almost no setup.\n\n## \ud83c\udf1f What It Does\n- \ud83e\uddfe Generates a compliant webmanifest from your app metadata\n- \u2699\ufe0f Registers a basic service worker for installability\n- \ud83d\uddbc\ufe0f Discovers and injects favicon and static assets (index.css, index.js, etc.)\n- \ud83e\udde9 Mounts static folders and serves your HTML entrypoint\n\n## \ud83d\udce6 Installation\n```commandline\npip install fastpwa\n```\n\n## \ud83e\uddea Quickstart\n```python\nfrom fastpwa import PWA\n\napp = PWA(title=\"My App\", summary=\"Installable FastAPI app\", prefix=\"app\")\napp.static_mount(\"static\")  # Mounts static assets and discovers favicon\n\napp.register_pwa(html=\"static/index.html\")  # Registers manifest, SW, and index route\n```\n\n## \ud83d\udcc1 Static Folder Layout\nFastPWA auto-discovers and injects these assets if present:\n```\nstatic/\n\u251c\u2500\u2500 index.html\n\u251c\u2500\u2500 index.css\n\u251c\u2500\u2500 index.js\n\u251c\u2500\u2500 global.css\n\u251c\u2500\u2500 global.js\n\u2514\u2500\u2500 favicon.png\n```\n\n## \ud83e\uddec Manifest Customization\nYou can override manifest fields via `register_pwa()`:\n```python\napp.register_pwa(\n    html=\"static/index.html\",\n    app_name=\"MyApp\",\n    app_description=\"A simple installable app\",\n    color=\"#3367D6\",\n    background_color=\"#FFFFFF\"\n)\n```\n\n## \ud83d\udcdc License\nMIT\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Make your FastAPI app installable on mobile devices.",
    "version": "0.2.1b0",
    "project_urls": {
        "Issues": "https://github.com/BassMastaCod/FastPWA/issues",
        "Repository": "https://github.com/BassMastaCod/FastPWA.git"
    },
    "split_keywords": [
        "pwa",
        " progressive",
        " web",
        " app",
        " windows",
        " android",
        " iphone",
        " apple",
        " ios",
        " safari"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f6f170d5ce415ef176cf8cde71167a47739b9fa20ffc362d0406ffe35a7bec1b",
                "md5": "705e3b5feadd627fbf50c5eb29e87523",
                "sha256": "6c4bd248879a055a667ebff14d8ce04eec93c9ff1308bb44a085fd61bd997a36"
            },
            "downloads": -1,
            "filename": "fastpwa-0.2.1b0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "705e3b5feadd627fbf50c5eb29e87523",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 5098,
            "upload_time": "2025-10-07T13:34:52",
            "upload_time_iso_8601": "2025-10-07T13:34:52.502990Z",
            "url": "https://files.pythonhosted.org/packages/f6/f1/70d5ce415ef176cf8cde71167a47739b9fa20ffc362d0406ffe35a7bec1b/fastpwa-0.2.1b0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4458678f5cf80710200d2d9723401207c87c73d9917ed2c390668c053f2eeae7",
                "md5": "a08586357fb96dae74e5ccd324cdcc1a",
                "sha256": "daba457250a1666e4b72c765add9fde3712bca0f5088a5475c01dcf915901118"
            },
            "downloads": -1,
            "filename": "fastpwa-0.2.1b0.tar.gz",
            "has_sig": false,
            "md5_digest": "a08586357fb96dae74e5ccd324cdcc1a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 4656,
            "upload_time": "2025-10-07T13:34:53",
            "upload_time_iso_8601": "2025-10-07T13:34:53.508157Z",
            "url": "https://files.pythonhosted.org/packages/44/58/678f5cf80710200d2d9723401207c87c73d9917ed2c390668c053f2eeae7/fastpwa-0.2.1b0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-07 13:34:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "BassMastaCod",
    "github_project": "FastPWA",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "fastpwa"
}
        
Elapsed time: 1.36177s