anthropics / orjson
File Churn

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 87 files with 20,185 lines of code.
    • 1 file changed more than 100 times (396 lines of code)
    • 1 file changed 51-100 times (208 lines of code)
    • 7 files changed 21-50 times (1,172 lines of code)
    • 44 files changed 6-20 times (16,478 lines of code)
    • 34 files changed 1-5 times (1,931 lines of code)
1% | 1% | 5% | 81% | 9%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 87 files with 20,185 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 1 file changed by 11-25 contributors (208 lines of code)
    • 2 files changed by 6-10 contributors (529 lines of code)
    • 28 files changed by 2-5 contributors (11,588 lines of code)
    • 56 files changed by 1 contributor (7,860 lines of code)
0% | 1% | 2% | 57% | 38%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
json, rs, py, txt, yaml, toml, md, pyi, c, gitignore, h, gitattributes
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
rs4% | 2% | 13% | 58% | 21%
c0% | 0% | 0% | 100% | 0%
h0% | 0% | 0% | 100% | 0%
py0% | 0% | 0% | 75% | 24%
pyi0% | 0% | 0% | 100% | 0%
toml0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
src4% | 2% | 12% | 58% | 21%
ROOT0% | 0% | 100% | 0% | 0%
include0% | 0% | 0% | 100% | 0%
bench0% | 0% | 0% | 98% | 1%
pysrc0% | 0% | 0% | 56% | 43%
integration0% | 0% | 0% | 88% | 12%
ci0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
lib.rs
in src
396 1 2018-11-22 2026-05-05 101 10 +1552 / -1041 ijl@mailbox.org mamps@anthropic.com
208 1 2018-12-03 2026-05-05 71 12 +1003 / -762 ijl@mailbox.org mamps@anthropic.com
build.rs
in root
71 2 2020-04-01 2026-02-06 40 4 +333 / -247 ijl@mailbox.org yilei@anthropic.com
util.rs
in src
253 - 2019-09-21 2026-01-29 39 2 +532 / -237 ijl@mailbox.org ijl@mailbox.org
serializer.rs
in src/serialize
133 1 2021-01-19 2026-05-05 37 6 +706 / -565 ijl@mailbox.org mamps@anthropic.com
deserializer.rs
in src/deserialize
44 - 2021-01-19 2026-05-05 25 5 +392 / -334 ijl@mailbox.org mamps@anthropic.com
cache.rs
in src/deserialize
27 1 2020-07-24 2026-01-29 23 1 +113 / -77 ijl@mailbox.org ijl@mailbox.org
mod.rs
in src/ffi
104 - 2022-06-22 2026-05-05 23 4 +207 / -87 ijl@mailbox.org mamps@anthropic.com
dict.rs
in src/serialize/per_type
540 15 2023-09-20 2026-05-05 23 4 +1157 / -560 ijl@mailbox.org mamps@anthropic.com
mod.rs
in src/serialize
8 - 2020-07-24 2026-01-23 20 2 +39 / -27 ijl@mailbox.org ijl@mailbox.org
numpy.rs
in src/serialize/per_type
1346 73 2023-09-20 2026-05-05 20 4 +1796 / -293 ijl@mailbox.org mamps@anthropic.com
pyobject.rs
in src/deserialize
37 - 2022-06-03 2026-01-29 19 1 +187 / -144 ijl@mailbox.org ijl@mailbox.org
list.rs
in src/serialize/per_type
207 2 2023-09-20 2026-05-05 17 4 +343 / -124 ijl@mailbox.org mamps@anthropic.com
json.rs
in src/serialize/writer
522 65 2024-01-18 2026-02-06 17 2 +944 / -213 ijl@mailbox.org yilei@anthropic.com
12 1 2018-11-22 2026-01-29 16 2 +315 / -296 ijl@mailbox.org ijl@mailbox.org
fragment.rs
in src/ffi
198 1 2023-06-01 2026-01-29 16 2 +301 / -91 ijl@mailbox.org ijl@mailbox.org
13 1 2018-11-22 2026-01-29 15 2 +341 / -321 ijl@mailbox.org ijl@mailbox.org
yyjson.c
in include/yyjson
7308 128 2022-06-23 2026-02-06 15 2 +10657 / -1331 ijl@mailbox.org yilei@anthropic.com
uuid.rs
in src/serialize/per_type
41 1 2023-09-20 2026-01-29 14 1 +124 / -77 ijl@mailbox.org ijl@mailbox.org
error.rs
in src/serialize
74 1 2022-06-22 2026-02-07 14 2 +97 / -18 ijl@mailbox.org yilei@anthropic.com
int.rs
in src/serialize/per_type
85 2 2023-09-20 2026-01-29 14 1 +257 / -162 ijl@mailbox.org ijl@mailbox.org
byteswriter.rs
in src/serialize/writer
188 13 2024-01-18 2026-01-23 14 1 +413 / -197 ijl@mailbox.org ijl@mailbox.org
dataclass.rs
in src/serialize/per_type
195 3 2023-09-20 2026-01-29 14 1 +411 / -189 ijl@mailbox.org ijl@mailbox.org
util.py
in bench
13 1 2018-11-22 2026-01-29 13 2 +75 / -55 ijl@mailbox.org ijl@mailbox.org
yyjson.h
in include/yyjson
3969 200 2022-06-23 2024-04-30 13 1 +8336 / -412 ijl@mailbox.org ijl@mailbox.org
mod.rs
in src/deserialize
11 - 2020-07-24 2026-01-23 12 2 +31 / -16 ijl@mailbox.org ijl@mailbox.org
opt.rs
in src
35 - 2020-04-01 2026-02-07 12 2 +77 / -33 ijl@mailbox.org yilei@anthropic.com
error.rs
in src/deserialize
38 - 2021-06-01 2026-01-29 12 3 +138 / -92 em.jolibois@gmail.com ijl@mailbox.org
datetime.rs
in src/serialize/per_type
226 8 2023-09-20 2026-01-23 12 1 +337 / -84 ijl@mailbox.org ijl@mailbox.org
bytes.rs
in src/ffi
20 - 2022-06-22 2026-01-29 11 1 +71 / -44 ijl@mailbox.org ijl@mailbox.org
datetimelike.rs
in src/serialize/per_type
105 1 2023-09-20 2026-01-23 11 1 +214 / -64 ijl@mailbox.org ijl@mailbox.org
buffer.rs
in src/ffi
25 - 2022-06-22 2026-01-29 10 1 +45 / -14 ijl@mailbox.org ijl@mailbox.org
fragment.rs
in src/serialize/per_type
26 1 2023-09-20 2026-01-29 10 1 +78 / -45 ijl@mailbox.org ijl@mailbox.org
yyjson.rs
in src/deserialize/backend
318 14 2024-08-08 2026-05-05 10 3 +599 / -195 ijl@mailbox.org mamps@anthropic.com
mod.rs
in src/serialize/writer
11 - 2024-01-18 2026-01-29 9 1 +25 / -10 ijl@mailbox.org ijl@mailbox.org
wsgi.py
in integration
22 1 2018-11-23 2026-01-23 9 1 +51 / -20 ijl@mailbox.org ijl@mailbox.org
float.rs
in src/serialize/per_type
29 1 2023-09-20 2026-05-05 9 4 +56 / -18 ijl@mailbox.org mamps@anthropic.com
avx512.rs
in src/serialize/writer/str
67 - 2024-07-02 2026-01-23 9 1 +202 / -116 ijl@mailbox.org ijl@mailbox.org
generic.rs
in src/serialize/writer/str
77 - 2024-07-02 2026-01-23 9 1 +195 / -103 ijl@mailbox.org ijl@mailbox.org
scalar.rs
in src/serialize/writer/str
33 - 2024-07-02 2026-01-23 8 1 +53 / -12 ijl@mailbox.org ijl@mailbox.org
mod.rs
in src/serialize/per_type
33 - 2023-09-20 2026-02-06 8 2 +58 / -21 ijl@mailbox.org yilei@anthropic.com
unicode.rs
in src/serialize/per_type
51 2 2023-09-20 2026-01-23 8 1 +100 / -39 ijl@mailbox.org ijl@mailbox.org
default.rs
in src/serialize/per_type
51 1 2023-09-20 2026-01-23 8 1 +121 / -63 ijl@mailbox.org ijl@mailbox.org
sse2.rs
in src/serialize/writer/str
88 - 2024-08-08 2026-01-23 8 1 +222 / -115 ijl@mailbox.org ijl@mailbox.org
compat.rs
in src/ffi
237 - 2025-07-15 2026-01-29 8 1 +289 / -20 ijl@mailbox.org ijl@mailbox.org
formatter.rs
in src/serialize/writer
331 27 2024-01-18 2026-01-29 8 1 +575 / -203 ijl@mailbox.org ijl@mailbox.org
pybool.rs
in src/serialize/per_type
20 1 2023-09-20 2026-01-29 7 1 +36 / -10 ijl@mailbox.org ijl@mailbox.org
data.py
in bench
28 1 2021-11-19 2026-01-29 7 2 +84 / -41 akx@iki.fi ijl@mailbox.org
pyi
__init__.pyi
in pysrc/orjson
33 2 2023-01-04 2026-05-05 7 4 +54 / -9 ijl@mailbox.org mamps@anthropic.com
buffer.rs
in src/serialize
59 4 2024-11-01 2026-01-23 7 1 +120 / -47 ijl@mailbox.org ijl@mailbox.org
Files With Most Churn (Top 50)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
yyjson.c
in include/yyjson
7308 128 2022-06-23 2026-02-06 15 2 +10657 / -1331 ijl@mailbox.org yilei@anthropic.com
yyjson.h
in include/yyjson
3969 200 2022-06-23 2024-04-30 13 1 +8336 / -412 ijl@mailbox.org ijl@mailbox.org
lib.rs
in src
396 1 2018-11-22 2026-05-05 101 10 +1552 / -1041 ijl@mailbox.org mamps@anthropic.com
numpy.rs
in src/serialize/per_type
1346 73 2023-09-20 2026-05-05 20 4 +1796 / -293 ijl@mailbox.org mamps@anthropic.com
208 1 2018-12-03 2026-05-05 71 12 +1003 / -762 ijl@mailbox.org mamps@anthropic.com
dict.rs
in src/serialize/per_type
540 15 2023-09-20 2026-05-05 23 4 +1157 / -560 ijl@mailbox.org mamps@anthropic.com
serializer.rs
in src/serialize
133 1 2021-01-19 2026-05-05 37 6 +706 / -565 ijl@mailbox.org mamps@anthropic.com
json.rs
in src/serialize/writer
522 65 2024-01-18 2026-02-06 17 2 +944 / -213 ijl@mailbox.org yilei@anthropic.com
yyjson.rs
in src/deserialize/backend
318 14 2024-08-08 2026-05-05 10 3 +599 / -195 ijl@mailbox.org mamps@anthropic.com
formatter.rs
in src/serialize/writer
331 27 2024-01-18 2026-01-29 8 1 +575 / -203 ijl@mailbox.org ijl@mailbox.org
util.rs
in src
253 - 2019-09-21 2026-01-29 39 2 +532 / -237 ijl@mailbox.org ijl@mailbox.org
deserializer.rs
in src/deserialize
44 - 2021-01-19 2026-05-05 25 5 +392 / -334 ijl@mailbox.org mamps@anthropic.com
13 1 2018-11-22 2026-01-29 15 2 +341 / -321 ijl@mailbox.org ijl@mailbox.org
12 1 2018-11-22 2026-01-29 16 2 +315 / -296 ijl@mailbox.org ijl@mailbox.org
byteswriter.rs
in src/serialize/writer
188 13 2024-01-18 2026-01-23 14 1 +413 / -197 ijl@mailbox.org ijl@mailbox.org
dataclass.rs
in src/serialize/per_type
195 3 2023-09-20 2026-01-29 14 1 +411 / -189 ijl@mailbox.org ijl@mailbox.org
build.rs
in root
71 2 2020-04-01 2026-02-06 40 4 +333 / -247 ijl@mailbox.org yilei@anthropic.com
list.rs
in src/serialize/per_type
207 2 2023-09-20 2026-05-05 17 4 +343 / -124 ijl@mailbox.org mamps@anthropic.com
datetime.rs
in src/serialize/per_type
226 8 2023-09-20 2026-01-23 12 1 +337 / -84 ijl@mailbox.org ijl@mailbox.org
int.rs
in src/serialize/per_type
85 2 2023-09-20 2026-01-29 14 1 +257 / -162 ijl@mailbox.org ijl@mailbox.org
fragment.rs
in src/ffi
198 1 2023-06-01 2026-01-29 16 2 +301 / -91 ijl@mailbox.org ijl@mailbox.org
escape.rs
in src/serialize/writer/str
131 - 2024-07-02 2026-01-29 6 1 +249 / -111 ijl@mailbox.org ijl@mailbox.org
sse2.rs
in src/serialize/writer/str
88 - 2024-08-08 2026-01-23 8 1 +222 / -115 ijl@mailbox.org ijl@mailbox.org
pyobject.rs
in src/deserialize
37 - 2022-06-03 2026-01-29 19 1 +187 / -144 ijl@mailbox.org ijl@mailbox.org
avx512.rs
in src/serialize/writer/str
67 - 2024-07-02 2026-01-23 9 1 +202 / -116 ijl@mailbox.org ijl@mailbox.org
compat.rs
in src/ffi
237 - 2025-07-15 2026-01-29 8 1 +289 / -20 ijl@mailbox.org ijl@mailbox.org
generic.rs
in src/serialize/writer/str
77 - 2024-07-02 2026-01-23 9 1 +195 / -103 ijl@mailbox.org ijl@mailbox.org
pyintref.rs
in src/ffi
259 4 2026-01-29 2026-01-29 1 1 +296 / -0 ijl@mailbox.org ijl@mailbox.org
mod.rs
in src/ffi
104 - 2022-06-22 2026-05-05 23 4 +207 / -87 ijl@mailbox.org mamps@anthropic.com
datetimelike.rs
in src/serialize/per_type
105 1 2023-09-20 2026-01-23 11 1 +214 / -64 ijl@mailbox.org ijl@mailbox.org
object.rs
in src/ffi/pystrref
224 4 2026-01-23 2026-01-29 2 1 +257 / -1 ijl@mailbox.org ijl@mailbox.org
error.rs
in src/deserialize
38 - 2021-06-01 2026-01-29 12 3 +138 / -92 em.jolibois@gmail.com ijl@mailbox.org
uuid.rs
in src/serialize/per_type
41 1 2023-09-20 2026-01-29 14 1 +124 / -77 ijl@mailbox.org ijl@mailbox.org
cache.rs
in src/deserialize
27 1 2020-07-24 2026-01-29 23 1 +113 / -77 ijl@mailbox.org ijl@mailbox.org
obtype.rs
in src/serialize
138 - 2024-01-18 2026-05-05 7 4 +170 / -15 ijl@mailbox.org mamps@anthropic.com
default.rs
in src/serialize/per_type
51 1 2023-09-20 2026-01-23 8 1 +121 / -63 ijl@mailbox.org ijl@mailbox.org
87 - 2025-12-06 2026-01-29 2 1 +142 / -41 ijl@mailbox.org ijl@mailbox.org
buffer.rs
in src/serialize
59 4 2024-11-01 2026-01-23 7 1 +120 / -47 ijl@mailbox.org ijl@mailbox.org
unicode.rs
in src/serialize/per_type
51 2 2023-09-20 2026-01-23 8 1 +100 / -39 ijl@mailbox.org ijl@mailbox.org
input.rs
in src/deserialize
77 2 2026-01-23 2026-01-23 1 1 +111 / -21 ijl@mailbox.org ijl@mailbox.org
util.py
in bench
13 1 2018-11-22 2026-01-29 13 2 +75 / -55 ijl@mailbox.org ijl@mailbox.org
num.rs
in src/serialize/writer
99 2 2026-01-29 2026-02-06 3 2 +118 / -8 ijl@mailbox.org yilei@anthropic.com
data.py
in bench
28 1 2021-11-19 2026-01-29 7 2 +84 / -41 akx@iki.fi ijl@mailbox.org
fragment.rs
in src/serialize/per_type
26 1 2023-09-20 2026-01-29 10 1 +78 / -45 ijl@mailbox.org ijl@mailbox.org
pydictref.rs
in src/ffi
104 1 2026-01-29 2026-01-29 1 1 +121 / -2 ijl@mailbox.org ijl@mailbox.org
bytes.rs
in src/ffi
20 - 2022-06-22 2026-01-29 11 1 +71 / -44 ijl@mailbox.org ijl@mailbox.org
error.rs
in src/serialize
74 1 2022-06-22 2026-02-07 14 2 +97 / -18 ijl@mailbox.org yilei@anthropic.com
pytorch.rs
in src/serialize/per_type
85 1 2026-02-06 2026-05-05 2 3 +109 / -6 yilei@anthropic.com mamps@anthropic.com
opt.rs
in src
35 - 2020-04-01 2026-02-07 12 2 +77 / -33 ijl@mailbox.org yilei@anthropic.com
pyenum.rs
in src/serialize/per_type
26 1 2023-09-20 2026-01-23 5 1 +69 / -37 ijl@mailbox.org ijl@mailbox.org
Files With Most Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
208 1 2018-12-03 2026-05-05 71 12 +1003 / -762 ijl@mailbox.org mamps@anthropic.com
lib.rs
in src
396 1 2018-11-22 2026-05-05 101 10 +1552 / -1041 ijl@mailbox.org mamps@anthropic.com
serializer.rs
in src/serialize
133 1 2021-01-19 2026-05-05 37 6 +706 / -565 ijl@mailbox.org mamps@anthropic.com
deserializer.rs
in src/deserialize
44 - 2021-01-19 2026-05-05 25 5 +392 / -334 ijl@mailbox.org mamps@anthropic.com
build.rs
in root
71 2 2020-04-01 2026-02-06 40 4 +333 / -247 ijl@mailbox.org yilei@anthropic.com
mod.rs
in src/ffi
104 - 2022-06-22 2026-05-05 23 4 +207 / -87 ijl@mailbox.org mamps@anthropic.com
dict.rs
in src/serialize/per_type
540 15 2023-09-20 2026-05-05 23 4 +1157 / -560 ijl@mailbox.org mamps@anthropic.com
numpy.rs
in src/serialize/per_type
1346 73 2023-09-20 2026-05-05 20 4 +1796 / -293 ijl@mailbox.org mamps@anthropic.com
list.rs
in src/serialize/per_type
207 2 2023-09-20 2026-05-05 17 4 +343 / -124 ijl@mailbox.org mamps@anthropic.com
float.rs
in src/serialize/per_type
29 1 2023-09-20 2026-05-05 9 4 +56 / -18 ijl@mailbox.org mamps@anthropic.com
obtype.rs
in src/serialize
138 - 2024-01-18 2026-05-05 7 4 +170 / -15 ijl@mailbox.org mamps@anthropic.com
pyi
__init__.pyi
in pysrc/orjson
33 2 2023-01-04 2026-05-05 7 4 +54 / -9 ijl@mailbox.org mamps@anthropic.com
error.rs
in src/deserialize
38 - 2021-06-01 2026-01-29 12 3 +138 / -92 em.jolibois@gmail.com ijl@mailbox.org
yyjson.rs
in src/deserialize/backend
318 14 2024-08-08 2026-05-05 10 3 +599 / -195 ijl@mailbox.org mamps@anthropic.com
pytorch.rs
in src/serialize/per_type
85 1 2026-02-06 2026-05-05 2 3 +109 / -6 yilei@anthropic.com mamps@anthropic.com
util.rs
in src
253 - 2019-09-21 2026-01-29 39 2 +532 / -237 ijl@mailbox.org ijl@mailbox.org
mod.rs
in src/serialize
8 - 2020-07-24 2026-01-23 20 2 +39 / -27 ijl@mailbox.org ijl@mailbox.org
json.rs
in src/serialize/writer
522 65 2024-01-18 2026-02-06 17 2 +944 / -213 ijl@mailbox.org yilei@anthropic.com
fragment.rs
in src/ffi
198 1 2023-06-01 2026-01-29 16 2 +301 / -91 ijl@mailbox.org ijl@mailbox.org
12 1 2018-11-22 2026-01-29 16 2 +315 / -296 ijl@mailbox.org ijl@mailbox.org
yyjson.c
in include/yyjson
7308 128 2022-06-23 2026-02-06 15 2 +10657 / -1331 ijl@mailbox.org yilei@anthropic.com
13 1 2018-11-22 2026-01-29 15 2 +341 / -321 ijl@mailbox.org ijl@mailbox.org
error.rs
in src/serialize
74 1 2022-06-22 2026-02-07 14 2 +97 / -18 ijl@mailbox.org yilei@anthropic.com
util.py
in bench
13 1 2018-11-22 2026-01-29 13 2 +75 / -55 ijl@mailbox.org ijl@mailbox.org
mod.rs
in src/deserialize
11 - 2020-07-24 2026-01-23 12 2 +31 / -16 ijl@mailbox.org ijl@mailbox.org
opt.rs
in src
35 - 2020-04-01 2026-02-07 12 2 +77 / -33 ijl@mailbox.org yilei@anthropic.com
mod.rs
in src/serialize/per_type
33 - 2023-09-20 2026-02-06 8 2 +58 / -21 ijl@mailbox.org yilei@anthropic.com
data.py
in bench
28 1 2021-11-19 2026-01-29 7 2 +84 / -41 akx@iki.fi ijl@mailbox.org
__init__.py
in pysrc/orjson
25 - 2023-01-04 2026-02-07 5 2 +30 / -1 ijl@mailbox.org yilei@anthropic.com
typestubs.py
in integration
3 - 2022-05-30 2026-01-23 4 2 +9 / -1 em.jolibois@gmail.com ijl@mailbox.org
num.rs
in src/serialize/writer
99 2 2026-01-29 2026-02-06 3 2 +118 / -8 ijl@mailbox.org yilei@anthropic.com
cache.rs
in src/deserialize
27 1 2020-07-24 2026-01-29 23 1 +113 / -77 ijl@mailbox.org ijl@mailbox.org
pyobject.rs
in src/deserialize
37 - 2022-06-03 2026-01-29 19 1 +187 / -144 ijl@mailbox.org ijl@mailbox.org
uuid.rs
in src/serialize/per_type
41 1 2023-09-20 2026-01-29 14 1 +124 / -77 ijl@mailbox.org ijl@mailbox.org
int.rs
in src/serialize/per_type
85 2 2023-09-20 2026-01-29 14 1 +257 / -162 ijl@mailbox.org ijl@mailbox.org
dataclass.rs
in src/serialize/per_type
195 3 2023-09-20 2026-01-29 14 1 +411 / -189 ijl@mailbox.org ijl@mailbox.org
byteswriter.rs
in src/serialize/writer
188 13 2024-01-18 2026-01-23 14 1 +413 / -197 ijl@mailbox.org ijl@mailbox.org
yyjson.h
in include/yyjson
3969 200 2022-06-23 2024-04-30 13 1 +8336 / -412 ijl@mailbox.org ijl@mailbox.org
datetime.rs
in src/serialize/per_type
226 8 2023-09-20 2026-01-23 12 1 +337 / -84 ijl@mailbox.org ijl@mailbox.org
bytes.rs
in src/ffi
20 - 2022-06-22 2026-01-29 11 1 +71 / -44 ijl@mailbox.org ijl@mailbox.org
datetimelike.rs
in src/serialize/per_type
105 1 2023-09-20 2026-01-23 11 1 +214 / -64 ijl@mailbox.org ijl@mailbox.org
buffer.rs
in src/ffi
25 - 2022-06-22 2026-01-29 10 1 +45 / -14 ijl@mailbox.org ijl@mailbox.org
fragment.rs
in src/serialize/per_type
26 1 2023-09-20 2026-01-29 10 1 +78 / -45 ijl@mailbox.org ijl@mailbox.org
generic.rs
in src/serialize/writer/str
77 - 2024-07-02 2026-01-23 9 1 +195 / -103 ijl@mailbox.org ijl@mailbox.org
avx512.rs
in src/serialize/writer/str
67 - 2024-07-02 2026-01-23 9 1 +202 / -116 ijl@mailbox.org ijl@mailbox.org
mod.rs
in src/serialize/writer
11 - 2024-01-18 2026-01-29 9 1 +25 / -10 ijl@mailbox.org ijl@mailbox.org
wsgi.py
in integration
22 1 2018-11-23 2026-01-23 9 1 +51 / -20 ijl@mailbox.org ijl@mailbox.org
compat.rs
in src/ffi
237 - 2025-07-15 2026-01-29 8 1 +289 / -20 ijl@mailbox.org ijl@mailbox.org
default.rs
in src/serialize/per_type
51 1 2023-09-20 2026-01-23 8 1 +121 / -63 ijl@mailbox.org ijl@mailbox.org
unicode.rs
in src/serialize/per_type
51 2 2023-09-20 2026-01-23 8 1 +100 / -39 ijl@mailbox.org ijl@mailbox.org
Files With Least Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
yyjson.h
in include/yyjson
3969 200 2022-06-23 2024-04-30 13 1 +8336 / -412 ijl@mailbox.org ijl@mailbox.org
formatter.rs
in src/serialize/writer
331 27 2024-01-18 2026-01-29 8 1 +575 / -203 ijl@mailbox.org ijl@mailbox.org
pyintref.rs
in src/ffi
259 4 2026-01-29 2026-01-29 1 1 +296 / -0 ijl@mailbox.org ijl@mailbox.org
compat.rs
in src/ffi
237 - 2025-07-15 2026-01-29 8 1 +289 / -20 ijl@mailbox.org ijl@mailbox.org
datetime.rs
in src/serialize/per_type
226 8 2023-09-20 2026-01-23 12 1 +337 / -84 ijl@mailbox.org ijl@mailbox.org
object.rs
in src/ffi/pystrref
224 4 2026-01-23 2026-01-29 2 1 +257 / -1 ijl@mailbox.org ijl@mailbox.org
dataclass.rs
in src/serialize/per_type
195 3 2023-09-20 2026-01-29 14 1 +411 / -189 ijl@mailbox.org ijl@mailbox.org
byteswriter.rs
in src/serialize/writer
188 13 2024-01-18 2026-01-23 14 1 +413 / -197 ijl@mailbox.org ijl@mailbox.org
escape.rs
in src/serialize/writer/str
131 - 2024-07-02 2026-01-29 6 1 +249 / -111 ijl@mailbox.org ijl@mailbox.org
datetimelike.rs
in src/serialize/per_type
105 1 2023-09-20 2026-01-23 11 1 +214 / -64 ijl@mailbox.org ijl@mailbox.org
pydictref.rs
in src/ffi
104 1 2026-01-29 2026-01-29 1 1 +121 / -2 ijl@mailbox.org ijl@mailbox.org
pymemoryview.rs
in src/ffi
88 1 2026-01-23 2026-01-29 2 1 +104 / -0 ijl@mailbox.org ijl@mailbox.org
sse2.rs
in src/serialize/writer/str
88 - 2024-08-08 2026-01-23 8 1 +222 / -115 ijl@mailbox.org ijl@mailbox.org
87 - 2025-12-06 2026-01-29 2 1 +142 / -41 ijl@mailbox.org ijl@mailbox.org
int.rs
in src/serialize/per_type
85 2 2023-09-20 2026-01-29 14 1 +257 / -162 ijl@mailbox.org ijl@mailbox.org
pylistref.rs
in src/ffi
77 1 2026-01-29 2026-01-29 1 1 +92 / -0 ijl@mailbox.org ijl@mailbox.org
input.rs
in src/deserialize
77 2 2026-01-23 2026-01-23 1 1 +111 / -21 ijl@mailbox.org ijl@mailbox.org
generic.rs
in src/serialize/writer/str
77 - 2024-07-02 2026-01-23 9 1 +195 / -103 ijl@mailbox.org ijl@mailbox.org
avx512.rs
in src/serialize/writer/str
67 - 2024-07-02 2026-01-23 9 1 +202 / -116 ijl@mailbox.org ijl@mailbox.org
pyunicode_new.rs
in src/ffi/pystrref
64 - 2026-01-23 2026-01-29 2 1 +78 / -6 ijl@mailbox.org ijl@mailbox.org
ffi.rs
in src/deserialize/backend
63 - 2025-10-24 2026-01-23 3 1 +74 / -1 ijl@mailbox.org ijl@mailbox.org
avx512.rs
in src/ffi/pystrref
61 - 2026-01-23 2026-01-23 1 1 +75 / -0 ijl@mailbox.org ijl@mailbox.org
60 1 2026-01-23 2026-01-23 1 1 +71 / -0 ijl@mailbox.org ijl@mailbox.org
buffer.rs
in src/serialize
59 4 2024-11-01 2026-01-23 7 1 +120 / -47 ijl@mailbox.org ijl@mailbox.org
pytupleref.rs
in src/ffi
58 1 2026-01-29 2026-01-29 1 1 +70 / -0 ijl@mailbox.org ijl@mailbox.org
pybytesref.rs
in src/ffi
58 1 2026-01-23 2026-01-23 1 1 +69 / -0 ijl@mailbox.org ijl@mailbox.org
57 1 2026-01-29 2026-01-29 1 1 +68 / -0 ijl@mailbox.org ijl@mailbox.org
default.rs
in src/serialize/per_type
51 1 2023-09-20 2026-01-23 8 1 +121 / -63 ijl@mailbox.org ijl@mailbox.org
unicode.rs
in src/serialize/per_type
51 2 2023-09-20 2026-01-23 8 1 +100 / -39 ijl@mailbox.org ijl@mailbox.org
pyuuidref.rs
in src/ffi
46 1 2026-01-29 2026-01-29 1 1 +56 / -0 ijl@mailbox.org ijl@mailbox.org
pyboolref.rs
in src/ffi
46 1 2026-01-29 2026-01-29 1 1 +56 / -0 ijl@mailbox.org ijl@mailbox.org
state.rs
in src/serialize
45 - 2024-01-18 2026-01-23 5 1 +69 / -9 ijl@mailbox.org ijl@mailbox.org
pynoneref.rs
in src/ffi
41 1 2026-01-29 2026-01-29 1 1 +50 / -0 ijl@mailbox.org ijl@mailbox.org
uuid.rs
in src/serialize/per_type
41 1 2023-09-20 2026-01-29 14 1 +124 / -77 ijl@mailbox.org ijl@mailbox.org
pyfloatref.rs
in src/ffi
39 1 2026-01-29 2026-01-29 1 1 +48 / -0 ijl@mailbox.org ijl@mailbox.org
pyobject.rs
in src/deserialize
37 - 2022-06-03 2026-01-29 19 1 +187 / -144 ijl@mailbox.org ijl@mailbox.org
scalar.rs
in src/serialize/writer/str
33 - 2024-07-02 2026-01-23 8 1 +53 / -12 ijl@mailbox.org ijl@mailbox.org
scalar.rs
in src/ffi/pystrref
32 - 2026-01-23 2026-01-23 1 1 +39 / -0 ijl@mailbox.org ijl@mailbox.org
alloc.rs
in src
30 - 2025-01-08 2026-01-23 5 1 +51 / -11 ijl@mailbox.org ijl@mailbox.org
cache.rs
in src/deserialize
27 1 2020-07-24 2026-01-29 23 1 +113 / -77 ijl@mailbox.org ijl@mailbox.org
fragment.rs
in src/serialize/per_type
26 1 2023-09-20 2026-01-29 10 1 +78 / -45 ijl@mailbox.org ijl@mailbox.org
pyenum.rs
in src/serialize/per_type
26 1 2023-09-20 2026-01-23 5 1 +69 / -37 ijl@mailbox.org ijl@mailbox.org
buffer.rs
in src/ffi
25 - 2022-06-22 2026-01-29 10 1 +45 / -14 ijl@mailbox.org ijl@mailbox.org
wsgi.py
in integration
22 1 2018-11-23 2026-01-23 9 1 +51 / -20 ijl@mailbox.org ijl@mailbox.org
bytes.rs
in src/ffi
20 - 2022-06-22 2026-01-29 11 1 +71 / -44 ijl@mailbox.org ijl@mailbox.org
utf8.rs
in src/ffi
20 - 2026-01-23 2026-01-23 1 1 +26 / -0 ijl@mailbox.org ijl@mailbox.org
pybool.rs
in src/serialize/per_type
20 1 2023-09-20 2026-01-29 7 1 +36 / -10 ijl@mailbox.org ijl@mailbox.org
mod.rs
in src/serialize/writer/str
19 - 2024-07-02 2026-01-23 6 1 +49 / -20 ijl@mailbox.org ijl@mailbox.org
none.rs
in src/serialize/per_type
16 1 2023-09-20 2026-01-23 5 1 +26 / -4 ijl@mailbox.org ijl@mailbox.org
atomiculong.rs
in src/ffi
15 - 2025-10-24 2026-01-23 3 1 +25 / -4 ijl@mailbox.org ijl@mailbox.org
Correlations

