saturn·

urban parking violations sample

saturn notebook · generated 2026-05-01 Report Notebook

Overview

Source: /home/coolhand/html/datavis/data_trove/data/urban/parking_violations_sample.csv

Saturn profiled 10,000 rows across 9 columns. The stats below are deterministic and machine-readable; the prose is a language-model interpretation of those stats (opt-in, added after the fact, never sees raw rows).

[2]:
!pip install saturn-dissect
import subprocess
subprocess.run([
    "saturn", "analyze", "/home/coolhand/html/datavis/data_trove/data/urban/parking_violations_sample.csv",
    "--findings", "urban-parking_violations_sample.json",
    "--llm", "anthropic:claude-opus-4-7",
])

Summary confidence: high

This is a 10,000-row sample of NYC-style parking violations with 9 columns covering summons IDs, issue dates and times, locations, violation codes/descriptions, issuing agencies, and vehicle make/color. Two things jump out: issue_date is heavily concentrated on a single day (2025-12-28 accounts for 65% of rows), and violation_description is dominated by 'PHTO SCHOOL ZN SPEED VIOLATION' at 52% of non-null values, paired with issuing_agency 'V' at 44% — suggesting the sample is skewed toward automated school-zone camera tickets. Vehicle_color also shows clear data-quality issues, with the same color appearing under multiple codes (e.g., WH/WHITE, BLK/BLACK/BK, GREY/GRY) that would need normalization before analysis. Violation_code is numeric with a ~10% outlier rate and right-skew, worth a look alongside the categorical description. Street_name is messy free text with 77% all-caps and many directional prefixes (SB, NB, WB, EB).

citing: row_count · column_count · issue_date.top_rate · issue_date.top_value · violation_description.top_rate · violation_description.top_value · violation_description.null_rate · issuing_agency.top_rate · issuing_agency.top_value · vehicle_color.top_values · vehicle_make.top_values · violation_code.outlier_rate · violation_code.skew · street_name.allcaps_rate

Out[4]:

saturn.schema() · 9 columns

