-
Notifications
You must be signed in to change notification settings - Fork 0
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.
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]
| 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.
| 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 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: 0 / 77.
| Metric | Count |
|---|---|
| Bot-attributed commits | 0 |
| Total commits considered | 77 |
There were no bot-attributed commits in the measured history.
| 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.
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.