File Size vs. Number of Changes: 87 points

pysrc/orjson/__init__.pyi x: 33 lines of code y: 7 # changes src/deserialize/backend/yyjson.rs x: 318 lines of code y: 10 # changes src/deserialize/deserializer.rs x: 44 lines of code y: 25 # changes src/ffi/mod.rs x: 104 lines of code y: 23 # changes src/lib.rs x: 396 lines of code y: 101 # changes src/serialize/obtype.rs x: 138 lines of code y: 7 # changes src/serialize/per_type/dict.rs x: 540 lines of code y: 23 # changes src/serialize/per_type/float.rs x: 29 lines of code y: 9 # changes src/serialize/per_type/list.rs x: 207 lines of code y: 17 # changes src/serialize/per_type/numpy.rs x: 1346 lines of code y: 20 # changes src/serialize/per_type/pytorch.rs x: 85 lines of code y: 2 # changes src/serialize/serializer.rs x: 133 lines of code y: 37 # changes src/typeref.rs x: 208 lines of code y: 71 # changes pysrc/orjson/__init__.py x: 25 lines of code y: 5 # changes src/opt.rs x: 35 lines of code y: 12 # changes src/serialize/error.rs x: 74 lines of code y: 14 # changes src/serialize/per_type/mod.rs x: 33 lines of code y: 8 # changes build.rs x: 71 lines of code y: 40 # changes include/yyjson/yyjson.c x: 7308 lines of code y: 15 # changes src/serialize/writer/json.rs x: 522 lines of code y: 17 # changes src/serialize/writer/num.rs x: 99 lines of code y: 3 # changes bench/benchmark_dumps.py x: 12 lines of code y: 16 # changes bench/benchmark_loads.py x: 13 lines of code y: 15 # changes bench/util.py x: 13 lines of code y: 13 # changes src/deserialize/cache.rs x: 27 lines of code y: 23 # changes src/ffi/buffer.rs x: 25 lines of code y: 10 # changes src/ffi/compat.rs x: 237 lines of code y: 8 # changes src/ffi/pydictref.rs x: 104 lines of code y: 1 # changes src/ffi/pystrref/pyunicode_new.rs x: 64 lines of code y: 2 # changes src/serialize/writer/str/escape.rs x: 131 lines of code y: 6 # changes src/serialize/writer/formatter.rs x: 331 lines of code y: 8 # changes src/serialize/writer/mod.rs x: 11 lines of code y: 9 # changes src/ffi/bytes.rs x: 20 lines of code y: 11 # changes src/deserialize/pyobject.rs x: 37 lines of code y: 19 # changes src/ffi/fragment.rs x: 198 lines of code y: 16 # changes src/ffi/pyboolref.rs x: 46 lines of code y: 1 # changes src/ffi/pyfloatref.rs x: 39 lines of code y: 1 # changes src/ffi/pyfragmentref.rs x: 57 lines of code y: 1 # changes src/ffi/pyintref.rs x: 259 lines of code y: 1 # changes src/ffi/pylistref.rs x: 77 lines of code y: 1 # changes src/ffi/pystrref/object.rs x: 224 lines of code y: 2 # changes src/serialize/per_type/dataclass.rs x: 195 lines of code y: 14 # changes src/serialize/per_type/int.rs x: 85 lines of code y: 14 # changes src/serialize/per_type/pybool.rs x: 20 lines of code y: 7 # changes src/serialize/per_type/uuid.rs x: 41 lines of code y: 14 # changes src/util.rs x: 253 lines of code y: 39 # changes src/deserialize/mod.rs x: 11 lines of code y: 12 # changes src/ffi/utf8.rs x: 20 lines of code y: 1 # changes src/ffi/pystrref/mod.rs x: 9 lines of code y: 1 # changes src/serialize/per_type/unicode.rs x: 51 lines of code y: 8 # changes src/serialize/per_type/datetime.rs x: 226 lines of code y: 12 # changes integration/typestubs.py x: 3 lines of code y: 4 # changes integration/wsgi.py x: 22 lines of code y: 9 # changes src/alloc.rs x: 30 lines of code y: 5 # changes src/deserialize/backend/ffi.rs x: 63 lines of code y: 3 # changes src/ffi/atomiculong.rs x: 15 lines of code y: 3 # changes src/serialize/buffer.rs x: 59 lines of code y: 7 # changes src/serialize/mod.rs x: 8 lines of code y: 20 # changes src/serialize/per_type/datetimelike.rs x: 105 lines of code y: 11 # changes src/serialize/state.rs x: 45 lines of code y: 5 # changes src/serialize/writer/str/avx512.rs x: 67 lines of code y: 9 # changes src/serialize/writer/str/mod.rs x: 19 lines of code y: 6 # changes src/serialize/writer/str/sse2.rs x: 88 lines of code y: 8 # changes include/yyjson/yyjson.h x: 3969 lines of code y: 13 # changes bench/__init__.py x: 1 lines of code y: 2 # changes
101.0
# changes
  min: 1.0
  average: 10.99
  25th percentile: 2.0
  median: 8.0
  75th percentile: 14.0
  max: 101.0