column kind n null% unique alerts
summons_number numeric 10,000 0.0% 10,000
issue_date categorical 10,000 0.0% 687 long_tail
violation_code numeric 10,000 0.0% 62 outliers
violation_description categorical 10,000 15.1% 74
street_name text 10,000 0.0% 3,115 multilingual allcaps duplicates
vehicle_make categorical 10,000 0.8% 126
vehicle_color categorical 10,000 9.4% 99
violation_time text 10,000 0.0% 1,432 one_word allcaps short_text duplicates
issuing_agency categorical 10,000 0.0% 20
Fig 1.
violation_description · Check how dominant school-zone speed violations are versus all other categories.
Show data table
Top values for violation_description (20 unique shown, of 74 total).
valuecountshare
PHTO SCHOOL ZN SPEED VIOLATION441644.2%
No Parking Street Cleaning142814.3%
14-No Standing5986.0%
40-Fire Hydrant4634.6%
20A-No Parking (Non-COM)1311.3%
19-No Stand (bus stop)1231.2%
16A-No Std (Com Veh) Non-COM1171.2%
46A-Double Parking (Non-COM)1061.1%
Detached Trailer1051.1%
Fire Hydrant940.9%
71A-Insp Sticker Expired (NYS)770.8%
70A-Reg. Sticker Expired (NYS)660.7%
No Standing610.6%
Missing Equipment560.6%
50-Crosswalk530.5%
74-Missing Display Plate390.4%
13-No Stand (taxi stand)380.4%
17-No Stand (exc auth veh)380.4%
Double Parking320.3%
98-Obstructing Driveway310.3%
Fig 2.
issuing_agency · See the concentration in agency 'V' and how the remaining agencies split the rest.
Show data table
Top values for issuing_agency (20 unique shown, of 20 total).
valuecountshare
V441644.2%
T213121.3%
S194619.5%
P132513.2%
K410.4%
N380.4%
A230.2%
Y170.2%
M130.1%
O90.1%
C90.1%
880.1%
360.1%
X50.1%
930.0%
W30.0%
L20.0%
R20.0%
F20.0%
U10.0%
Fig 3.
vehicle_color · Look for duplicate color encodings (WH vs WHITE, BLK vs BLACK vs BK) signalling data-cleaning work.
Show data table
Top values for vehicle_color (20 unique shown, of 99 total).
valuecountshare
GY207920.8%
BK178417.8%
WH157915.8%
BL6316.3%
RD3483.5%
WHITE3473.5%
BLK2752.8%
BLACK2732.7%
GREY2392.4%
GRY1671.7%
GR1481.5%
BLUE1311.3%
RED1241.2%
GRAY1131.1%
SILVE991.0%
WHT650.7%
YW620.6%
BR600.6%
WHI570.6%
BLU460.5%
Fig 4.
violation_code · Inspect the right-skewed distribution and the ~10% of values flagged as outliers.
Show data table
Histogram bins for violation_code (median: 36.0).
bincount
4 – 6.3759
6.375 – 8.750
8.75 – 11.1248
11.12 – 13.538
13.5 – 15.88858
15.88 – 18.25216
18.25 – 20.62412
20.62 – 231483
23 – 25.3814
25.38 – 27.756
27.75 – 30.120
30.12 – 32.53
32.5 – 34.884
34.88 – 37.254426
37.25 – 39.624
39.62 – 42880
42 – 44.380
44.38 – 46.75376
46.75 – 49.1227
49.12 – 51.5162
51.5 – 53.8824
53.88 – 56.253
56.25 – 58.620
58.62 – 614
61 – 63.3828
63.38 – 65.757
65.75 – 68.12185
68.12 – 70.5105
70.5 – 72.88117
72.88 – 75.25121
75.25 – 77.6214
77.62 – 8076
80 – 82.3857
82.38 – 84.7514
84.75 – 87.1221
87.12 – 89.50
89.5 – 91.880
91.88 – 94.252
94.25 – 96.622
96.62 – 99254
Fig 5.
vehicle_make · Confirm the expected long tail behind Honda and Toyota among 126 distinct makes.
Show data table
Top values for vehicle_make (20 unique shown, of 126 total).
valuecountshare
HONDA133113.3%
TOYOT130213.0%
NISSA7707.7%
FORD6036.0%
BMW5595.6%
ME/BE5215.2%
JEEP4504.5%
CHEVR4494.5%
HYUND3653.6%
SUBAR2732.7%
KIA2682.7%
LEXUS2682.7%
MAZDA2572.6%
AUDI2422.4%
ACURA2212.2%
VOLKS1992.0%
DODGE1751.8%
TESLA1521.5%
INFIN1511.5%
GMC1341.3%
Fig 6.
Per-column null rate across the corpus. Columns are ordered by input position.
Show data table
Per-column null rate across the corpus.
columnkindnull %
summons_numbernumeric0.0%
issue_datecategorical0.0%
violation_codenumeric0.0%
violation_descriptioncategorical15.1%
street_nametext0.0%
vehicle_makecategorical0.8%
vehicle_colorcategorical9.4%
violation_timetext0.0%
issuing_agencycategorical0.0%
Fig 7.
Language mix across all text columns (per-string detection, sampled).
Show data table
Per-language counts (total 4,612 detected strings).
langcountshare
en359678.0%
ja61413.3%
es861.9%
zh591.3%
de561.2%
fr390.8%
nl250.5%
it210.5%
pt150.3%
ko140.3%
ca140.3%
ar140.3%
ru120.3%
cs100.2%
no90.2%
uk80.2%
eu50.1%
id40.1%
pl30.1%
gl10.0%
da10.0%
ms10.0%
te10.0%
ro10.0%
lt10.0%
sv10.0%
mk10.0%
Fig 8.
Pearson correlation across numeric columns (sampled, bounded).
Show data table
Pearson correlation across 2 numeric columns (values clipped to 2 decimals).
summons_numberviolation_code
summons_number+1.00-0.08
violation_code-0.08+1.00

summons_number numeric identifier

Every one of the 10,000 rows carries a distinct value (n_unique = 10000, null_rate = 0.0), and the magnitudes (min 1.12e9, max 9.26e9) match the size of NYC parking summons numbers. The wide spread (std ≈ 2.71e9) and lack of outliers reflect identifier allocation rather than a measurable quantity. Despite being typed numeric, no arithmetic interpretation applies.

Treatment: drop from modelling; retain only as a row key for joins.

anthropic:claude-opus-4-7 · confidence high
Out[14]:

