Skip to content

Commit 0335ea2

Browse files
authored
Python upgrade (#301)
* Support modern Python versions * Simpler type hints! and simplifying requirements * Fix lint errors and default arg bug * Add benchmarks and windows benchmark * Updates * Fix duplicate copy * Improve actions
1 parent 06ae551 commit 0335ea2

17 files changed

Lines changed: 488 additions & 95 deletions

File tree

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
{
2+
"machine_info": {
3+
"python_implementation": "CPython",
4+
"python_version": "3.14.2",
5+
"system": "Darwin",
6+
"machine": "x86_64"
7+
},
8+
"commit_info": {
9+
"project": "ioc-finder"
10+
},
11+
"benchmarks": [
12+
{
13+
"group": null,
14+
"name": "test_benchmarks",
15+
"fullname": "ioc-finder/tests/benchmarks.py::test_benchmarks",
16+
"params": null,
17+
"param": null,
18+
"extra_info": {},
19+
"options": {
20+
"disable_gc": false,
21+
"timer": "perf_counter",
22+
"min_rounds": 5,
23+
"max_time": 1.0,
24+
"min_time": 5e-06,
25+
"warmup": false
26+
},
27+
"stats": {
28+
"min": 6.1091310160118155,
29+
"max": 6.795193650992587,
30+
"mean": 6.274858421599492,
31+
"stddev": 0.2926169548016136,
32+
"rounds": 5,
33+
"median": 6.145347348996438,
34+
"iqr": 0.22100444624084048,
35+
"q1": 6.124270894753863,
36+
"q3": 6.345275340994704,
37+
"iqr_outliers": 1,
38+
"stddev_outliers": 1,
39+
"outliers": "1;1",
40+
"ld15iqr": 6.1091310160118155,
41+
"hd15iqr": 6.795193650992587,
42+
"ops": 0.15936614546676817,
43+
"total": 31.374292107997462,
44+
"iterations": 1
45+
}
46+
},
47+
{
48+
"group": null,
49+
"name": "test_parse_urls",
50+
"fullname": "ioc-finder/tests/benchmarks.py::test_parse_urls",
51+
"params": null,
52+
"param": null,
53+
"extra_info": {},
54+
"options": {
55+
"disable_gc": false,
56+
"timer": "perf_counter",
57+
"min_rounds": 5,
58+
"max_time": 1.0,
59+
"min_time": 5e-06,
60+
"warmup": false
61+
},
62+
"stats": {
63+
"min": 0.6286013729986735,
64+
"max": 0.6878223899984732,
65+
"mean": 0.6575252394075506,
66+
"stddev": 0.025693680531590924,
67+
"rounds": 5,
68+
"median": 0.645065130025614,
69+
"iqr": 0.042248292767908424,
70+
"q1": 0.6407303129963111,
71+
"q3": 0.6829786057642195,
72+
"iqr_outliers": 0,
73+
"stddev_outliers": 2,
74+
"outliers": "2;0",
75+
"ld15iqr": 0.6286013729986735,
76+
"hd15iqr": 0.6878223899984732,
77+
"ops": 1.5208541666035957,
78+
"total": 3.2876261970377527,
79+
"iterations": 1
80+
}
81+
}
82+
],
83+
"datetime": "2026-03-05T12:20:54.781640+00:00",
84+
"version": "5.2.3"
85+
}

.benchmarks/Linux-CPython-3.10-64bit/0001_benchmark.json renamed to .benchmarks/Linux-CPython-3.14-64bit/0001_benchmark.json

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
{
22
"machine_info": {
3-
"node": "27a13e4be0d8",
3+
"node": "6359d78a850a",
44
"processor": "",
55
"machine": "x86_64",
6-
"python_compiler": "GCC 8.3.0",
6+
"python_compiler": "GCC 14.2.0",
77
"python_implementation": "CPython",
8-
"python_implementation_version": "3.10.2",
9-
"python_version": "3.10.2",
8+
"python_implementation_version": "3.14.3",
9+
"python_version": "3.14.3",
1010
"python_build": [
1111
"main",
12-
"Mar 2 2022 03:58:56"
12+
"Feb 24 2026 21:41:39"
1313
],
1414
"release": "5.10.104-linuxkit",
1515
"system": "Linux",
1616
"cpu": {
17-
"python_version": "3.10.2.final.0 (64 bit)",
17+
"python_version": "3.14.3.final.0 (64 bit)",
1818
"cpuinfo_version": [
1919
9,
2020
0,
@@ -34,7 +34,7 @@
3434
0
3535
],
3636
"hz_actual": [
37-
2198316000,
37+
2198283000,
3838
0
3939
],
4040
"stepping": 4,
@@ -112,20 +112,20 @@
112112
"xtpr"
113113
],
114114
"l3_cache_size": 4194304,
115-
"l2_cache_size": 262144,
116-
"l1_data_cache_size": 32768,
117-
"l1_instruction_cache_size": 32768,
115+
"l2_cache_size": 524288,
116+
"l1_data_cache_size": 65536,
117+
"l1_instruction_cache_size": 65536,
118118
"l2_cache_line_size": 256,
119119
"l2_cache_associativity": 6
120120
}
121121
},
122122
"commit_info": {
123-
"id": "3ec2e9bf011ed508b7994ac1dafc94d73d0f2269",
124-
"time": "2022-07-08T04:22:31-04:00",
125-
"author_time": "2022-07-08T04:22:31-04:00",
126-
"dirty": true,
123+
"id": "365776057bd5006712c2e850502fe3d4a64e6ab1",
124+
"time": "2026-03-04T06:51:28-05:00",
125+
"author_time": "2026-03-04T06:51:28-05:00",
126+
"dirty": false,
127127
"project": "ioc-finder",
128-
"branch": "main"
128+
"branch": "python-upgrade"
129129
},
130130
"benchmarks": [
131131
{
@@ -144,22 +144,22 @@
144144
"warmup": false
145145
},
146146
"stats": {
147-
"min": 6.62307798400002,
148-
"max": 11.762176740999962,
149-
"mean": 7.822174038599973,
150-
"stddev": 2.210649363715684,
147+
"min": 8.40746517599996,
148+
"max": 9.931324984999947,
149+
"mean": 9.073079455000016,
150+
"stddev": 0.7118874475206538,
151151
"rounds": 5,
152-
"median": 7.011211251999953,
153-
"iqr": 1.5581442862500126,
154-
"q1": 6.661986278499967,
155-
"q3": 8.22013056474998,
156-
"iqr_outliers": 1,
152+
"median": 8.686339327000042,
153+
"iqr": 1.255028826499995,
154+
"q1": 8.54243477700004,
155+
"q3": 9.797463603500034,
156+
"iqr_outliers": 0,
157157
"stddev_outliers": 1,
158-
"outliers": "1;1",
159-
"ld15iqr": 6.62307798400002,
160-
"hd15iqr": 11.762176740999962,
161-
"ops": 0.12784169657505878,
162-
"total": 39.11087019299987,
158+
"outliers": "1;0",
159+
"ld15iqr": 8.40746517599996,
160+
"hd15iqr": 9.931324984999947,
161+
"ops": 0.11021616254544288,
162+
"total": 45.36539727500008,
163163
"iterations": 1
164164
}
165165
},
@@ -179,26 +179,26 @@
179179
"warmup": false
180180
},
181181
"stats": {
182-
"min": 0.5990572059999977,
183-
"max": 0.6238025569999763,
184-
"mean": 0.6069684945999825,
185-
"stddev": 0.010547151800779047,
182+
"min": 0.9310449590000189,
183+
"max": 1.5596810150000238,
184+
"mean": 1.1110060828000314,
185+
"stddev": 0.2586722009110412,
186186
"rounds": 5,
187-
"median": 0.6011302180000939,
188-
"iqr": 0.014412642249965302,
189-
"q1": 0.5997208337499558,
190-
"q3": 0.6141334759999211,
187+
"median": 0.9978102200000194,
188+
"iqr": 0.25802668199986556,
189+
"q1": 0.9572627382501082,
190+
"q3": 1.2152894202499738,
191191
"iqr_outliers": 0,
192192
"stddev_outliers": 1,
193193
"outliers": "1;0",
194-
"ld15iqr": 0.5990572059999977,
195-
"hd15iqr": 0.6238025569999763,
196-
"ops": 1.6475319705993006,
197-
"total": 3.0348424729999124,
194+
"ld15iqr": 0.9310449590000189,
195+
"hd15iqr": 1.5596810150000238,
196+
"ops": 0.9000850809742945,
197+
"total": 5.555030414000157,
198198
"iterations": 1
199199
}
200200
}
201201
],
202-
"datetime": "2022-11-03T09:41:08.251239",
203-
"version": "3.4.1"
202+
"datetime": "2026-03-05T13:17:23.536937+00:00",
203+
"version": "5.2.3"
204204
}

0 commit comments

Comments
 (0)