0 7308.0
lines of code
min: 1.0 | average: 232.01 | 25th percentile: 26.0 | median: 57.0 | 75th percentile: 105.0 | max: 7308.0

Number of Contributors vs. Number of Changes: 87 points

pysrc/orjson/__init__.pyi x: 4 # contributors y: 7 # changes src/deserialize/backend/yyjson.rs x: 3 # contributors y: 10 # changes src/deserialize/deserializer.rs x: 5 # contributors y: 25 # changes src/ffi/mod.rs x: 4 # contributors y: 23 # changes src/lib.rs x: 10 # contributors y: 101 # changes src/serialize/per_type/float.rs x: 4 # contributors y: 9 # changes src/serialize/per_type/list.rs x: 4 # contributors y: 17 # changes src/serialize/per_type/numpy.rs x: 4 # contributors y: 20 # changes src/serialize/per_type/pytorch.rs x: 3 # contributors y: 2 # changes src/serialize/serializer.rs x: 6 # contributors y: 37 # changes src/typeref.rs x: 12 # contributors y: 71 # changes pysrc/orjson/__init__.py x: 2 # contributors y: 5 # changes src/opt.rs x: 2 # contributors y: 12 # changes src/serialize/error.rs x: 2 # contributors y: 14 # changes src/serialize/per_type/mod.rs x: 2 # contributors y: 8 # changes build.rs x: 4 # contributors y: 40 # changes include/yyjson/yyjson.c x: 2 # contributors y: 15 # changes src/serialize/writer/json.rs x: 2 # contributors y: 17 # changes src/serialize/writer/num.rs x: 2 # contributors y: 3 # changes bench/benchmark_dumps.py x: 2 # contributors y: 16 # changes bench/data.py x: 2 # contributors y: 7 # changes bench/util.py x: 2 # contributors y: 13 # changes src/deserialize/cache.rs x: 1 # contributors y: 23 # changes src/deserialize/error.rs x: 3 # contributors y: 12 # changes src/ffi/buffer.rs x: 1 # contributors y: 10 # changes src/ffi/compat.rs x: 1 # contributors y: 8 # changes src/ffi/pydictref.rs x: 1 # contributors y: 1 # changes src/ffi/pymemoryview.rs x: 1 # contributors y: 2 # changes src/serialize/writer/str/escape.rs x: 1 # contributors y: 6 # changes src/serialize/writer/mod.rs x: 1 # contributors y: 9 # changes src/ffi/bytes.rs x: 1 # contributors y: 11 # changes src/deserialize/pyobject.rs x: 1 # contributors y: 19 # changes src/serialize/per_type/dataclass.rs x: 1 # contributors y: 14 # changes src/serialize/per_type/pybool.rs x: 1 # contributors y: 7 # changes src/util.rs x: 2 # contributors y: 39 # changes src/serialize/per_type/datetime.rs x: 1 # contributors y: 12 # changes integration/typestubs.py x: 2 # contributors y: 4 # changes src/alloc.rs x: 1 # contributors y: 5 # changes src/deserialize/backend/ffi.rs x: 1 # contributors y: 3 # changes src/deserialize/backend/mod.rs x: 1 # contributors y: 4 # changes src/serialize/mod.rs x: 2 # contributors y: 20 # changes include/yyjson/yyjson.h x: 1 # contributors y: 13 # changes
101.0
# changes
  min: 1.0
  average: 10.99
  25th percentile: 2.0
  median: 8.0
  75th percentile: 14.0
  max: 101.0
