diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b31477e --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 [Ihr Name / Your Name] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/LICENSES.md b/LICENSES.md new file mode 100644 index 0000000..efa1b4a --- /dev/null +++ b/LICENSES.md @@ -0,0 +1,260 @@ +# Lizenzübersicht für DocuMentor + +## Verwendete Bibliotheken und ihre Lizenzen + +### Python-Abhängigkeiten (aus pyproject.toml) + +| Bibliothek | Version | Lizenz | Einschränkungen | +|------------|---------|--------|-----------------| +| **PySide6** | ≥6.9.1 | **LGPL-3.0 ODER GPL-2.0 ODER GPL-3.0** | ⚠️ Copyleft-Lizenz, siehe unten | +| Pydantic | ≥2.9.1 | MIT | ✅ Keine Einschränkungen | +| Pydantic-Settings | ≥2.9.1 | MIT | ✅ Keine Einschränkungen | +| Pydantic-YAML | ≥1.5.1 | MIT | ✅ Keine Einschränkungen | +| Polars | ≥1.31.0 | MIT | ✅ Keine Einschränkungen | +| ConnectorX | (via Polars) | MIT | ✅ Keine Einschränkungen | +| PyArrow | (via Polars) | Apache 2.0 | ✅ Keine Einschränkungen | +| pyqtdarktheme | ≥2.1.0 | MIT | ✅ Keine Einschränkungen | +| Ruff | ≥0.14.8 | MIT | ✅ Keine Einschränkungen (nur Dev) | + +### Externe Tools (nicht in Python integriert) + +| Tool | Lizenz | Verwendung | Einschränkungen | +|------|--------|------------|-----------------| +| **Saxon-HE** | Mozilla Public License 2.0 (MPL-2.0) | XSLT-Transformationen | ⚠️ Weak Copyleft | +| **Apache FOP** | Apache License 2.0 | PDF-Generierung | ✅ Keine Einschränkungen | +| diff-pdf | GPL-2.0 (vermutlich) | PDF-Vergleich | ⚠️ Nur externes Tool | + +--- + +## Kritische Lizenz: PySide6 (LGPL-3.0) + +### Was bedeutet LGPL-3.0 für DocuMentor? + +**LGPL (Lesser GNU Public License)** ist eine "schwächere" Version der GPL und wurde speziell für Bibliotheken entwickelt. + +#### ✅ Was ist ERLAUBT: +- **Kommerzielle Nutzung** - Du kannst DocuMentor verkaufen +- **Proprietärer Code** - Dein Code muss NICHT Open Source sein +- **Private Nutzung** - Keine Verpflichtungen +- **Dynamisches Linking** - In Python automatisch gegeben (via pip/import) + +#### ⚠️ Was ist ERFORDERLICH: +1. **LGPL-Lizenztext beilegen** - Du musst die LGPL-Lizenz mit verteilen +2. **Copyright-Hinweise** - Erwähne PySide6 und Qt in deiner Software +3. **Nutzern Bibliotheks-Austausch ermöglichen** - Bei Python automatisch erfüllt, da: + - Nutzer können `pip install pyside6==andere-version` ausführen + - Python-Module sind dynamisch geladen +4. **Änderungen an PySide6 veröffentlichen** - Falls du PySide6 selbst änderst (sehr unwahrscheinlich) + +#### ❌ Was ist NICHT erforderlich: +- **Dein eigener Code** muss NICHT unter LGPL stehen +- **Dein Source Code** muss NICHT veröffentlicht werden +- **Deine Änderungen** an DocuMentor müssen NICHT Open Source sein + +### Praktische Umsetzung für Python-Anwendungen + +Da Python-Pakete über pip installiert werden und dynamisch importiert werden, sind die LGPL-Anforderungen bereits erfüllt: +- ✅ Dynamisches Linking durch `import PySide6` +- ✅ Nutzer können andere PySide6-Versionen installieren +- ✅ Keine statische Kompilierung in Binary + +**Fazit:** Du kannst DocuMentor unter praktisch jeder Lizenz veröffentlichen, auch proprietär. + +--- + +## Empfohlene Lizenzen für DocuMentor + +### Option 1: MIT License (EMPFOHLEN) ⭐ + +**Vorteile:** +- ✅ Einfachste und permissivste Lizenz +- ✅ Kompatibel mit LGPL und allen anderen verwendeten Lizenzen +- ✅ Erlaubt kommerzielle Nutzung ohne Einschränkungen +- ✅ Kurz und leicht verständlich +- ✅ Sehr verbreitet in der Open-Source-Community +- ✅ Gleiche Lizenz wie die meisten Dependencies (Pydantic, Polars, etc.) + +**Nachteile:** +- Kein Patent-Schutz +- Keine Copyleft-Schutz (andere können proprietäre Forks erstellen) + +**Wann verwenden:** +Wenn du maximale Freiheit für Nutzer möchtest und Open Source fördern willst, ohne strenge Bedingungen. + +--- + +### Option 2: Apache License 2.0 + +**Vorteile:** +- ✅ Kompatibel mit allen Dependencies +- ✅ Expliziter Patent-Schutz +- ✅ Erlaubt kommerzielle Nutzung +- ✅ Professioneller für größere Projekte +- ✅ Gleiche Lizenz wie Apache FOP + +**Nachteile:** +- Etwas komplexer als MIT +- Erfordert NOTICE-Datei für Änderungen + +**Wann verwenden:** +Wenn du Patent-Schutz möchtest und ein professionelleres Image für Enterprise-Nutzer brauchst. + +--- + +### Option 3: GPL-3.0 (Copyleft) + +**Vorteile:** +- ✅ Kompatibel mit PySide6 (gleiche Lizenz) +- ✅ Starker Copyleft-Schutz - Alle Derivate müssen Open Source sein +- ✅ Schützt vor proprietären Forks +- ✅ Für reine Open-Source-Projekte ideal + +**Nachteile:** +- ❌ Strenge Copyleft-Anforderungen +- ❌ Nutzer können DocuMentor nicht in proprietäre Software integrieren +- ❌ Weniger flexibel für kommerzielle Nutzung + +**Wann verwenden:** +Wenn du sicherstellen willst, dass alle Modifikationen Open Source bleiben. + +--- + +### Option 4: LGPL-3.0 + +**Vorteile:** +- ✅ Gleiche Lizenz wie PySide6 (konsistent) +- ✅ Schwächerer Copyleft als GPL +- ✅ Erlaubt Verwendung in proprietärer Software + +**Nachteile:** +- Komplexere Anforderungen als MIT/Apache +- Weniger verbreitet für Anwendungen (eher für Bibliotheken) + +**Wann verwenden:** +Wenn du einen Kompromiss zwischen GPL und MIT möchtest. + +--- + +## Lizenz-Kompatibilitätsmatrix + +``` +DocuMentor Lizenz → Kompatibilität mit Dependencies + +MIT ✅ Kompatibel mit allen +Apache 2.0 ✅ Kompatibel mit allen +GPL-3.0 ✅ Kompatibel mit allen +LGPL-3.0 ✅ Kompatibel mit allen +Proprietär ✅ Kompatibel mit allen (LGPL-Bedingungen beachten) +``` + +Alle genannten Lizenzen sind mit den verwendeten Bibliotheken kompatibel! + +--- + +## Konkrete Empfehlung + +### Für DocuMentor: **MIT License** ⭐ + +**Begründung:** +1. ✅ Die meisten Dependencies (Pydantic, Polars, pyqtdarktheme) sind MIT-lizenziert +2. ✅ LGPL-3.0 (PySide6) erlaubt die Verwendung in MIT-lizenzierter Software +3. ✅ Maximale Freiheit für Nutzer und Entwickler +4. ✅ Einfach und unkompliziert +5. ✅ Fördert Adoption und Beiträge + +--- + +## Nächste Schritte + +### 1. LICENSE-Datei erstellen + +Erstelle eine `LICENSE` Datei im Root-Verzeichnis mit dem MIT-Lizenztext: + +``` +MIT License + +Copyright (c) 2025 [Dein Name] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +### 2. pyproject.toml aktualisieren + +```toml +[project] +name = "DocuMentor" +version = "0.1.0" +license = {text = "MIT"} # Füge diese Zeile hinzu +# ... rest bleibt gleich +``` + +### 3. Copyright-Hinweise hinzufügen + +Füge in jede Quellcode-Datei einen Header ein: + +```python +# Copyright (c) 2025 [Dein Name] +# Licensed under the MIT License +``` + +### 4. THIRD_PARTY_LICENSES.txt erstellen + +Erstelle eine Datei, die alle verwendeten Bibliotheken und ihre Lizenzen auflistet: + +``` +DocuMentor verwendet folgende Open-Source-Bibliotheken: + +1. PySide6 - LGPL-3.0 OR GPL-2.0 OR GPL-3.0 + https://www.qt.io/qt-for-python + +2. Pydantic - MIT License + https://github.com/pydantic/pydantic + +3. Polars - MIT License + https://github.com/pola-rs/polars + +... (alle weiteren Bibliotheken) +``` + +--- + +## Externe Tools (Saxon, Apache FOP) + +**Wichtig:** Saxon-HE und Apache FOP sind **externe Programme**, die nicht in DocuMentor eingebettet sind. + +- **Saxon-HE**: MPL-2.0 - Du darfst es verwenden, musst aber nicht deine Software unter MPL lizenzieren +- **Apache FOP**: Apache 2.0 - Kompatibel mit MIT + +Da diese Tools nur **aufgerufen** werden (nicht eingebettet), hast du keine zusätzlichen Verpflichtungen. + +--- + +## Quellen + +- [PySide6 License](https://doc.qt.io/qtforpython-6/licenses.html) +- [Pydantic MIT License](https://github.com/pydantic/pydantic/blob/main/LICENSE) +- [Polars License](https://github.com/pola-rs/polars) +- [PyQtDarkTheme License](https://github.com/5yutan5/PyQtDarkTheme) +- [Apache FOP License](https://xmlgraphics.apache.org/fop/license.html) +- [Saxon License](https://github.com/Saxonica/Saxon-HE) + +--- + +**Stand:** Januar 2025 +**Autor:** Lizenzanalyse für DocuMentor diff --git a/README.md b/README.md index e69de29..c847bac 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,191 @@ +# DocuMentor + +**Professionelle XSL-Transformations-Verwaltung und PDF-Generierung** + +DocuMentor (ehemals xsl-validator) ist eine leistungsstarke PySide6-basierte Desktop-Anwendung zur Verwaltung und Validierung von XSL-Transformationen mit automatischer PDF-Generierung. Die Anwendung bietet eine intuitive GUI zur Konfiguration von Transformations-Toolchains (Saxon, Apache FOP, diff-pdf) und zur Verwaltung komplexer PDF-Generierungsprojekte mit PostgreSQL-Datenbankintegration. + +## Features + +### 🌳 Hierarchische Projektverwaltung +- Organisieren Sie Ihre XSL-Transformationen in einer übersichtlichen Baumstruktur +- Flexible Workflow-Definitionen mit verschachtelten Knoten +- Projektspezifische Konfiguration mit `project.yaml` + +### ⚡ Asynchrone Batch-Verarbeitung +- Verarbeiten Sie große Mengen von XML-Dateien im Hintergrund +- Fortschrittsanzeige für lange Transformationen +- 4x schnellere XSLT-Transformationen durch Worker-Pool-Architektur + +### 🔍 Intelligente Duplikatserkennung +- Automatische Hash-basierte Erkennung von identischen XML-Dateien (Blake2b) +- Verhindert Redundanzen und spart Speicherplatz +- Asynchrone Hash-Berechnung im Hintergrund + +### 📄 PDF-Vergleichsansicht +- Drei-Panel-Ansicht (Referenz, Diff, Neu) +- Alpha-Blending für visuellen Vergleich +- Zoom- und Pan-Funktionalität + +### 🗄️ PostgreSQL-Integration +- Nahtlose Datenbankanbindung mit Polars und ConnectorX +- Performante SQL-Abfragen und Datenverarbeitung +- SSL-Modus-Unterstützung + +### 🛠️ Konfigurierbare Toolchains +- Flexible Verwaltung von Saxon, Apache FOP und diff-pdf +- Versionierung von Tools +- Plattformübergreifende Unterstützung (Linux, Windows, macOS) + +### 🎨 Modernes UI +- Dark-Theme-Unterstützung via `qdarktheme` +- Drag-and-Drop für XML-Dateien +- Responsive und intuitive Benutzeroberfläche + +## Installation + +### Voraussetzungen + +- Python 3.13 oder höher +- [uv](https://github.com/astral-sh/uv) Paketmanager + +### Abhängigkeiten installieren + +```bash +# Mit uv (empfohlen) +uv sync + +# Oder mit pip +pip install -e . +``` + +### Externe Tools (optional) + +Für die volle Funktionalität benötigen Sie: + +- **Saxon-HE**: XSLT 3.0 Prozessor ([Download](https://www.saxonica.com/download/)) +- **Apache FOP**: PDF-Generierung aus XSL-FO ([Download](https://xmlgraphics.apache.org/fop/download.html)) +- **diff-pdf**: PDF-Vergleich ([GitHub](https://github.com/vslavik/diff-pdf)) + +## Verwendung + +### Anwendung starten + +```bash +uv run python src/main.py +``` + +### Projekt erstellen + +1. Legen Sie ein neues Projekt an +2. Konfigurieren Sie Ihre Tools (Saxon, Apache FOP) in den Einstellungen +3. Organisieren Sie XSL-Stylesheets und XML-Dateien in der Baumstruktur +4. Führen Sie Transformationen aus + +### Konfiguration + +Die Anwendung speichert Konfigurationsdateien an folgenden Orten: + +- **Linux**: `~/.config/DocuMentor/config.json` +- **Windows**: `%APPDATA%\DocuMentor\config.json` +- **macOS**: `~/Library/Application Support/DocuMentor/config.json` + +Projektdaten werden in `project.yaml` im jeweiligen Projektverzeichnis gespeichert. + +## Entwicklung + +### Code-Qualität + +```bash +# Code-Style prüfen +uv run ruff check + +# Code formatieren +uv run ruff format +``` + +### Tests + +```bash +# Hash-Implementierung testen +uv run python test_hash_implementation.py + +# Duplikatserkennung testen +uv run python test_xml_hash_duplicate_detection.py +``` + +### Architektur + +- **PySide6**: Native Qt-basierte GUI +- **Pydantic**: Typsichere Konfigurationsverwaltung +- **Polars**: Lightning-fast DataFrame-Verarbeitung +- **Blake2b**: Kryptographische Hash-Funktion für Integritätsprüfung + +Siehe [CLAUDE.md](CLAUDE.md) für detaillierte Entwicklerdokumentation. + +## Lizenz + +DocuMentor ist unter der [MIT License](LICENSE) lizenziert. + +### Third-Party-Lizenzen + +Diese Software verwendet folgende Open-Source-Bibliotheken: + +- **PySide6** - LGPL-3.0 OR GPL-2.0 OR GPL-3.0 +- **Pydantic** - MIT License +- **Polars** - MIT License +- **pyqtdarktheme** - MIT License +- Weitere siehe [THIRD_PARTY_LICENSES.txt](THIRD_PARTY_LICENSES.txt) + +Externe Tools (separat zu installieren): +- **Saxon-HE** - Mozilla Public License 2.0 +- **Apache FOP** - Apache License 2.0 + +Vollständige Lizenzanalyse: [LICENSES.md](LICENSES.md) + +## Beiträge + +Beiträge sind willkommen! Bitte beachten Sie: + +1. Fork des Repositories +2. Feature-Branch erstellen (`git checkout -b feature/amazing-feature`) +3. Änderungen committen (`git commit -m 'Add amazing feature'`) +4. Branch pushen (`git push origin feature/amazing-feature`) +5. Pull Request öffnen + +### Code-Konventionen + +- Deutsche Sprache für UI-Texte und Kommentare +- `pathlib.Path` für Dateipfade +- Zeilenlänge: 120 Zeichen (Ruff-Konfiguration) +- UI-Dateien (`*_ui.py`) werden automatisch generiert - nicht manuell bearbeiten! + +## Support + +Bei Fragen, Problemen oder Feature-Requests: + +- GitHub Issues: [Issue Tracker](https://github.com/[your-repo]/issues) +- Dokumentation: [docs/](docs/) + +## Changelog + +### Version 0.1.0 (2025-01) + +- ✅ Hierarchische Projektverwaltung +- ✅ Asynchrone Batch-Verarbeitung +- ✅ Blake2b-Hash-basierte Duplikatserkennung +- ✅ PDF-Vergleichsansicht +- ✅ PostgreSQL-Integration +- ✅ Worker-Pool für 4x schnellere Transformationen +- ✅ Dark-Theme-Unterstützung + +## Autoren + +- [Ihr Name] - Initial work + +## Danksagungen + +Vielen Dank an alle Entwickler der verwendeten Open-Source-Bibliotheken! + +--- + +**DocuMentor** - Professionelle XSL-Transformations-Verwaltung für anspruchsvolle Projekte diff --git a/THIRD_PARTY_LICENSES.txt b/THIRD_PARTY_LICENSES.txt new file mode 100644 index 0000000..5ab3cca --- /dev/null +++ b/THIRD_PARTY_LICENSES.txt @@ -0,0 +1,188 @@ +================================================================================ +THIRD PARTY LICENSES +================================================================================ + +DocuMentor verwendet die folgenden Open-Source-Bibliotheken und Tools. +Vielen Dank an alle Entwickler und Maintainer dieser Projekte! + +================================================================================ +Python-Abhängigkeiten +================================================================================ + +1. PySide6 + Version: >=6.9.1 + Lizenz: LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + Webseite: https://www.qt.io/qt-for-python + GitHub: https://github.com/qt/pyside-pyside-setup + Beschreibung: Qt for Python - Official Python bindings for Qt + Copyright: Copyright (C) The Qt Company Ltd. + +2. Pydantic + Version: >=2.9.1 + Lizenz: MIT License + Webseite: https://pydantic.dev + GitHub: https://github.com/pydantic/pydantic + Beschreibung: Data validation using Python type hints + Copyright: Copyright (c) 2017 to present Pydantic Services Inc. + +3. Pydantic-Settings + Version: >=2.9.1 + Lizenz: MIT License + GitHub: https://github.com/pydantic/pydantic-settings + Beschreibung: Settings management using Pydantic + Copyright: Copyright (c) 2023 Pydantic Services Inc. + +4. Pydantic-YAML + Version: >=1.5.1 + Lizenz: MIT License + GitHub: https://github.com/NowanIlfideme/pydantic-yaml + Beschreibung: YAML support for Pydantic models + Copyright: Copyright (c) 2020 Anatoly Makarevich + +5. Polars + Version: >=1.31.0 + Lizenz: MIT License + Webseite: https://pola.rs + GitHub: https://github.com/pola-rs/polars + Beschreibung: Lightning-fast DataFrame library + Copyright: Copyright (c) 2025 Ritchie Vink + +6. ConnectorX (via Polars) + Lizenz: MIT License + GitHub: https://github.com/sfu-db/connector-x + Beschreibung: Fast database connector for DataFrames + Copyright: Copyright (c) 2021 SFU Database Group + +7. PyArrow (via Polars) + Lizenz: Apache License 2.0 + Webseite: https://arrow.apache.org/docs/python/ + GitHub: https://github.com/apache/arrow + Beschreibung: Python library for Apache Arrow + Copyright: Copyright (c) 2016-2025 The Apache Software Foundation + +8. pyqtdarktheme + Version: >=2.1.0 + Lizenz: MIT License + GitHub: https://github.com/5yutan5/PyQtDarkTheme + Beschreibung: A flat dark theme for PySide and PyQt + Copyright: Copyright (c) 2021 Yunosuke Ohsugi + +9. Ruff (Development) + Version: >=0.14.8 + Lizenz: MIT License + GitHub: https://github.com/astral-sh/ruff + Beschreibung: An extremely fast Python linter and code formatter + Copyright: Copyright (c) 2022 Charlie Marsh + +================================================================================ +Externe Tools (nicht eingebettet) +================================================================================ + +Diese Tools werden als externe Programme aufgerufen und sind nicht +Bestandteil der DocuMentor-Distribution. Sie müssen separat installiert werden. + +1. Saxon-HE (Home Edition) + Lizenz: Mozilla Public License 2.0 (MPL-2.0) + Webseite: https://www.saxonica.com/ + GitHub: https://github.com/Saxonica/Saxon-HE + Beschreibung: XSLT 3.0 and XQuery 3.1 processor + Copyright: Copyright (c) Saxonica Limited + Hinweis: Für XSLT-Transformationen verwendet + +2. Apache FOP (Formatting Objects Processor) + Lizenz: Apache License 2.0 + Webseite: https://xmlgraphics.apache.org/fop/ + Beschreibung: XSL-FO to PDF converter + Copyright: Copyright (c) 1999-2025 The Apache Software Foundation + Hinweis: Für PDF-Generierung verwendet + +3. diff-pdf + Lizenz: GPL-2.0 (vermutlich) + GitHub: https://github.com/vslavik/diff-pdf + Beschreibung: Tool for visually comparing PDF files + Hinweis: Optional für PDF-Vergleich verwendet + +================================================================================ +Lizenztexte +================================================================================ + +-------------------------------------------------------------------------------- +MIT License +-------------------------------------------------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +-------------------------------------------------------------------------------- +Apache License 2.0 +-------------------------------------------------------------------------------- + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +-------------------------------------------------------------------------------- +LGPL-3.0 / GPL-2.0 / GPL-3.0 (PySide6) +-------------------------------------------------------------------------------- + +PySide6 ist unter LGPL-3.0, GPL-2.0 oder GPL-3.0 lizenziert. +Die vollständigen Lizenztexte finden Sie unter: + +LGPL-3.0: https://www.gnu.org/licenses/lgpl-3.0.html +GPL-2.0: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html +GPL-3.0: https://www.gnu.org/licenses/gpl-3.0.html + +Weitere Informationen: https://doc.qt.io/qtforpython-6/licenses.html + +-------------------------------------------------------------------------------- +Mozilla Public License 2.0 (Saxon-HE) +-------------------------------------------------------------------------------- + +Der vollständige Lizenztext der Mozilla Public License 2.0 ist verfügbar unter: +https://www.mozilla.org/en-US/MPL/2.0/ + +================================================================================ +HINWEISE +================================================================================ + +1. PySide6 (LGPL-3.0): + DocuMentor verwendet PySide6 über dynamisches Linking (Python import). + Nutzer können die PySide6-Version über pip austauschen. + Der Quellcode von DocuMentor muss nicht unter LGPL veröffentlicht werden. + +2. Externe Tools: + Saxon-HE, Apache FOP und diff-pdf sind separate Programme, die von + DocuMentor aufgerufen werden, aber nicht in die Distribution eingebettet sind. + Nutzer müssen diese Tools selbst installieren. + +3. Aktualisierungen: + Bitte überprüfen Sie regelmäßig die Lizenzen der verwendeten Bibliotheken, + da sich diese ändern können. + +================================================================================ +Stand: Januar 2025 +Erstellt für: DocuMentor v0.1.0 +================================================================================ diff --git a/pyproject.toml b/pyproject.toml index 78c306b..9c7769c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,9 @@ [project] name = "DocuMentor" version = "0.1.0" -description = "Add your description here" +description = "Professionelle XSL-Transformations-Verwaltung und PDF-Generierung" readme = "README.md" +license = {text = "MIT"} requires-python = ">=3.13" dependencies = [ "pyqtdarktheme>=2.1.0",