This release is a pre-release and may not be stable for production use.
Flet platform assets
Turns one source image into every app icon and splash screen a platform expects —
iOS and macOS asset catalogs, Android mipmaps and adaptive layers, a multi-size
Windows .ico, the Linux hicolor tree, and web favicons, maskable icons and
splash images.
Try Flet online in Flet Studio
Start your next Flet app in the browser, then use this package locally to prepare its icons and splash screens. Write your own Python code or get help from the AI agent.
Used by flet build, and importable on its own. Pillow handles raster images and
resvg_py renders SVG; neither requires a separately installed conversion tool.
Nothing here imports flet or flet-cli.
Rendering is separate from writing
render_*() is pure: it takes images and returns images, never touching the
filesystem and never printing. That makes it usable behind a UI that previews
icons before anything is built.
from flet_platform_assets import IconOptions, load_source, render_icons, write
source, _ = load_source("assets/icon.svg")
result = render_icons(source, IconOptions())
for asset in result.assets: # preview
print(asset.relative_path, asset.image.size, asset.image.mode)
for warning in result.warnings: # diagnostics are data, not log output
print(warning)
write(result, "build/flutter") # the only step that touches disk
SVG sources are rendered in memory to fit within 2048 × 2048 pixels, keeping
their aspect ratio and transparency. A square viewBox, such as 0 0 24 24,
works at every output size; no intermediate PNG is written to your assets.
Use self-contained SVGs with vector paths and embedded images. Convert text to
paths to keep the result independent of fonts installed on the build host.
load_source(path, svg_size=1024) uses a smaller SVG render canvas. flet build
uses this for splashes, matching the on-screen size of a 1024px PNG source.
DEFAULT_ICON is the path to the bundled Flet logo SVG. flet build renders
icons and the splash from it, with derived=True, for an app that supplies no
icon, so a preview made from it matches what the build produces.
What it will not do
It never re-frames your artwork. The padding inside your icon is a design
decision, so only transforms the platform actually requires are applied —
flattening where alpha is rejected, the macOS icon grid, multi-size .ico,
opaque maskable icons.
The one exception is the Android 12 splash icon, whose canvas is a platform frame with a guaranteed-cropped outer third; there the artwork is fitted to the visible circle rather than silently clipped.
Metadata
Release files for flet-platform-assets 1.1.0.dev0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flet_platform_assets-1.1.0.dev0.tar.gz | 39.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flet_platform_assets-1.1.0.dev0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 67.3 kB
Release files / flet_platform_assets-1.1.0.dev0.tar.gz
| Download URL | flet_platform_assets-1.1.0.dev0.tar.gz |
|---|---|
| Size | 39.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d425a56d1195693c84b07c5ef5fa48b680df4cc43ea42f02090292abb26ff246
|
|
BLAKE2b-256 checksum How to use checksums |
bc5e12280b9eb233400e5abb5395d40df7467155403f378d8e67721c83dbaf50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / flet_platform_assets-1.1.0.dev0-py3-none-any.whl
| Download URL | flet_platform_assets-1.1.0.dev0-py3-none-any.whl |
|---|---|
| Size | 28.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fdbb26b1e67b3e4fde9f278b51676db9b530efe4227527debccc3a75f9d36f7e
|
|
BLAKE2b-256 checksum How to use checksums |
1a94071ac613d68649343274f363c36221c9e666d8c272e3699f75d6c1fd84bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|