0 12.0
# contributors
min: 1.0 | average: 1.86 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 12.0

Number of Contributors vs. File Size: 87 points

pysrc/orjson/__init__.pyi x: 4 # contributors y: 33 lines of code src/deserialize/backend/yyjson.rs x: 3 # contributors y: 318 lines of code src/deserialize/deserializer.rs x: 5 # contributors y: 44 lines of code src/ffi/mod.rs x: 4 # contributors y: 104 lines of code src/lib.rs x: 10 # contributors y: 396 lines of code src/serialize/obtype.rs x: 4 # contributors y: 138 lines of code src/serialize/per_type/dict.rs x: 4 # contributors y: 540 lines of code src/serialize/per_type/list.rs x: 4 # contributors y: 207 lines of code src/serialize/per_type/numpy.rs x: 4 # contributors y: 1346 lines of code src/serialize/per_type/pytorch.rs x: 3 # contributors y: 85 lines of code src/serialize/serializer.rs x: 6 # contributors y: 133 lines of code src/typeref.rs x: 12 # contributors y: 208 lines of code pysrc/orjson/__init__.py x: 2 # contributors y: 25 lines of code src/opt.rs x: 2 # contributors y: 35 lines of code src/serialize/error.rs x: 2 # contributors y: 74 lines of code build.rs x: 4 # contributors y: 71 lines of code include/yyjson/yyjson.c x: 2 # contributors y: 7308 lines of code src/serialize/writer/json.rs x: 2 # contributors y: 522 lines of code src/serialize/writer/num.rs x: 2 # contributors y: 99 lines of code src/deserialize/cache.rs x: 1 # contributors y: 27 lines of code src/deserialize/error.rs x: 3 # contributors y: 38 lines of code src/ffi/compat.rs x: 1 # contributors y: 237 lines of code src/ffi/pydictref.rs x: 1 # contributors y: 104 lines of code src/ffi/pystrref/pyunicode_new.rs x: 1 # contributors y: 64 lines of code src/serialize/writer/str/escape.rs x: 1 # contributors y: 131 lines of code src/serialize/writer/formatter.rs x: 1 # contributors y: 331 lines of code src/deserialize/pyobject.rs x: 1 # contributors y: 37 lines of code src/ffi/fragment.rs x: 2 # contributors y: 198 lines of code src/ffi/pyintref.rs x: 1 # contributors y: 259 lines of code src/ffi/pystrref/object.rs x: 1 # contributors y: 224 lines of code src/serialize/per_type/dataclass.rs x: 1 # contributors y: 195 lines of code src/util.rs x: 2 # contributors y: 253 lines of code include/yyjson/yyjson.h x: 1 # contributors y: 3969 lines of code
7308.0
lines of code
  min: 1.0
  average: 232.01
  25th percentile: 26.0
  median: 57.0
  75th percentile: 105.0
  max: 7308.0
