Skip to content

by the numbers

Douwe de Vries edited this page Jul 1, 2026 · 1 revision

By the numbers

Data collected: 2026-07-01.

These counts describe the tracked source-shaped project, excluding generated outputs and release artifacts. Read this with the overview for architecture context and lore for the history behind the current shape.

Language breakdown

xychart-beta
    title "Source language lines"
    x-axis ["Rust", "TSX", "TypeScript", "CSS", "JavaScript", "Python"]
    y-axis "Lines" 0 --> 18000
    bar [17658, 3907, 3322, 3139, 1491, 1400]
Loading
Language Files Lines
Rust 79 17,658
TSX 34 3,907
TypeScript 38 3,322
CSS 10 3,139
JavaScript 14 1,491
Python 4 1,400

Rust is the largest language by line count because the detector, CSV service, strategies, privacy report model, and tests live in crates/csv-anonymizer-core/src. The frontend is split across React components, hooks, typed command wrappers, and focused styles under frontend/src.

File categories

Category Files
Source 149
Test and bench 38
Config 48
Docs 10

Generated directories and packaged outputs are excluded from these numbers, including common build products such as target, dist, out, node_modules, and release artifacts.

Churn in the last 90 days

Churn here means commits touching a file during the 90 days before 2026-07-01.

Path Touches
package.json 67
CHANGELOG.md 65
build/linux/io.github.ddv1982.csv-data-anonymizer.metainfo.xml 63
Cargo.toml 54
Cargo.lock 53
src-tauri/tauri.conf.json 52
frontend/package.json 52
frontend/package-lock.json 52
README.md 29
.github/workflows/release.yml 25
frontend/src/App.tsx 21
docs/releasing.md 20
crates/csv-anonymizer-core/src/types.rs 20
crates/csv-anonymizer-core/src/service.rs 20

The highest-churn files show that release metadata, package manifests, and the shared Rust contract moved quickly alongside the product UI.

Bot-attributed commits

Bot-attributed commits: 0 / 77.

Metric Count
Bot-attributed commits 0
Total commits considered 77

There were no bot-attributed commits in the measured history.

Longest source files

Path Lines
crates/csv-anonymizer-core/src/types.rs 957
frontend/src/styles/controls.css 906
frontend/src/styles/data.css 841
scripts/build_apt_repository.py 662
scripts/validate_linux_package_metadata.py 647
crates/csv-anonymizer-core/src/service.rs 606

The largest files are mostly shared data contracts, visual workflow styling, packaging automation, and the Rust service boundary.

Complexity snapshot

Average size by active source area points to where changes tend to have the most context:

Directory Files Lines Average lines per file
crates 60 15,093 251.6
frontend 89 10,527 118.3
src-tauri 51 8,481 166.3
scripts 20 3,212 160.6
docs 8 1,872 234.0
.github 3 951 317.0

Exported or public symbols are concentrated in the shared contracts and command surfaces:

Area Exported/public symbols
crates/csv-anonymizer-core/src 313
frontend/src 159
src-tauri/src 108
crates/csv-anonymizer-app/src 4

The deepest operational flow is the CSV file path: React workflow hook to frontend/src/tauri.ts, Tauri command in src-tauri/src/commands/csv.rs, service call in crates/csv-anonymizer-core/src/service.rs, streaming IO in crates/csv-anonymizer-core/src/csv_io.rs, and report assembly in crates/csv-anonymizer-core/src/release_report.rs. See CSV file workflow for that chain.

Clone this wiki locally