Avatar for the PyO3 user
PyO3
pyo3
BlogDocsChangelog

Add native_enum: expose Rust enums as Python enum.Enum subclasses

#6020
Comparing
wakita181009:native-enum
(
c0f95ea
) with
main
(
f57bda7
)
CodSpeed Performance Gauge
+13%
Untouched
105
New
6
Ignored
21
Archived
1

Benchmarks

133 total
native_enum_from_py_member
pyo3-benches/benches/bench_native_enum.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
N/A
N/A9.1 µs
native_enum_int_enum_class
pyo3-benches/benches/bench_native_enum.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
N/A
N/A423.9 ns
native_enum_int_enum_from_py_member
pyo3-benches/benches/bench_native_enum.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
N/A
N/A10.4 µs
native_enum_int_enum_to_py_member
pyo3-benches/benches/bench_native_enum.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
N/A
N/A2.5 µs
native_enum_py_enum_class
pyo3-benches/benches/bench_native_enum.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
N/A
N/A394.7 ns
native_enum_to_py_member
pyo3-benches/benches/bench_native_enum.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
N/A
N/A2.4 µs
bench_pyclass_create
pyo3-benches/benches/bench_pyclass.rs::benches::bench_pyclass
CodSpeed Performance Gauge
+13%
4.6 µs4.1 µs
err_new_without_gil
pyo3-benches/benches/bench_err.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-9%
1.2 µs1.3 µs
ordered_richcmp
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-7%
2.5 µs2.7 µs
critical_section_creation
pyo3-benches/benches/bench_critical_sections.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+5%
675 ns645.8 ns
clean_attach
pyo3-benches/benches/bench_attach.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+3%
2.6 µs2.5 µs
ordered_dunder_methods
pyo3-benches/benches/bench_comparisons.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-2%
2.6 µs2.6 µs
format_complex
pyo3-benches/benches/bench_pystring_from_fmt.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-2%
6.7 µs6.9 µs
vec_into_pyobject
pyo3-benches/benches/bench_intopyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-2%
2.9 µs2.9 µs
bytes_new_medium
pyo3-benches/benches/bench_intopyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+2%
1.6 µs1.6 µs
byte_slice_into_pyobject_medium
pyo3-benches/benches/bench_intopyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+2%
1.7 µs1.6 µs
test_many_keyword_arguments_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
+2%
19.6 µs19.3 µs
bench_call
pyo3-benches/benches/bench_pyclass.rs::benches::bench_pyclass
CodSpeed Performance Gauge
-2%
5.7 µs5.8 µs
bench_str
pyo3-benches/benches/bench_pyclass.rs::benches::bench_pyclass
CodSpeed Performance Gauge
-1%
4.2 µs4.3 µs
tuple_into_pyobject
pyo3-benches/benches/bench_tuple.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
2.7 µs2.7 µs
first_time_init
pyo3-benches/benches/bench_pyclass.rs::benches::bench_first_time_init
CodSpeed Performance Gauge
+1%
42.1 µs41.6 µs
test_simple_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
-1%
17 µs17.1 µs
vec_bytes_from_py_bytearray_medium
pyo3-benches/benches/bench_frompyobject.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
2.9 µs2.9 µs
test_simple_args_py
pytests/tests/test_pyfunctions.py
CodSpeed Performance Gauge
-1%
17.3 µs17.5 µs
test_method_call_py
pytests/tests/test_pyclasses.py
CodSpeed Performance Gauge
-1%
14.9 µs15 µs

Commits

Click on a commit to change the comparison range
Base
main
f57bda7
+12.89%
fix: use URL for NativeEnum doc link in proc-macro crate
ad12c50
2 months ago
by wakita181009
0%
fix: add native_enums.pyi stub for introspection test
18dcacb
2 months ago
by wakita181009
0%
fix: use String instead of &str in FromPyObject for abi3 compatibility
1dbd0c0
2 months ago
by wakita181009
0%
refactor: use `name` instead of `rename` for native_enum attributes
c0f95ea
2 months ago
by wakita181009
© 2026 CodSpeed Technology
Home Terms Privacy Docs