saturn.columns["summons_number"].stats

statvalue
n10,000
nulls0 (0.0%)
unique10,000
min 1.125e+09
max 9.255e+09
mean 4.779e+09
median 4.976e+09
std 2.706e+09
q1 2.028e+09
q3 4.976e+09
iqr 2.948e+09
skew 0.4681
kurtosis -0.9135
n_outliers 0
outlier_rate 0
zero_rate 0
Fig 9.
Distribution of summons_number. Vertical dash marks the median.
Show data table
Histogram bins for summons_number (median: 4976262516.0).
bincount
1.125e+09 – 1.328e+099
1.328e+09 – 1.531e+091504
1.531e+09 – 1.735e+090
1.735e+09 – 1.938e+090
1.938e+09 – 2.141e+091945
2.141e+09 – 2.344e+090
2.344e+09 – 2.548e+090
2.548e+09 – 2.751e+090
2.751e+09 – 2.954e+090
2.954e+09 – 3.157e+090
3.157e+09 – 3.361e+090
3.361e+09 – 3.564e+090
3.564e+09 – 3.767e+090
3.767e+09 – 3.971e+090
3.971e+09 – 4.174e+090
4.174e+09 – 4.377e+090
4.377e+09 – 4.58e+090
4.58e+09 – 4.784e+090
4.784e+09 – 4.987e+094416
4.987e+09 – 5.19e+090
5.19e+09 – 5.393e+090
5.393e+09 – 5.597e+090
5.597e+09 – 5.8e+090
5.8e+09 – 6.003e+090
6.003e+09 – 6.206e+090
6.206e+09 – 6.41e+090
6.41e+09 – 6.613e+090
6.613e+09 – 6.816e+090
6.816e+09 – 7.019e+090
7.019e+09 – 7.223e+090
7.223e+09 – 7.426e+090
7.426e+09 – 7.629e+090
7.629e+09 – 7.832e+090
7.832e+09 – 8.036e+090
8.036e+09 – 8.239e+090
8.239e+09 – 8.442e+090
8.442e+09 – 8.646e+090
8.646e+09 – 8.849e+095
8.849e+09 – 9.052e+09174
9.052e+09 – 9.255e+091947

issue_date categorical timestamp

This is an issue_date column stored as ISO datetime strings, treated here as categorical across 687 distinct days with no nulls. The distribution is severely concentrated: 65.42% of all 10000 rows fall on 2025-12-28, with another 1594 on 2025-12-30 and 356 on 2025-12-29, meaning roughly 85% of issuance clusters in late December 2025 before tapering into a long tail through 2026. Entropy ratio of 0.29 confirms the heavy skew, and the year-end spike looks like a backfill or batch-load artifact worth confirming before treating this as a true event date.

Treatment: Parse to datetime and bucket by month or week; investigate the 2025-12-28 spike before using as a feature.

anthropic:claude-opus-4-7 · confidence high
Out[17]:

saturn.columns["issue_date"].stats

statvalue
n10,000
nulls0 (0.0%)
unique687
top_value 2025-12-28T00:00:00.000
top_rate 0.6542
cardinality 687
entropy 2.765
entropy_ratio 0.2934
alert: long_tail368 singleton categories
Fig 10.
Top values for issue_date.
Show data table
Top values for issue_date (20 unique shown, of 687 total).
valuecountshare
2025-12-28T00:00:00.000654265.4%
2025-12-30T00:00:00.000159415.9%
2025-12-29T00:00:00.0003563.6%
2026-06-26T00:00:00.000140.1%
2026-09-27T00:00:00.000130.1%
2026-09-25T00:00:00.000120.1%
2025-12-31T00:00:00.000120.1%
2026-06-27T00:00:00.000110.1%
2026-10-25T00:00:00.000100.1%
2026-08-31T00:00:00.000100.1%
2026-08-27T00:00:00.000100.1%
2026-07-26T00:00:00.000100.1%
2026-06-30T00:00:00.000100.1%
2026-08-25T00:00:00.00090.1%
2026-10-29T00:00:00.00080.1%
2026-10-17T00:00:00.00080.1%
2026-10-05T00:00:00.00080.1%
2026-09-23T00:00:00.00080.1%
2026-07-27T00:00:00.00080.1%
2026-07-24T00:00:00.00080.1%

