Generate AppImages from your Python projects
Find a file
JakobDev 20a2d7fcc5
All checks were successful
ci/woodpecker/tag/appimage_deploy Pipeline was successful
ci/woodpecker/tag/pypi_deploy Pipeline was successful
Bump version to 4.2
2025-06-16 18:55:16 +02:00
.woodpecker [CI]Fix AppImage Pipeline 2025-02-05 23:38:05 +01:00
pyproject_appimage Bump version to 4.2 2025-06-16 18:55:16 +02:00
.editorconfig Move CI pipelines into different files 2023-12-13 11:03:25 +01:00
.flake8 Init 2022-12-07 17:44:05 +01:00
.gitignore Init 2022-12-07 17:44:05 +01:00
LICENSE Init 2022-12-07 17:44:05 +01:00
pyproject-appimage.py Update to Version 3.0 2023-05-26 10:13:45 +02:00
pyproject.toml Update pyproject.toml 2025-06-16 18:54:58 +02:00
README.md Add more Projects to Readme 2025-02-05 23:34:34 +01:00

pyproject-appimage

PyPI - License PyPI - Python Version PyPI - Downloads

pyproject-appimage allows you to create a AppImage in a few seconds. To get started, just add this to your pyproject.toml:

[tool.pyproject-appimage]
script = "my-app"
output = "MyApp.AppImage"

script is here the script that should be run when executing the AppImage. You can use the project.scripts section of your pyproject.toml or the entry_points argument of your setup.py to create scripts.

To create a AppImage, just run this command in your project directory:

pyproject-appimage

Pyproject options

The following options can be used in your pyproject.toml:

Option Type Description
script string The script that should be run
output string The filename of your AppImage. Can be overwritten with the cli.
icon string The path to your Icon
rename-icon string Give your Icon another name inside the AppImage
desktop-entry string The path to your .desktop file
rename-desktop-entry string Give your .desktop file another name inside the AppImage
gettext-desktop-entry bool If your .desktop file should be translated using gettest
appstream string The path to your AppStream file
rename-appstream string Give your AppStream file another name inside the AppImage
gettext-appstream bool If your AppStream file should be translated using gettest
gettext-directory string The path to your gettext directory
python-version string The Python version that is used. Default is your current version. Can be overwritten with the cli.
updateinformation string The update information
compression string The Squashfs compression
additional-packages list of strins A list of packages that should also be installed

Note: All paths are relativ to your project directory

Cli options

pyproject-appimage provides the following cli options:

usage: pyproject-appimage [-h] [--output OUTPUT] [--project-dir PROJECT_DIR] [--python-version PYTHON_VERSION] [--appimagekit-url APPIMAGEKIT_URL] [--work-dir WORK_DIR]
                          [--list-available-versions] [--no-fuse] [-v]

options:
  -h, --help            show this help message and exit
  --output OUTPUT       Sets the putput filename
  --project-dir PROJECT_DIR
                        Sets the project dir
  --python-version PYTHON_VERSION
                        Set a custom Python version
  --appimagekit-url APPIMAGEKIT_URL
                        Set a custom download URL for AppImageKit
  --work-dir WORK_DIR   Set a custom directory to work in. Existing Directories will be removed.
  --list-available-versions
                        Print available Python versions and exit
  --no-fuse             Use this, if FUSE is not available e.g. inside a Docker container
  -v, --version         Prints the version and exit

Projects using pyproject-appimage

pyproject-appimage is of course also available as AppImage

pyproject-appimage is based on the work of niess