JSONL Manager

Italiano

Descrizione generale

JSONL Manager e uno strumento desktop sviluppato in Python (Tkinter) per -gestire, analizzare e convertire file JSONL- (JSON Lines), anche di dimensioni molto grandi. E pensato per utenti tecnici, sviluppatori, linguisti e data-analyst che devono -estrarre, filtrare e salvare parole- da dataset JSONL senza modificare i file originali.

Il programma e progettato per lavorare in modo -robusto e progressivo-: carica i dati a blocchi (chunk), aggiorna lo stato in tempo reale e resta utilizzabile anche con milioni di record, nei limiti della memoria disponibile.

---

Cosa fa
* Apre file JSONL (anche molto grandi)
* Aggiunge (append) piu file JSONL allo stesso dataset
* Mantiene il dataset in RAM senza mai modificare i file originali
* Analizza i record e individua i campi principali (es. word, lang_code, pos)
* Mostra lo stato del dataset (conteggi, errori, lingue, parti del discorso)
* Estrae parole per lingua (lang_code) in finestre dedicate
* Deduplica automaticamente le parole estratte
* Permette di copiare o salvare in TXT parole selezionate o l'intero elenco
* Gestisce finestre multiple indipendenti
* Fornisce un RESET totale sicuro e controllato

---

Funzioni principali
Apertura e caricamento
* Apri JSONL - carica un file JSONL e azzera il dataset precedente
* Aggiungi JSONL - aggiunge un file JSONL al dataset gia caricato
* Caricamento progressivo con indicatori di stato (righe lette, record validi e non validi)

Gestione lingue
* Analisi automatica dei lang_code presenti
* Selezione di una lingua - apertura finestra dedicata
* Scansione progressiva dei record
* Ordinamento e deduplicazione delle parole

Finestre lingua
* Elenco parole con selezione multipla
* Click destro - menu contestuale
  * Copia parole (selezione o tutto)
  * Salva parole in TXT (selezione o tutto)
* Le finestre possono restare aperte e lavorano in modo indipendente

Stato del dataset
* Numero totale di record
* File sorgenti caricati
* Record con campo word mancante o non valido
* Top 10 lingue (lang_code)
* Top 10 parti del discorso (pos)

Reset totale
* Chiusura di tutte le finestre aperte
* Azzeramento del dataset in RAM
* Pulizia dello stato interno
* Operazione progressiva per evitare blocchi dell'interfaccia

---

Splitter ed editor esterni
Il programma puo richiamare:
* Uno splitter esterno (eseguibile separato) per dividere file JSONL enormi
* Un editor di testo esterno per facilitare copia e incolla e ispezione dei file

JSONL Manager non integra lo split internamente - questa scelta mantiene il codice pulito, stabile e focalizzato sulla gestione e analisi.

---

Note importanti
* I file JSONL originali non vengono mai modificati
* Tutte le operazioni avvengono in memoria
* Le prestazioni dipendono dalla RAM disponibile
* Il programma e pensato per uso tecnico, non per editing manuale dei JSON

---

Autore
JSONL Manager
Sviluppato da Luigi Mongardi (IZ4BQV)
Data versione - 14-12-2025

---

English
General description

JSONL Manager is a desktop tool written in Python (Tkinter) designed to -manage, analyze and convert JSONL files- (JSON Lines), including very large datasets. It is intended for developers, linguists and data analysts who need to -extract, filter and save word lists- from JSONL sources without modifying the original files.

The program is built with a -robust, chunk-based architecture-: data is loaded progressively, the interface remains responsive, and real-time status updates are always visible.

---

What it does
* Opens JSONL files of any size (memory permitting)
* Appends multiple JSONL files into a single dataset
* Keeps the dataset in RAM without altering source files
* Analyzes records and detects key fields (e.g. word, lang_code, pos)
* Displays detailed dataset status
* Extracts language-specific word lists using lang_code
* Automatically deduplicates extracted words
* Allows copying or saving to TXT (selection or full list)
* Supports multiple independent language windows
* Provides a controlled TOTAL RESET mechanism

---

Main features
Loading and input
* Open JSONL - load a JSONL file and clear previous data
* Add JSONL - append a JSONL file to the current dataset
* Progressive loading with detailed status (lines read, valid and invalid records)

Language handling
* Automatic detection of available lang_code values
* Language selection opens a dedicated window
* Progressive scan of records
* Sorting and deduplication of words

Language windows
* Word list with extended multi-selection
* Right-click context menu
  * Copy words (selected or all)
  * Save words as TXT (selected or all)
* Windows can stay open and work independently
Dataset status

* Total number of records
* Source files loaded
* Records with missing or invalid word field
* Top 10 languages (lang_code)
* Top 10 parts of speech (pos)
Total reset

* Closes all open windows
* Clears dataset from memory
* Resets internal state
* Progressive execution to avoid UI freezing

---

External splitter and editor
The program can launch:
* An external JSONL splitter (separate executable) for huge files
* An external text editor for easier inspection and copy and paste

Splitting is intentionally kept external - this keeps JSONL Manager focused, stable and easy to maintain.

---

Important notes

* Original JSONL files are never modified
* All operations are performed in memory
* Performance depends on available RAM
* Designed for technical and analytical use

---

Author
JSONL Manager
Developed by Luigi Mongardi (IZ4BQV)
Version date - 14-12-2025