violation_code numeric feature

This is almost certainly a categorical violation code stored as a number, with 62 distinct values across 10,000 rows and no nulls. Despite the numeric type, the distribution is meaningless as a quantity: values span 4 to 99, the IQR runs 21–36, and 10.07% of rows (1,007) flag as outliers under a numeric rule, with skew 1.51 and kurtosis 2.99. Median equals Q3 at 36, suggesting a heavy concentration at one or two dominant codes.

Treatment: Treat as categorical and one-hot or target-encode rather than using the raw integer.

anthropic:claude-opus-4-7 · confidence high
Out[20]:

saturn.columns["violation_code"].stats

statvalue
n10,000
nulls0 (0.0%)
unique62
min 4
max 99
mean 35.85
median 36
std 17.55
q1 21
q3 36
iqr 15
skew 1.514
kurtosis 2.986
n_outliers 1,007
outlier_rate 0.1007
zero_rate 0
alert: outliers10.1% rows beyond 1.5 IQR
Fig 11.
Distribution of violation_code. Vertical dash marks the median.
Show data table
Histogram bins for violation_code (median: 36.0).
bincount
4 – 6.3759
6.375 – 8.750
8.75 – 11.1248
11.12 – 13.538
13.5 – 15.88858
15.88 – 18.25216
18.25 – 20.62412
20.62 – 231483
23 – 25.3814
25.38 – 27.756
27.75 – 30.120
30.12 – 32.53
32.5 – 34.884
34.88 – 37.254426
37.25 – 39.624
39.62 – 42880
42 – 44.380
44.38 – 46.75376
46.75 – 49.1227
49.12 – 51.5162
51.5 – 53.8824
53.88 – 56.253
56.25 – 58.620
58.62 – 614
61 – 63.3828
63.38 – 65.757
65.75 – 68.12185
68.12 – 70.5105
70.5 – 72.88117
72.88 – 75.25121
75.25 – 77.6214
77.62 – 8076
80 – 82.3857
82.38 – 84.7514
84.75 – 87.1221
87.12 – 89.50
89.5 – 91.880
91.88 – 94.252
94.25 – 96.622
96.62 – 99254

violation_description categorical feature

Categorical column describing the parking/traffic violation issued, with 74 distinct codes across 10000 rows. It is heavily concentrated: 'PHTO SCHOOL ZN SPEED VIOLATION' alone covers 52.03% of records, with 'No Parking Street Cleaning' a distant second at 1428, yielding low entropy ratio 0.452. Note 15.13% of values are null, and the labels mix numeric-prefixed legal codes (e.g. '14-No Standing') with free-form descriptions like 'Fire Hydrant', some of which appear to duplicate the coded versions ('40-Fire Hydrant' vs 'Fire Hydrant').

Treatment: Normalise the coded vs free-text duplicates, then group rare categories before one-hot encoding.

anthropic:claude-opus-4-7 · confidence high
Out[23]:

saturn.columns["violation_description"].stats

statvalue
n10,000
nulls1,513 (15.1%)
unique74
top_value PHTO SCHOOL ZN SPEED VIOLATION
top_rate 0.5203
cardinality 74
entropy 2.808
entropy_ratio 0.4522
Fig 12.
Top values for violation_description.
Show data table
Top values for violation_description (20 unique shown, of 74 total).
valuecountshare
PHTO SCHOOL ZN SPEED VIOLATION441644.2%
No Parking Street Cleaning142814.3%
14-No Standing5986.0%
40-Fire Hydrant4634.6%
20A-No Parking (Non-COM)1311.3%
19-No Stand (bus stop)1231.2%
16A-No Std (Com Veh) Non-COM1171.2%
46A-Double Parking (Non-COM)1061.1%
Detached Trailer1051.1%
Fire Hydrant940.9%
71A-Insp Sticker Expired (NYS)770.8%
70A-Reg. Sticker Expired (NYS)660.7%
No Standing610.6%
Missing Equipment560.6%
50-Crosswalk530.5%
74-Missing Display Plate390.4%
13-No Stand (taxi stand)380.4%
17-No Stand (exc auth veh)380.4%
Double Parking320.3%
98-Obstructing Driveway310.3%

street_name text feature