0 12.0
# contributors
min: 1.0 | average: 1.86 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 12.0

Number of Changes vs. Line Churn: 927 points

.github/workflows/artifact.yaml x: 29 # changes y: 2666 line churn CHANGELOG.md x: 144 # changes y: 1502 line churn Cargo.lock x: 185 # changes y: 8658 line churn Cargo.toml x: 186 # changes y: 1006 line churn pyproject.toml x: 60 # changes y: 272 line churn pysrc/orjson/__init__.pyi x: 7 # changes y: 63 line churn src/deserialize/backend/yyjson.rs x: 10 # changes y: 794 line churn src/deserialize/deserializer.rs x: 25 # changes y: 726 line churn src/ffi/mod.rs x: 23 # changes y: 294 line churn src/lib.rs x: 101 # changes y: 2593 line churn src/serialize/per_type/dict.rs x: 23 # changes y: 1717 line churn src/serialize/per_type/float.rs x: 9 # changes y: 74 line churn src/serialize/per_type/list.rs x: 17 # changes y: 467 line churn src/serialize/per_type/numpy.rs x: 20 # changes y: 2089 line churn src/serialize/per_type/pytorch.rs x: 2 # changes y: 115 line churn src/serialize/serializer.rs x: 37 # changes y: 1271 line churn src/typeref.rs x: 71 # changes y: 1765 line churn test/test_api.py x: 37 # changes y: 801 line churn test/test_numpy.py x: 33 # changes y: 1971 line churn test/test_roundtrip.py x: 14 # changes y: 291 line churn test/test_type.py x: 51 # changes y: 1368 line churn pysrc/orjson/__init__.py x: 5 # changes y: 31 line churn src/opt.rs x: 12 # changes y: 110 line churn test/test_parsing.py x: 17 # changes y: 2081 line churn src/serialize/per_type/mod.rs x: 8 # changes y: 79 line churn build.rs x: 40 # changes y: 580 line churn include/yyjson/yyjson.c x: 15 # changes y: 11988 line churn src/serialize/writer/json.rs x: 17 # changes y: 1157 line churn src/serialize/writer/num.rs x: 3 # changes y: 126 line churn test/test_jsonchecker.py x: 16 # changes y: 425 line churn README.md x: 154 # changes y: 5663 line churn bench/benchmark_loads.py x: 15 # changes y: 662 line churn bench/util.py x: 13 # changes y: 130 line churn src/ffi/pydictref.rs x: 1 # changes y: 123 line churn src/serialize/writer/str/escape.rs x: 6 # changes y: 360 line churn src/ffi/bytes.rs x: 11 # changes y: 115 line churn src/deserialize/pyobject.rs x: 19 # changes y: 331 line churn src/util.rs x: 39 # changes y: 769 line churn test/test_memory.py x: 31 # changes y: 485 line churn test/test_dataclass.py x: 20 # changes y: 580 line churn integration/init x: 4 # changes y: 42 line churn test/test_datetime.py x: 28 # changes y: 1616 line churn test/test_fragment.py x: 5 # changes y: 1077 line churn test/test_default.py x: 18 # changes y: 601 line churn include/yyjson-reduce-unused.patch x: 2 # changes y: 1574 line churn test/test_ujson.py x: 14 # changes y: 1208 line churn test/requirements.txt x: 29 # changes y: 81 line churn include/pyo3/pyo3-build-config/src/impl_.rs x: 5 # changes y: 11792 line churn include/pyo3/pyo3-ffi/src/cpython/code.rs x: 4 # changes y: 1166 line churn include/pyo3/pyo3-ffi/src/cpython/unicodeobject.rs x: 6 # changes y: 3110 line churn include/pyo3/pyo3-ffi/src/datetime.rs x: 5 # changes y: 2820 line churn include/pyo3/pyo3-ffi/src/lib.rs x: 5 # changes y: 2046 line churn ci/azure-pipelines.yml x: 87 # changes y: 1852 line churn ci/azure-win.yml x: 44 # changes y: 206 line churn src/deserialize/yyjson.rs x: 19 # changes y: 1154 line churn src/serialize/writer/escape.rs x: 3 # changes y: 1000 line churn include/yyjson/yyjson.h x: 13 # changes y: 8748 line churn .github/workflows/linux.yaml x: 18 # changes y: 1070 line churn ci/azure-macos.yml x: 35 # changes y: 312 line churn src/serialize/json.rs x: 7 # changes y: 2982 line churn src/serialize/dict.rs x: 24 # changes y: 1392 line churn src/serialize/numpy.rs x: 25 # changes y: 3506 line churn ci/azure-debug.yml x: 21 # changes y: 146 line churn ci/azure-sdist.yml x: 27 # changes y: 178 line churn include/json/src/de.rs x: 4 # changes y: 5248 line churn include/json/src/map.rs x: 3 # changes y: 1886 line churn include/json/src/read.rs x: 2 # changes y: 2008 line churn include/json/src/value/de.rs x: 4 # changes y: 2788 line churn orjson.pyi x: 24 # changes y: 100 line churn include/yyjson.c x: 2 # changes y: 16036 line churn include/yyjson.h x: 3 # changes y: 11114 line churn json/perfect_float.patch x: 2 # changes y: 3338 line churn json/src/de.rs x: 2 # changes y: 7440 line churn json/src/ser.rs x: 3 # changes y: 4528 line churn json/tests/test.rs x: 3 # changes y: 4394 line churn encoding_rs/src/data.rs x: 2 # changes y: 228756 line churn encoding_rs/src/handles.rs x: 2 # changes y: 3934 line churn encoding_rs/src/lib.rs x: 2 # changes y: 12072 line churn encoding_rs/src/mem.rs x: 2 # changes y: 6690 line churn src/decode.rs x: 33 # changes y: 1114 line churn src/encode.rs x: 52 # changes y: 3898 line churn
228756.0
line churn
  min: 1.0
  average: 611.84
  25th percentile: 1.0
  median: 28.0
  75th percentile: 226.0
  max: 228756.0
