Metadata-Version: 2.4
Name: appstream-python
Version: 1.0.0
Summary: A library for dealing with Freedesktop Appstream data
Author-email: JakobDev <jakobdev@gmx.de>
License-Expression: BSD-2-Clause
Project-URL: Documentation, https://appstream-python.readthedocs.io
Project-URL: Issues, https://codeberg.org/JakobDev/appstream-python/issues
Project-URL: Source, https://codeberg.org/JakobDev/appstream-python
Project-URL: Donation, https://ko-fi.com/jakobdev
Keywords: JakobDev,AppStream,Freedesktop,Linux
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Environment :: Other Environment
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: BSD
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: lxml
Requires-Dist: requests
Dynamic: license-file

# appstream-python

![PyPI](https://img.shields.io/pypi/v/appstream-python)
![PyPI - Downloads](https://img.shields.io/pypi/dm/appstream-python)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/appstream-python)
![PyPI - License](https://img.shields.io/pypi/l/appstream-python)
![PyPI - Implementation](https://img.shields.io/pypi/implementation/appstream-python)
![Read the Docs](https://img.shields.io/readthedocs/appstream-python)

A library for dealing with [Freedesktop AppStream](https://www.freedesktop.org/software/appstream/docs) data.

```python
import appstream_python


def main() -> None:
    component = appstream_python.component.Component()
    component.id = "com.example.ExampleApp"

    component.urls["homepage"] = "https://example.com"
    component.urls["bugtracker"] = "https://example.com/bugtracker"

    component.save_file("com.example.ExampleApp.metainfo.xml")


if __name__ == "__main__":
    main()
```

Features:
- Full [documentation available online](https://appstream-python.readthedocs.io)
- Static typed
- Over 80% test coverage
- 100% human written