Street-name strings, mostly truncated NYC traffic-camera or incident locations like 'SB CROSS BAY BLVD @' with directional prefixes (sb/wb/nb/eb) and '@' delimiters dominating the top words. Values are heavily repeated (68.8% duplicate rate, only 3,115 uniques in 10,000 rows) and 77.3% are all-caps; lengths cap sharply at 20 characters, suggesting upstream truncation. Language detection flags ja (614) and zh (59) alongside 3,596 en, but this is almost certainly a false positive on short ALL-CAPS abbreviations rather than genuine multilingual content.

Treatment: Normalise case, split off the directional prefix and the '@' cross-street, and treat as a categorical location feature.

anthropic:claude-opus-4-7 · confidence high
Out[26]:

saturn.columns["street_name"].stats

statvalue
n10,000
nulls4 (0.0%)
unique3,115
len_min 2
len_max 20
len_mean 14.87
len_median 16
len_p95 20
word_mean 3.513
word_median 3
n_empty 0
n_duplicates 6,881
duplicate_rate 0.6884
vocab_size 1,760
readability_flesch_mean 62.55
emoji_rate 0
url_rate 0
one_word_rate 0.01371
allcaps_rate 0.7732
boilerplate_rate 0
alert: multilingual28 languages detected in sample
alert: allcaps77.3% rows are all-caps
alert: duplicates68.8% duplicate strings
Fig 13.
Character-length distribution for street_name.
Show data table
Character-length distribution for street_name (mean: 14.871748699479792).
charscount
2 – 21
2 – 30
3 – 39
3 – 40
4 – 415
4 – 50
5 – 5150
5 – 60
6 – 6105
6 – 60
6 – 70
7 – 7533
7 – 80
8 – 8727
8 – 90
9 – 91009
9 – 100
10 – 10396
10 – 110
11 – 110
11 – 11415
11 – 120
12 – 12374
12 – 130
13 – 13489
13 – 140
14 – 14404
14 – 150
15 – 15344
15 – 160
16 – 160
16 – 16155
16 – 170
17 – 1790
17 – 180
18 – 18111
18 – 190
19 – 191013
19 – 200
20 – 203656

vehicle_make categorical feature

Categorical vehicle manufacturer codes, with HONDA leading at 13.4% of 9,922 non-null rows and TOYOT close behind at 1,302. Values appear truncated to 5 characters (TOYOT, NISSA, ME/BE, CHEVR, HYUND, SUBAR), which will fragment any join against full make names. Cardinality is 126 with entropy ratio 0.668, indicating a long but moderately concentrated tail, and nulls are negligible at 0.78%.

Treatment: Normalize the truncated codes to canonical make names, then target- or frequency-encode for modelling.

anthropic:claude-opus-4-7 · confidence high
Out[29]:

saturn.columns["vehicle_make"].stats

statvalue
n10,000
nulls78 (0.8%)
unique126
top_value HONDA
top_rate 0.1341
cardinality 126
entropy 4.661
entropy_ratio 0.668
Fig 14.
Top values for vehicle_make.
Show data table
Top values for vehicle_make (20 unique shown, of 126 total).
valuecountshare
HONDA133113.3%
TOYOT130213.0%
NISSA7707.7%
FORD6036.0%
BMW5595.6%
ME/BE5215.2%
JEEP4504.5%
CHEVR4494.5%
HYUND3653.6%
SUBAR2732.7%
KIA2682.7%
LEXUS2682.7%
MAZDA2572.6%
AUDI2422.4%
ACURA2212.2%
VOLKS1992.0%
DODGE1751.8%
TESLA1521.5%
INFIN1511.5%
GMC1341.3%

vehicle_color categorical feature

Vehicle color codes, but encoded inconsistently: short codes like GY (2079), BK (1784), WH (1579) coexist with verbose forms WHITE (347), BLACK (273), GREY (239), and alternate abbreviations BLK (275), GRY (167) for the same underlying colors. With 99 distinct values across 10000 rows and a 9.43% null rate, the cardinality is inflated by these duplicate encodings rather than true diversity. Entropy ratio of 0.55 reflects a heavy concentration in the gray/black/white tail.

Treatment: Normalize synonymous codes (e.g., BK/BLK/BLACK → black) before one-hot or target encoding.