0 186.0
# changes
min: 1.0 | average: 5.08 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 4.0 | max: 186.0

Number of Contributors vs. Line Churn: 87 points

pysrc/orjson/__init__.pyi x: 4 # contributors y: 63 line churn src/deserialize/backend/yyjson.rs x: 3 # contributors y: 794 line churn src/deserialize/deserializer.rs x: 5 # contributors y: 726 line churn src/ffi/mod.rs x: 4 # contributors y: 294 line churn src/lib.rs x: 10 # contributors y: 2593 line churn src/serialize/obtype.rs x: 4 # contributors y: 185 line churn src/serialize/per_type/dict.rs x: 4 # contributors y: 1717 line churn src/serialize/per_type/list.rs x: 4 # contributors y: 467 line churn src/serialize/per_type/numpy.rs x: 4 # contributors y: 2089 line churn src/serialize/per_type/pytorch.rs x: 3 # contributors y: 115 line churn src/serialize/serializer.rs x: 6 # contributors y: 1271 line churn src/typeref.rs x: 12 # contributors y: 1765 line churn pysrc/orjson/__init__.py x: 2 # contributors y: 31 line churn src/opt.rs x: 2 # contributors y: 110 line churn src/serialize/per_type/mod.rs x: 2 # contributors y: 79 line churn build.rs x: 4 # contributors y: 580 line churn include/yyjson/yyjson.c x: 2 # contributors y: 11988 line churn src/serialize/writer/json.rs x: 2 # contributors y: 1157 line churn bench/benchmark_dumps.py x: 2 # contributors y: 611 line churn bench/benchmark_loads.py x: 2 # contributors y: 662 line churn src/deserialize/cache.rs x: 1 # contributors y: 190 line churn src/deserialize/error.rs x: 3 # contributors y: 230 line churn src/ffi/buffer.rs x: 1 # contributors y: 59 line churn src/ffi/compat.rs x: 1 # contributors y: 309 line churn src/ffi/pydictref.rs x: 1 # contributors y: 123 line churn src/serialize/writer/str/escape.rs x: 1 # contributors y: 360 line churn src/serialize/writer/formatter.rs x: 1 # contributors y: 778 line churn src/serialize/writer/mod.rs x: 1 # contributors y: 35 line churn src/exception.rs x: 1 # contributors y: 183 line churn src/ffi/fragment.rs x: 2 # contributors y: 392 line churn src/ffi/pystrref/object.rs x: 1 # contributors y: 258 line churn src/serialize/per_type/dataclass.rs x: 1 # contributors y: 600 line churn src/serialize/per_type/int.rs x: 1 # contributors y: 419 line churn src/util.rs x: 2 # contributors y: 769 line churn include/yyjson/yyjson.h x: 1 # contributors y: 8748 line churn
11988.0
line churn
  min: 2.0
  average: 540.3
  25th percentile: 65.0
  median: 123.0
  75th percentile: 360.0
  max: 11988.0
