solr-helper


Namesolr-helper JSON
Version 1.5.0 PyPI version JSON
download
home_pageNone
SummaryTool zum Anzeigen und Bearbeiten von Solr-Dokumenten.
upload_time2025-07-08 13:10:48
maintainerNone
docs_urlNone
authorNone
requires_python<3.13,>=3.12
licenseMIT License Copyright (c) 2025 Thomas Baer 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.
keywords solr helper flask htmx search admin
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Slub SolrHelper

Willkommen beim Slub SolrHelper!

Dieses Tool hilft Bibliothekaren und Softwareentwicklern dabei, Dokumente in einem Solr-Index einfach anzusehen und zu bearbeiten.

Es handelt sich um eine kleine Webanwendung, die lokal gestartet werden kann.

## Features

### Innovatives Verbindungsmanagement
- **Dynamische Verbindungen**: Wechseln Sie zwischen verschiedenen Solr-Servern ohne Neustart
- **Browser-Speicher**: Verbindungen werden lokal im Browser gespeichert
- **Import/Export**: Teilen Sie Verbindungseinstellungen mit Kollegen
- **Automatische Tests**: Verbindungen werden vor der Verwendung getestet
- **Standard-Verbindung**: Markieren Sie eine Verbindung als Standard für den App-Start

### Erweiterte Suchfunktionen
- **Feldspezifische Suche**: Durchsuchen Sie gezielt einzelne Felder
- **Intelligente Feldauswahl**: Suggest-Funktion filtert verfügbare Felder beim Tippen
- **Substring-Suche**: Findet Teilbegriffe (z.B. "Buch" findet "Lehrbuch", "Buchhandlung")
- **Solr Highlighting**: Hervorgehobene Suchbegriffe in Suchergebnissen
- **Live-Suche**: HTMX-basierte Suche ohne Seitenneuladen

### Dokumentenbearbeitung
- **Atomare Updates**: Sichere Feldbearbeitung ohne Datenverlust (wenn vom Server unterstützt)
- **Dynamische Felder**: Erkennt und zeigt alle Dokumentfelder an, auch die nicht im Schema definierten
- **Neue Felder hinzufügen**: Erweitern Sie Dokumente um zusätzliche Informationen
- **Warnsystem**: Automatische Warnungen bei potenziellem Datenverlust
- **Modal-Bearbeitung**: Benutzerfreundliche Popup-Fenster für Feldbearbeitung

### Technische Features
- **Debug-Modus**: Detaillierte Logging-Ausgaben für Entwicklung (`--debug`)
- **Responsive Design**: Funktioniert auf Desktop und mobilen Geräten
- **Toast-Benachrichtigungen**: Elegante Erfolgs- und Fehlermeldungen
- **Modulare Architektur**: Saubere Code-Organisation für einfache Wartung

## Installation

Die empfohlene Methode zur Installation und Ausführung des `solr-helper` ist die Verwendung von `uv`, einem extrem schnellen Python-Paketmanager.

### 1. uv installieren

Falls du `uv` noch nicht installiert hast, kannst du dies mit einem der folgenden Befehle tun:

**Linux und macOS:**
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

**Windows:**
```powershell
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```