anthropic:claude-opus-4-7 · confidence high
Out[32]:

saturn.columns["vehicle_color"].stats

statvalue
n10,000
nulls943 (9.4%)
unique99
top_value GY
top_rate 0.2295
cardinality 99
entropy 3.676
entropy_ratio 0.5545
Fig 15.
Top values for vehicle_color.
Show data table
Top values for vehicle_color (20 unique shown, of 99 total).
valuecountshare
GY207920.8%
BK178417.8%
WH157915.8%
BL6316.3%
RD3483.5%
WHITE3473.5%
BLK2752.8%
BLACK2732.7%
GREY2392.4%
GRY1671.7%
GR1481.5%
BLUE1311.3%
RED1241.2%
GRAY1131.1%
SILVE991.0%
WHT650.7%
YW620.6%
BR600.6%
WHI570.6%
BLU460.5%

violation_time text timestamp

This column encodes time-of-day stamps in a compact HHMM+AM/PM format (e.g. '0839A', '1200P'), with every value exactly 5 characters and uppercase. Duplication is high (85.67%) across 1,432 unique stamps, which is expected for clock times sampled across 10,000 records. Null rate is negligible (0.0004) and there are no empty strings.

Treatment: Parse the HHMMa/p format into a proper time-of-day (minutes since midnight) before modelling.

anthropic:claude-opus-4-7 · confidence high
Out[35]:

saturn.columns["violation_time"].stats

statvalue
n10,000
nulls4 (0.0%)
unique1,432
len_min 5
len_max 5
len_mean 5
len_median 5
len_p95 5
word_mean 1
word_median 1
n_empty 0
n_duplicates 8,564
duplicate_rate 0.8567
vocab_size 1,433
readability_flesch_mean 121.2
emoji_rate 0
url_rate 0
one_word_rate 0.9999
allcaps_rate 1
boilerplate_rate 0
alert: one_word100.0% rows are a single word
alert: allcaps100.0% rows are all-caps
alert: short_text95th-percentile length under 20 chars
alert: duplicates85.7% duplicate strings
Fig 16.
Character-length distribution for violation_time.
Show data table
Character-length distribution for violation_time (mean: 5.0).
charscount
4 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 59996
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 50
5 – 60

issuing_agency categorical feature

Single-letter codes for the agency issuing each record, drawn from a closed set of 20 values with no nulls. Distribution is heavily concentrated: 'V' alone covers 44.16% (4,416/10,000) and the top four codes (V, T, S, P) account for the bulk of rows, while letters like K, N, A, Y, M, O appear fewer than 50 times each. Entropy ratio of 0.46 confirms the imbalance.

Treatment: One-hot encode the top categories and bucket the long tail into 'other' before modelling.

anthropic:claude-opus-4-7 · confidence high
Out[38]:

saturn.columns["issuing_agency"].stats

statvalue
n10,000
nulls0 (0.0%)
unique20
top_value V
top_rate 0.4416
cardinality 20
entropy 2.007
entropy_ratio 0.4644
Fig 17.
Top values for issuing_agency.
Show data table
Top values for issuing_agency (20 unique shown, of 20 total).
valuecountshare
V441644.2%
T213121.3%
S194619.5%
P132513.2%
K410.4%
N380.4%
A230.2%
Y170.2%
M130.1%
O90.1%
C90.1%
880.1%
360.1%
X50.1%
930.0%
W30.0%
L20.0%
R20.0%
F20.0%
U10.0%

How to cite

click to copy

BibTeX
@misc{saturn-urban-parking-violations-sample-2026,
  author       = {Steuber, Luke},
  title        = {Saturn reading: urban parking violations sample},
  year         ={2026},
  howpublished = {\url{https://dr.eamer.dev/saturn/view/urban-parking_violations_sample}},
  note         = {Profiled with saturn-dissect v0.2.0, prompt saturn-insight-v2, model anthropic:claude-opus-4-7},
}
APA
Steuber, L. (2026). Saturn reading: urban parking violations sample. Source: /home/coolhand/html/datavis/data_trove/data/urban/parking_violations_sample.csv. Profiled with saturn-dissect v0.2.0 (saturn-insight-v2, anthropic:claude-opus-4-7). Retrieved from https://dr.eamer.dev/saturn/view/urban-parking_violations_sample