Metadata-Version: 2.4
Name: eencijferho
Version: 0.1.2
Summary: Standalone backend processing toolkit for 1CijferHO
Author: Ash Sewnandan
Author-email: CEDA <info@cedanl.nl>
License: MIT
Project-URL: Homepage, https://github.com/cedanl/1cijferho
Project-URL: Repository, https://github.com/cedanl/1cijferho
Project-URL: Issues, https://github.com/cedanl/1cijferho/issues
Keywords: data-processing,education,higher-education,1cijferho,cbs
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Education
Requires-Python: <3.14,>=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=2.2.2
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: pandas>=2.2.3
Requires-Dist: plotly>=6.0.0
Requires-Dist: polars[excel]>=1.21.0
Requires-Dist: pyjanitor>=0.31.0
Requires-Dist: rich>=13.9.4
Requires-Dist: xlsxwriter>=3.2.2
Provides-Extra: frontend
Requires-Dist: streamlit>=1.41.1; extra == "frontend"
Requires-Dist: streamlit-extras>=0.6.0; extra == "frontend"
Provides-Extra: dev
Requires-Dist: ruff>=0.10.0; extra == "dev"
Requires-Dist: ydata-profiling>=4.10; extra == "dev"
Requires-Dist: sweetviz>=2.3; extra == "dev"
Requires-Dist: jupyter>=1.0; extra == "dev"
Dynamic: license-file

![Braille fonts](https://see.fontimg.com/api/rf5/DOeDd/MGE4NTM1Njg3NjZhNDZhZTgwNTE0MjE5YzUxMzA0OTgudHRm/VEVYVCBBTkFMWVNJUw/braille-cc0.png?r=dw&h=81&w=1250&fg=00B17E&bg=000000&s=65)

<div align="center">
  <h1>1CijferHO Tool</h1>

  <p>Maak 1cijferHO-data direct bruikbaar voor analyse en onderzoek</p>

  <p>
    <a href="#"><img src="https://custom-icon-badges.demolab.com/badge/Windows-0078D6?logo=windows11&logoColor=white" alt="Windows"></a>
    <a href="#"><img src="https://img.shields.io/badge/macOS-000000?logo=apple&logoColor=F0F0F0" alt="macOS"></a>
    <a href="#"><img src="https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black" alt="Linux"></a>
    <img src="https://badgen.net/github/last-commit/cedanl/1cijferho" alt="GitHub Last Commit">
    <img src="https://badgen.net/github/contributors/cedanl/1cijferho" alt="Contributors">
    <img src="https://img.shields.io/github/license/cedanl/1cijferho" alt="GitHub License">
  </p>

</div>

## Wat is het?

De 1CijferHO Tool automatiseert het verwerken van 1cijferHO-data, zoals:
- **ASCII-bestanden** zonder duidelijke scheiding tussen velden.
- **Metadata-bestanden** in ongestructureerde .txt-indeling.

Met deze tool kun je in enkele minuten grote hoeveelheden data verwerken, zonder risico op fouten of verlies van gegevens.

> ℹ️ Benieuwd wat er op de planning staat? Bekijk de [roadmap](ROADMAP.md).

### 📑 Congrespresentatie(s)

Tijdens de DAIR-conferentie in 2025 hebben we de 1CijferHO Tool gepresenteerd. Bekijk de slides van de presentatie hieronder:

[📂 Presentatie DAIR 2025](presentatie-DAIR-2025.pdf)


## Waarom is dit belangrijk?

1cijferHO-data is essentieel voor beleidsvorming en onderzoek, maar het handmatig verwerken ervan kost veel tijd en brengt risico’s met zich mee. De 1CijferHO Tool biedt een oplossing die:
- **Tijd bespaart**: Verwerk gigabytes aan data in enkele minuten.
- **Betrouwbaar is**: Voorkomt fouten door automatische validatie.
- **Veilig werkt**: Anonimiseert gevoelige gegevens, zoals BSN’s.
- **Gebruiksklaar**: Levert schone CSV- of Parquet-bestanden voor directe analyse.


## Hoe werkt het?

1. **Start de tool** met één eenvoudige opdracht.
2. **Upload je bestanden** (data en metadata).
3. **Bekijk de resultaten**: Je krijgt direct schone, geoptimaliseerde bestanden.


## Aan de slag

### Stap 1: Download de tool
Je kunt de tool downloaden via GitHub:
- [Download ZIP-bestand](https://github.com/cedanl/1cijferho/archive/refs/heads/main.zip)
- Of gebruik Git:  
  ```bash
  git clone https://github.com/cedanl/1cijferho.git
  ```

### Stap 2: Installeer de tool
Voor installatie-instructies, zie de [Technische README](TECHNICAL_README.md).

### Stap 3: Installeer frontend (Streamlit) benodigdheden
Om de Streamlit-app te kunnen draaien, synchroniseer eerst de frontend dependencies:
```bash
uv sync --extra frontend
```

### Stap 4: Start de applicatie
Start daarna de app in je terminal:
```bash
uv run streamlit run src/main.py
```
De applicatie opent automatisch in je browser.


## Installeren als pakket

Gebruik je `eencijferho` als backend-bibliotheek in een bestaande Python-omgeving? Dan heb je de Streamlit-app niet nodig en kun je het pakket direct installeren:

```bash
# pip
pip install eencijferho

# poetry
poetry add eencijferho
```

Voor gebruik via de CLI na installatie:

```bash
# Volledige pipeline in één stap: van ruwe DUO-bestanden naar analyse-klare CSV/Parquet
eencijferho pipeline --input data/01-input --output data/02-output

# Of stap voor stap:

# Stap 1: Lees de .txt metadata-bestanden uit en sla ze op als JSON en Excel
eencijferho extract  --input data/01-input --output data/02-output

# Stap 2: Controleer of de metadata compleet is en of elk .asc bestand een bijpassend metadata-bestand heeft
eencijferho validate --input data/01-input --output data/02-output

# Stap 3: Converteer de fixed-width .asc bestanden naar CSV/Parquet op basis van de gevalideerde metadata
eencijferho convert  --input data/01-input --output data/02-output
```

---

## 🎬 Demo Video

Bekijk hieronder een korte demonstratie van hoe de 1CijferHO Tool werkt:

![Demo](src/assets/demo.gif)


## 🫂 Bijdragers

Dank aan alle mensen die hebben bijgedragen aan de ontwikkeling van de 1CijferHO Tool:

[![](https://github.com/asewnandan.png?size=50)](https://github.com/asewnandan)
[![](https://github.com/tin900.png?size=50)](https://github.com/tin900)
[![](https://github.com/Tomeriko96.png?size=50)](https://github.com/Tomeriko96)

