Skip to main content

jdAppStreamEdit

A graphical Program to create and edit AppStream files

jdAppStreamEdit

jdAppStreamEdit (previously known as jdAppdataEdit) allows you to easily create and edit AppStream (.appdata.xml or .metainfo.xml) files for your Application.

Features:

  • Easy to use
  • Full support for the Open Age Rating System (OARS)
  • The AppStream files are fully translatable
  • Releases can be imported from GitHub, GitLab, Gitea, Git Repos and NEWS files
  • You can view a preview in Gnome Software
  • You can use a existing .desktop file as template
  • Plugins

Install

Flatpak

You can get jdAppStreamEdit from Flathub

AUR

Arch Users can get jdAppStreamEdit from the AUR

Sourceforge

You can get Windows and AppImage Builds from Sourceforge

pip

You can install jdAppStreamEdit from PyPI using pip:

pip install jdAppStreamEdit

Using this Method, it will not include a Desktop Entry or any other Data file, so you need to run jdAppStreamEdit from the Command Line. Use this only, when nothing else works.

From source

This is only for experienced Users and someone, who wants to package jdAppStreamEdit for a Distro. jdAppStreamEdit should be installed as a Python package. You can use pip or any other tool that can handle Python packages. You need to have lrelease installed to build the Package. After that, you should run install-unix-datafiles.py which wil install things like the Desktop Entry or the Icon in the correct place. It defaults to /usr, but you can change it with the --prefix argument. It also applies the translation to this files. You need gettext installed to run install-unix-datafiles.py.

Here's a example of installing jdAppStreamEdit into /usr/local:

sudo pip install --prefix /usr/local .
sudo ./install-unix-datafiles.py --prefix /usr/local

Translate

You can help translating jdAppStreamEdit on Codeberg Translate

Develop

jdAppStreamEdit is written in Python and uses PyQt6 as GUI toolkit. You should have some experience in both. You can run jdAppStreamEdit.pyto start jdAppStreamEdit from source and test your local changes. It ships with a few scripts in the tools directory that you need to develop.

CompileUI.py

This is the most important script. It will take all .ui files in jdAppStreamEdit/ui and compiles it to a Python class and stores it in jdAppStreamEdit/ui_compiled. Without running this script first, you can't start jdAppStreamEdit. You need to rerun it every time you changed or added a .ui file.

BuildTranslations.py

This script takes all .ts files and compiles it to .qm files. The .ts files are containing the translation source and are being used during the translation process. The .qm contains the compiled translation and are being used by the Program. You need to compile a .ts file to a .qm file to see the translations in the Program.

UpdateTranslations.py

This regenerates the .ts files. You need to run it, when you changed something in the source code. The .ts files are contains the line in the source, where the string to translate appears, so make sure you run it even when you don't changed a translatable string, so the location is correct.

UpdateUnixDataTranslations.py

This regenerates the translation files in deploy/translations. these files contains the translations for the Desktop Entry and the AppStream File. It uses gettext, as it is hard to translate this using Qt. These files just exists to integrate the translation with Weblate, because Weblate can't translate the Desktop Entry and the AppStream file. Make sure you run this when you edited one of these files. YOu need to have gettext installed to use it.

UpdateTranslators.py

This uses git to get a list of all Translators and writes it to jdAppStreamEdit/data/translators.json. This is used to display the translators in the About Dialog. You need git to run this script.

WriteChangelogHtml.py

This read the Changelog from deploy/page.codeberg.JakobDev.jdAppStreamEdit.metainfo.xml, converts it to HTML and writes it to jdAppStreamEdit/data/changelog.html. This is used to display the Changelog in the About Dialog. You need appstream-python to be installed to use this script.

Metadata

Release files for jdAppStreamEdit 10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jdAppStreamEdit 10.0
File Size Uploaded
jdappstreamedit-10.0.tar.gz 213.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jdAppStreamEdit 10.0
File Interpreter ABI Platform
jdappstreamedit-10.0-py3-none-any.whl Python 3 none any Details

Total release size: 465.9 kB

Release files / jdappstreamedit-10.0.tar.gz

Download URL jdappstreamedit-10.0.tar.gz
Size 213.3 kB
Tags Source
SHA-256 checksum
How to use checksums
39d96da900a9b34d8d5cd77e46bcf7567a128affeab37ef6b9b9a5a0cd977a49
BLAKE2b-256 checksum
How to use checksums
e03b027cef031ef43d86fe811227b6ed2d1118b792d47ffb06c18ca50bfc552b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / jdappstreamedit-10.0-py3-none-any.whl

Download URL jdappstreamedit-10.0-py3-none-any.whl
Size 252.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
15a01db5fc8a72b8563b5a89deb77d5a7d25e0f01b3b9998121e4cb3f20fa0de
BLAKE2b-256 checksum
How to use checksums
6cae1b102c7af17035f8c3fa863644d6d8b965c34415e287b814106bbbc6c6f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

10.0 This release

2 release files

9.2

2 release files

9.1

2 release files

9.0

2 release files

8.0

2 release files

7.1

2 release files

7.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page