Weitere Installationsmethoden findest du in der [offiziellen `uv` Dokumentation](https://github.com/astral-sh/uv#installation).

### 2. solr-helper ausführen

Es gibt zwei empfohlene Wege, den `solr-helper` zu nutzen:

**Option A: Direkte Ausführung mit `uvx` (Empfohlen)**

`uvx` ist ein Werkzeug, das `npx` aus der Node.js-Welt ähnelt. Es lädt das Paket in eine temporäre, isolierte Umgebung herunter, führt es aus und räumt danach wieder auf. So bleibt dein System sauber.

```bash
uvx solr-helper start-web --solr-url http://dein-solr:8983 --core dein-core
```

**Option B: Permanente Installation**

Wenn du das Tool systemweit oder in einer bestimmten virtuellen Umgebung installieren möchtest:

```bash
uv pip install solr-helper
```

Danach kannst du es direkt aufrufen:

```bash
solr-helper start-web --solr-url http://dein-solr:8983 --core dein-core
```

## Schnellstart für Bibliothekare

### **Flexibler Start (empfohlen für mehrere Server)**
```bash
# Starten ohne feste Verbindung - ermöglicht dynamisches Verbindungsmanagement
uvx solr-helper --no-connection-check start-web

# Oder mit permanenter Installation:
solr-helper --no-connection-check start-web
```

Die Anwendung ist dann unter `http://127.0.0.1:5000` erreichbar.

### **Start mit fester Verbindung**
```bash
# Direkt mit bekannter Verbindung starten
uvx solr-helper start-web --solr-url http://dein-solr:8983 --core dein-core
```

### **Debug-Modus für Entwicklung**
```bash
# Detaillierte Logs und Flask-Debug-Modus
solr-helper --debug --no-connection-check start-web
```

## Verbindungsmanagement

### **Neue Verbindung hinzufügen**
1. Gehen Sie zu `/connections` im Webinterface
2. Klicken Sie "Neue Verbindung hinzufügen"
3. Geben Sie Server-URL (z.B. `http://solr-server:8983`) und Core-Name ein
4. Vergeben Sie einen aussagekräftigen Namen
5. Testen Sie die Verbindung mit dem Test-Button
6. Speichern und verwenden

### **Verbindungen verwalten**
- **Verwenden**: Sofortiger Wechsel zu einer Verbindung (ohne Standard zu ändern)
- **Standard setzen**: Verbindung als Standard für App-Start markieren
- **Bearbeiten**: Verbindungsdetails ändern
- **Löschen**: Nicht mehr benötigte Verbindungen entfernen

### **Verbindungen teilen (Import/Export)**
```javascript
// Export aller Verbindungen (Browser-Konsole F12)
console.log(localStorage.getItem('solr_connections'))

// Import von Verbindungen (Browser-Konsole F12)
localStorage.setItem('solr_connections', 'JSON-String-hier-einfügen')
```

## Erweiterte Suchfunktionen

### **Feldspezifische Suche**
1. Wählen Sie "Textsuche" (statt ID-Suche)
2. **Intelligente Feldauswahl**: Tippen Sie Feldname (z.B. "title")
   → Dropdown filtert automatisch alle passenden Felder
3. Wählen Sie das gewünschte Feld aus der Liste
4. Geben Sie Ihren Suchbegriff ein
5. **Substring-Suche**: "Buch" findet "Lehrbuch", "Buchhandlung", "Buch der Bücher"
6. Erhalten Sie Ergebnisse mit **hervorgehobenen Suchbegriffen**

### **ID-Suche**
- Direkte Suche nach Dokument-IDs
- Sofortige Weiterleitung zum Dokument
- Ideal für bekannte Dokument-Identifikatoren

### **Live-Suchergebnisse**
- Kompakte Vorschau der ersten 5 Treffer
- Link zu vollständigen Ergebnissen
- Keine Seitenneuladen dank HTMX

## Dokumentenbearbeitung

### **Felder bearbeiten**
1. Öffnen Sie ein Dokument durch Klick auf eine ID
2. Klicken Sie "Edit" bei dem Feld, das Sie ändern möchten
3. **Modal-Fenster** öffnet sich mit dem aktuellen Wert
4. Ändern Sie den Wert nach Bedbedarf
5. **Automatische Speicherung**:
   - **Atomare Updates** (wenn Server unterstützt): Nur das geänderte Feld wird aktualisiert
   - **Full-Document-Update** (Fallback): Warnung wird angezeigt vor potenziellem Datenverlust

### **Neue Felder hinzufügen**
1. Scrollen Sie zum Ende der Dokumentansicht
2. Sektion "Neues Feld hinzufügen"
3. **Feldname**: z.B. "kommentar_str", "notiz_txt"
4. **Feldwert**: Ihr gewünschter Inhalt
5. Klicken Sie "Hinzufügen" → Feld wird sofort zum Dokument hinzugefügt

### **Sicherheitsfeatures**
- **Warnsystem**: Automatische Warnungen wenn atomare Updates nicht möglich
- **Datenschutz**: Nur `stored=false` Felder gehen bei Full-Updates verloren
- **Backup**: Original-Dokument wird vor Änderungen gesichert
- **Atomic Updates**: Bevorzugte Methode verhindert Datenverlust

## Konfiguration

Die Verbindung zu Solr kann auf drei Arten konfiguriert werden (Priorität: CLI > ENV > config.toml > Default):

1. **CLI-Optionen:**
   - `--solr-url` (z.B. `http://localhost:8983`)
   - `--core` (z.B. `testing`)
   - Beispiel:
     ```bash
     solr-helper show-schema --solr-url http://sdvdmgtestsolr01.slub-dresden.de:8984 --core ahn-release
     ```
2. **Umgebungsvariablen:**
   - `SOLRHELPER_SOLR_URL`
   - `SOLRHELPER_CORE`
3. **Konfigurationsdatei:**
   - `config.toml` im Projektverzeichnis oder `~/.solrhelper/config.toml`
   - Beispiel-Inhalt:
     ```toml
     solr_url = "http://localhost:8983"
     core = "testing"
     ```
4. **Defaults:**
   - `solr_url = "http://localhost:8983"`
   - `core = "testing"`

## Entwicklung

### **Lokale Entwicklungsumgebung**
```bash
# Repository klonen
git clone https://github.com/thomsbe/SolrHelper.git
cd SolrHelper

# Mit uv (empfohlen)
uv sync

# Oder mit traditionellem venv
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# .venv\Scripts\activate   # Windows
pip install -e .
```

### **Entwicklung starten**
```bash
# Debug-Modus mit detaillierten Logs
uv run solr-helper --debug --no-connection-check start-web

# Oder direkt:
solr-helper --debug --no-connection-check start-web
```

### **CLI-Befehle für Entwicklung**
```bash
# Verbindung testen
solr-helper test-connection --solr-url http://dein-solr:8983 --core dein-core

# Schema anzeigen
solr-helper show-schema --solr-url http://dein-solr:8983 --core dein-core

# Web-Oberfläche starten (Produktion)
solr-helper start-web --solr-url http://dein-solr:8983 --core dein-core

# Web-Oberfläche starten (Debug)
solr-helper --debug start-web --solr-url http://dein-solr:8983 --core dein-core
```

### **Architektur-Überblick**
- **Modularer Aufbau**: Separate Module für Routes, Utils, Templates
- **Flask Blueprints**: Saubere Code-Organisation (connection, search, record, api)
- **HTMX-Integration**: Moderne Web-UX ohne komplexes JavaScript
- **Alpine.js**: Reaktive UI-Komponenten für Verbindungsmanagement
- **DaisyUI**: Konsistentes Design-System
- **Loguru**: Strukturiertes Logging

### **Code-Qualität**
- **300-Zeilen-Regel**: Alle Dateien unter 300 Zeilen für LLM-Kompatibilität
- **Blueprint-basiert**: Klare Trennung der Verantwortlichkeiten
- **Type Hints**: Vollständige Typisierung für bessere Wartbarkeit
- **Error Handling**: Robuste Fehlerbehandlung mit aussagekräftigen Meldungen

### **Testing**
```bash
# Tests ausführen
pytest

# Mit Coverage
pytest --cov=src/solr_helper
```

Siehe [docs/technical.md](docs/technical.md) für detaillierte technische Informationen.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "solr-helper",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.13,>=3.12",
    "maintainer_email": null,
    "keywords": "solr, helper, flask, htmx, search, admin",
    "author": null,
    "author_email": "Thomas Baer <thomas.baer@slub-dresden.de>",
    "download_url": "https://files.pythonhosted.org/packages/1e/9a/06be35f54d0fa0df62e96f5ab67e6b025baf67f251de86dff51a500cdbfb/solr_helper-1.5.0.tar.gz",
    "platform": null,
    "description": "# Slub SolrHelper\n\nWillkommen beim Slub SolrHelper!\n\nDieses Tool hilft Bibliothekaren und Softwareentwicklern dabei, Dokumente in einem Solr-Index einfach anzusehen und zu bearbeiten.\n\nEs handelt sich um eine kleine Webanwendung, die lokal gestartet werden kann.\n\n## Features\n\n### Innovatives Verbindungsmanagement\n- **Dynamische Verbindungen**: Wechseln Sie zwischen verschiedenen Solr-Servern ohne Neustart\n- **Browser-Speicher**: Verbindungen werden lokal im Browser gespeichert\n- **Import/Export**: Teilen Sie Verbindungseinstellungen mit Kollegen\n- **Automatische Tests**: Verbindungen werden vor der Verwendung getestet\n- **Standard-Verbindung**: Markieren Sie eine Verbindung als Standard f\u00fcr den App-Start\n\n### Erweiterte Suchfunktionen\n- **Feldspezifische Suche**: Durchsuchen Sie gezielt einzelne Felder\n- **Intelligente Feldauswahl**: Suggest-Funktion filtert verf\u00fcgbare Felder beim Tippen\n- **Substring-Suche**: Findet Teilbegriffe (z.B. \"Buch\" findet \"Lehrbuch\", \"Buchhandlung\")\n- **Solr Highlighting**: Hervorgehobene Suchbegriffe in Suchergebnissen\n- **Live-Suche**: HTMX-basierte Suche ohne Seitenneuladen\n\n### Dokumentenbearbeitung\n- **Atomare Updates**: Sichere Feldbearbeitung ohne Datenverlust (wenn vom Server unterst\u00fctzt)\n- **Dynamische Felder**: Erkennt und zeigt alle Dokumentfelder an, auch die nicht im Schema definierten\n- **Neue Felder hinzuf\u00fcgen**: Erweitern Sie Dokumente um zus\u00e4tzliche Informationen\n- **Warnsystem**: Automatische Warnungen bei potenziellem Datenverlust\n- **Modal-Bearbeitung**: Benutzerfreundliche Popup-Fenster f\u00fcr Feldbearbeitung\n\n### Technische Features\n- **Debug-Modus**: Detaillierte Logging-Ausgaben f\u00fcr Entwicklung (`--debug`)\n- **Responsive Design**: Funktioniert auf Desktop und mobilen Ger\u00e4ten\n- **Toast-Benachrichtigungen**: Elegante Erfolgs- und Fehlermeldungen\n- **Modulare Architektur**: Saubere Code-Organisation f\u00fcr einfache Wartung\n\n## Installation\n\nDie empfohlene Methode zur Installation und Ausf\u00fchrung des `solr-helper` ist die Verwendung von `uv`, einem extrem schnellen Python-Paketmanager.\n\n### 1. uv installieren\n\nFalls du `uv` noch nicht installiert hast, kannst du dies mit einem der folgenden Befehle tun:\n\n**Linux und macOS:**\n```bash\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\n**Windows:**\n```powershell\npowershell -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n```\n\nWeitere Installationsmethoden findest du in der [offiziellen `uv` Dokumentation](https://github.com/astral-sh/uv#installation).\n\n### 2. solr-helper ausf\u00fchren\n\nEs gibt zwei empfohlene Wege, den `solr-helper` zu nutzen:\n\n**Option A: Direkte Ausf\u00fchrung mit `uvx` (Empfohlen)**\n\n`uvx` ist ein Werkzeug, das `npx` aus der Node.js-Welt \u00e4hnelt. Es l\u00e4dt das Paket in eine tempor\u00e4re, isolierte Umgebung herunter, f\u00fchrt es aus und r\u00e4umt danach wieder auf. So bleibt dein System sauber.\n\n```bash\nuvx solr-helper start-web --solr-url http://dein-solr:8983 --core dein-core\n```\n\n**Option B: Permanente Installation**\n\nWenn du das Tool systemweit oder in einer bestimmten virtuellen Umgebung installieren m\u00f6chtest:\n\n```bash\nuv pip install solr-helper\n```\n\nDanach kannst du es direkt aufrufen:\n\n```bash\nsolr-helper start-web --solr-url http://dein-solr:8983 --core dein-core\n```\n\n## Schnellstart f\u00fcr Bibliothekare\n\n### **Flexibler Start (empfohlen f\u00fcr mehrere Server)**\n```bash\n# Starten ohne feste Verbindung - erm\u00f6glicht dynamisches Verbindungsmanagement\nuvx solr-helper --no-connection-check start-web\n\n# Oder mit permanenter Installation:\nsolr-helper --no-connection-check start-web\n```\n\nDie Anwendung ist dann unter `http://127.0.0.1:5000` erreichbar.\n\n### **Start mit fester Verbindung**\n```bash\n# Direkt mit bekannter Verbindung starten\nuvx solr-helper start-web --solr-url http://dein-solr:8983 --core dein-core\n```\n\n### **Debug-Modus f\u00fcr Entwicklung**\n```bash\n# Detaillierte Logs und Flask-Debug-Modus\nsolr-helper --debug --no-connection-check start-web\n```\n\n## Verbindungsmanagement\n\n### **Neue Verbindung hinzuf\u00fcgen**\n1. Gehen Sie zu `/connections` im Webinterface\n2. Klicken Sie \"Neue Verbindung hinzuf\u00fcgen\"\n3. Geben Sie Server-URL (z.B. `http://solr-server:8983`) und Core-Name ein\n4. Vergeben Sie einen aussagekr\u00e4ftigen Namen\n5. Testen Sie die Verbindung mit dem Test-Button\n6. Speichern und verwenden\n\n### **Verbindungen verwalten**\n- **Verwenden**: Sofortiger Wechsel zu einer Verbindung (ohne Standard zu \u00e4ndern)\n- **Standard setzen**: Verbindung als Standard f\u00fcr App-Start markieren\n- **Bearbeiten**: Verbindungsdetails \u00e4ndern\n- **L\u00f6schen**: Nicht mehr ben\u00f6tigte Verbindungen entfernen\n\n### **Verbindungen teilen (Import/Export)**\n```javascript\n// Export aller Verbindungen (Browser-Konsole F12)\nconsole.log(localStorage.getItem('solr_connections'))\n\n// Import von Verbindungen (Browser-Konsole F12)\nlocalStorage.setItem('solr_connections', 'JSON-String-hier-einf\u00fcgen')\n```\n\n## Erweiterte Suchfunktionen\n\n### **Feldspezifische Suche**\n1. W\u00e4hlen Sie \"Textsuche\" (statt ID-Suche)\n2. **Intelligente Feldauswahl**: Tippen Sie Feldname (z.B. \"title\")\n   \u2192 Dropdown filtert automatisch alle passenden Felder\n3. W\u00e4hlen Sie das gew\u00fcnschte Feld aus der Liste\n4. Geben Sie Ihren Suchbegriff ein\n5. **Substring-Suche**: \"Buch\" findet \"Lehrbuch\", \"Buchhandlung\", \"Buch der B\u00fccher\"\n6. Erhalten Sie Ergebnisse mit **hervorgehobenen Suchbegriffen**\n\n### **ID-Suche**\n- Direkte Suche nach Dokument-IDs\n- Sofortige Weiterleitung zum Dokument\n- Ideal f\u00fcr bekannte Dokument-Identifikatoren\n\n### **Live-Suchergebnisse**\n- Kompakte Vorschau der ersten 5 Treffer\n- Link zu vollst\u00e4ndigen Ergebnissen\n- Keine Seitenneuladen dank HTMX\n\n## Dokumentenbearbeitung\n\n### **Felder bearbeiten**\n1. \u00d6ffnen Sie ein Dokument durch Klick auf eine ID\n2. Klicken Sie \"Edit\" bei dem Feld, das Sie \u00e4ndern m\u00f6chten\n3. **Modal-Fenster** \u00f6ffnet sich mit dem aktuellen Wert\n4. \u00c4ndern Sie den Wert nach Bedbedarf\n5. **Automatische Speicherung**:\n   - **Atomare Updates** (wenn Server unterst\u00fctzt): Nur das ge\u00e4nderte Feld wird aktualisiert\n   - **Full-Document-Update** (Fallback): Warnung wird angezeigt vor potenziellem Datenverlust\n\n### **Neue Felder hinzuf\u00fcgen**\n1. Scrollen Sie zum Ende der Dokumentansicht\n2. Sektion \"Neues Feld hinzuf\u00fcgen\"\n3. **Feldname**: z.B. \"kommentar_str\", \"notiz_txt\"\n4. **Feldwert**: Ihr gew\u00fcnschter Inhalt\n5. Klicken Sie \"Hinzuf\u00fcgen\" \u2192 Feld wird sofort zum Dokument hinzugef\u00fcgt\n\n### **Sicherheitsfeatures**\n- **Warnsystem**: Automatische Warnungen wenn atomare Updates nicht m\u00f6glich\n- **Datenschutz**: Nur `stored=false` Felder gehen bei Full-Updates verloren\n- **Backup**: Original-Dokument wird vor \u00c4nderungen gesichert\n- **Atomic Updates**: Bevorzugte Methode verhindert Datenverlust\n\n## Konfiguration\n\nDie Verbindung zu Solr kann auf drei Arten konfiguriert werden (Priorit\u00e4t: CLI > ENV > config.toml > Default):\n\n1. **CLI-Optionen:**\n   - `--solr-url` (z.B. `http://localhost:8983`)\n   - `--core` (z.B. `testing`)\n   - Beispiel:\n     ```bash\n     solr-helper show-schema --solr-url http://sdvdmgtestsolr01.slub-dresden.de:8984 --core ahn-release\n     ```\n2. **Umgebungsvariablen:**\n   - `SOLRHELPER_SOLR_URL`\n   - `SOLRHELPER_CORE`\n3. **Konfigurationsdatei:**\n   - `config.toml` im Projektverzeichnis oder `~/.solrhelper/config.toml`\n   - Beispiel-Inhalt:\n     ```toml\n     solr_url = \"http://localhost:8983\"\n     core = \"testing\"\n     ```\n4. **Defaults:**\n   - `solr_url = \"http://localhost:8983\"`\n   - `core = \"testing\"`\n\n## Entwicklung\n\n### **Lokale Entwicklungsumgebung**\n```bash\n# Repository klonen\ngit clone https://github.com/thomsbe/SolrHelper.git\ncd SolrHelper\n\n# Mit uv (empfohlen)\nuv sync\n\n# Oder mit traditionellem venv\npython -m venv .venv\nsource .venv/bin/activate  # Linux/Mac\n# .venv\\Scripts\\activate   # Windows\npip install -e .\n```\n\n### **Entwicklung starten**\n```bash\n# Debug-Modus mit detaillierten Logs\nuv run solr-helper --debug --no-connection-check start-web\n\n# Oder direkt:\nsolr-helper --debug --no-connection-check start-web\n```\n\n### **CLI-Befehle f\u00fcr Entwicklung**\n```bash\n# Verbindung testen\nsolr-helper test-connection --solr-url http://dein-solr:8983 --core dein-core\n\n# Schema anzeigen\nsolr-helper show-schema --solr-url http://dein-solr:8983 --core dein-core\n\n# Web-Oberfl\u00e4che starten (Produktion)\nsolr-helper start-web --solr-url http://dein-solr:8983 --core dein-core\n\n# Web-Oberfl\u00e4che starten (Debug)\nsolr-helper --debug start-web --solr-url http://dein-solr:8983 --core dein-core\n```\n\n### **Architektur-\u00dcberblick**\n- **Modularer Aufbau**: Separate Module f\u00fcr Routes, Utils, Templates\n- **Flask Blueprints**: Saubere Code-Organisation (connection, search, record, api)\n- **HTMX-Integration**: Moderne Web-UX ohne komplexes JavaScript\n- **Alpine.js**: Reaktive UI-Komponenten f\u00fcr Verbindungsmanagement\n- **DaisyUI**: Konsistentes Design-System\n- **Loguru**: Strukturiertes Logging\n\n### **Code-Qualit\u00e4t**\n- **300-Zeilen-Regel**: Alle Dateien unter 300 Zeilen f\u00fcr LLM-Kompatibilit\u00e4t\n- **Blueprint-basiert**: Klare Trennung der Verantwortlichkeiten\n- **Type Hints**: Vollst\u00e4ndige Typisierung f\u00fcr bessere Wartbarkeit\n- **Error Handling**: Robuste Fehlerbehandlung mit aussagekr\u00e4ftigen Meldungen\n\n### **Testing**\n```bash\n# Tests ausf\u00fchren\npytest\n\n# Mit Coverage\npytest --cov=src/solr_helper\n```\n\nSiehe [docs/technical.md](docs/technical.md) f\u00fcr detaillierte technische Informationen.\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2025 Thomas Baer  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. ",
    "summary": "Tool zum Anzeigen und Bearbeiten von Solr-Dokumenten.",
    "version": "1.5.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/thomsbe/SolrHelper/issues",
        "Homepage": "https://github.com/thomsbe/SolrHelper",
        "Repository": "https://github.com/thomsbe/SolrHelper"
    },
    "split_keywords": [
        "solr",
        " helper",
        " flask",
        " htmx",
        " search",
        " admin"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a8a066c1468d6dfda55eee39b4e322b00a635384b07852fb92a970e6f6ab7036",
                "md5": "c5d69ca09db1f3dd8ad72bdafb1da39d",
                "sha256": "acb31d56164a1fa065e5595e9400cbe4bb1f3ee2ca1b61dbcf503a1fcf85af15"
            },
            "downloads": -1,
            "filename": "solr_helper-1.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c5d69ca09db1f3dd8ad72bdafb1da39d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.13,>=3.12",
            "size": 44652,
            "upload_time": "2025-07-08T13:10:46",
            "upload_time_iso_8601": "2025-07-08T13:10:46.577726Z",
            "url": "https://files.pythonhosted.org/packages/a8/a0/66c1468d6dfda55eee39b4e322b00a635384b07852fb92a970e6f6ab7036/solr_helper-1.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1e9a06be35f54d0fa0df62e96f5ab67e6b025baf67f251de86dff51a500cdbfb",
                "md5": "e850c3304b24d9fe6e342bf1be5d28e9",
                "sha256": "1026ac6364cf42ce3423b31e31cbabfc6315991242858a6f181d2627248b1564"
            },
            "downloads": -1,
            "filename": "solr_helper-1.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e850c3304b24d9fe6e342bf1be5d28e9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.12",
            "size": 40031,
            "upload_time": "2025-07-08T13:10:48",
            "upload_time_iso_8601": "2025-07-08T13:10:48.163318Z",
            "url": "https://files.pythonhosted.org/packages/1e/9a/06be35f54d0fa0df62e96f5ab67e6b025baf67f251de86dff51a500cdbfb/solr_helper-1.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-08 13:10:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "thomsbe",
    "github_project": "SolrHelper",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "solr-helper"
}
        
Elapsed time: 0.54277s