0 12.0
# contributors
min: 1.0 | average: 1.86 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 12.0

File Size vs. Line Churn: 87 points

pysrc/orjson/__init__.pyi x: 33 lines of code y: 63 line churn src/deserialize/backend/yyjson.rs x: 318 lines of code y: 794 line churn src/deserialize/deserializer.rs x: 44 lines of code y: 726 line churn src/ffi/mod.rs x: 104 lines of code y: 294 line churn src/lib.rs x: 396 lines of code y: 2593 line churn src/serialize/obtype.rs x: 138 lines of code y: 185 line churn src/serialize/per_type/dict.rs x: 540 lines of code y: 1717 line churn src/serialize/per_type/list.rs x: 207 lines of code y: 467 line churn src/serialize/per_type/numpy.rs x: 1346 lines of code y: 2089 line churn src/serialize/per_type/pytorch.rs x: 85 lines of code y: 115 line churn src/serialize/serializer.rs x: 133 lines of code y: 1271 line churn src/typeref.rs x: 208 lines of code y: 1765 line churn pysrc/orjson/__init__.py x: 25 lines of code y: 31 line churn src/opt.rs x: 35 lines of code y: 110 line churn src/serialize/error.rs x: 74 lines of code y: 115 line churn build.rs x: 71 lines of code y: 580 line churn include/yyjson/yyjson.c x: 7308 lines of code y: 11988 line churn src/serialize/writer/json.rs x: 522 lines of code y: 1157 line churn src/serialize/writer/num.rs x: 99 lines of code y: 126 line churn bench/benchmark_dumps.py x: 12 lines of code y: 611 line churn bench/benchmark_loads.py x: 13 lines of code y: 662 line churn bench/util.py x: 13 lines of code y: 130 line churn src/deserialize/cache.rs x: 27 lines of code y: 190 line churn src/ffi/buffer.rs x: 25 lines of code y: 59 line churn src/ffi/compat.rs x: 237 lines of code y: 309 line churn src/ffi/pystrref/pyunicode_new.rs x: 64 lines of code y: 84 line churn src/serialize/writer/str/escape.rs x: 131 lines of code y: 360 line churn src/serialize/writer/formatter.rs x: 331 lines of code y: 778 line churn src/serialize/writer/mod.rs x: 11 lines of code y: 35 line churn src/ffi/bytes.rs x: 20 lines of code y: 115 line churn src/deserialize/pyobject.rs x: 37 lines of code y: 331 line churn src/exception.rs x: 87 lines of code y: 183 line churn src/ffi/fragment.rs x: 198 lines of code y: 392 line churn src/ffi/pyboolref.rs x: 46 lines of code y: 56 line churn src/ffi/pyintref.rs x: 259 lines of code y: 296 line churn src/ffi/pylistref.rs x: 77 lines of code y: 92 line churn src/ffi/pystrref/object.rs x: 224 lines of code y: 258 line churn src/serialize/per_type/dataclass.rs x: 195 lines of code y: 600 line churn src/serialize/per_type/int.rs x: 85 lines of code y: 419 line churn src/serialize/per_type/uuid.rs x: 41 lines of code y: 201 line churn src/util.rs x: 253 lines of code y: 769 line churn src/ffi/pystrref/scalar.rs x: 32 lines of code y: 39 line churn src/serialize/per_type/unicode.rs x: 51 lines of code y: 139 line churn src/serialize/per_type/datetime.rs x: 226 lines of code y: 421 line churn src/serialize/per_type/default.rs x: 51 lines of code y: 184 line churn src/serialize/buffer.rs x: 59 lines of code y: 167 line churn src/serialize/mod.rs x: 8 lines of code y: 66 line churn src/serialize/per_type/datetimelike.rs x: 105 lines of code y: 278 line churn src/serialize/writer/str/avx512.rs x: 67 lines of code y: 318 line churn src/serialize/writer/str/sse2.rs x: 88 lines of code y: 337 line churn include/yyjson/yyjson.h x: 3969 lines of code y: 8748 line churn
11988.0
line churn
  min: 2.0
  average: 540.3
  25th percentile: 65.0
  median: 123.0
  75th percentile: 360.0
  max: 11988.0
0 7308.0
lines of code
min: 1.0 | average: 232.01 | 25th percentile: 26.0 | median: 57.0 | 75th percentile: 105.0 | max: 7308.0