11use pyo3:: prelude:: * ;
2- use pyo3:: types:: PyDict ;
3- use pyo3:: wrap_pymodule;
42
53pub mod buf_and_str;
64pub mod comparisons;
@@ -16,39 +14,41 @@ pub mod sequence;
1614pub mod subclassing;
1715
1816#[ pymodule]
19- fn pyo3_pytests ( py : Python < ' _ > , m : & PyModule ) -> PyResult < ( ) > {
20- #[ cfg( not( Py_LIMITED_API ) ) ]
21- m. add_wrapped ( wrap_pymodule ! ( buf_and_str:: buf_and_str) ) ?;
22- m. add_wrapped ( wrap_pymodule ! ( comparisons:: comparisons) ) ?;
23- #[ cfg( not( Py_LIMITED_API ) ) ]
24- m. add_wrapped ( wrap_pymodule ! ( datetime:: datetime) ) ?;
25- m. add_wrapped ( wrap_pymodule ! ( dict_iter:: dict_iter) ) ?;
26- m. add_wrapped ( wrap_pymodule ! ( misc:: misc) ) ?;
27- m. add_wrapped ( wrap_pymodule ! ( objstore:: objstore) ) ?;
28- m. add_wrapped ( wrap_pymodule ! ( othermod:: othermod) ) ?;
29- m. add_wrapped ( wrap_pymodule ! ( path:: path) ) ?;
30- m. add_wrapped ( wrap_pymodule ! ( pyclasses:: pyclasses) ) ?;
31- m. add_wrapped ( wrap_pymodule ! ( pyfunctions:: pyfunctions) ) ?;
32- m. add_wrapped ( wrap_pymodule ! ( sequence:: sequence) ) ?;
33- m. add_wrapped ( wrap_pymodule ! ( subclassing:: subclassing) ) ?;
17+ mod pyo3_pytests {
18+ use pyo3:: types:: { PyDict , PyModule } ;
19+ use pyo3:: PyResult ;
3420
35- // Inserting to sys.modules allows importing submodules nicely from Python
36- // e.g. import pyo3_pytests.buf_and_str as bas
21+ #[ pyo3]
22+ use {
23+ crate :: comparisons:: comparisons, crate :: dict_iter:: dict_iter, crate :: misc:: misc,
24+ crate :: objstore:: objstore, crate :: othermod:: othermod, crate :: path:: path,
25+ crate :: pyclasses:: pyclasses, crate :: pyfunctions:: pyfunctions, crate :: sequence:: sequence,
26+ crate :: subclassing:: subclassing,
27+ } ;
28+
29+ #[ pyo3]
30+ #[ cfg( not( Py_LIMITED_API ) ) ]
31+ use { crate :: buf_and_str:: buf_and_str, crate :: datetime:: datetime} ;
3732
38- let sys = PyModule :: import ( py, "sys" ) ?;
39- let sys_modules: & PyDict = sys. getattr ( "modules" ) ?. downcast ( ) ?;
40- sys_modules. set_item ( "pyo3_pytests.buf_and_str" , m. getattr ( "buf_and_str" ) ?) ?;
41- sys_modules. set_item ( "pyo3_pytests.comparisons" , m. getattr ( "comparisons" ) ?) ?;
42- sys_modules. set_item ( "pyo3_pytests.datetime" , m. getattr ( "datetime" ) ?) ?;
43- sys_modules. set_item ( "pyo3_pytests.dict_iter" , m. getattr ( "dict_iter" ) ?) ?;
44- sys_modules. set_item ( "pyo3_pytests.misc" , m. getattr ( "misc" ) ?) ?;
45- sys_modules. set_item ( "pyo3_pytests.objstore" , m. getattr ( "objstore" ) ?) ?;
46- sys_modules. set_item ( "pyo3_pytests.othermod" , m. getattr ( "othermod" ) ?) ?;
47- sys_modules. set_item ( "pyo3_pytests.path" , m. getattr ( "path" ) ?) ?;
48- sys_modules. set_item ( "pyo3_pytests.pyclasses" , m. getattr ( "pyclasses" ) ?) ?;
49- sys_modules. set_item ( "pyo3_pytests.pyfunctions" , m. getattr ( "pyfunctions" ) ?) ?;
50- sys_modules. set_item ( "pyo3_pytests.sequence" , m. getattr ( "sequence" ) ?) ?;
51- sys_modules. set_item ( "pyo3_pytests.subclassing" , m. getattr ( "subclassing" ) ?) ?;
33+ #[ pymodule_init]
34+ fn init ( m : & PyModule ) -> PyResult < ( ) > {
35+ let sys = PyModule :: import ( m. py ( ) , "sys" ) ?;
36+ let sys_modules: & PyDict = sys. getattr ( "modules" ) ?. downcast ( ) ?;
37+ #[ cfg( not( Py_LIMITED_API ) ) ]
38+ sys_modules. set_item ( "pyo3_pytests.buf_and_str" , m. getattr ( "buf_and_str" ) ?) ?;
39+ sys_modules. set_item ( "pyo3_pytests.comparisons" , m. getattr ( "comparisons" ) ?) ?;
40+ #[ cfg( not( Py_LIMITED_API ) ) ]
41+ sys_modules. set_item ( "pyo3_pytests.datetime" , m. getattr ( "datetime" ) ?) ?;
42+ sys_modules. set_item ( "pyo3_pytests.dict_iter" , m. getattr ( "dict_iter" ) ?) ?;
43+ sys_modules. set_item ( "pyo3_pytests.misc" , m. getattr ( "misc" ) ?) ?;
44+ sys_modules. set_item ( "pyo3_pytests.objstore" , m. getattr ( "objstore" ) ?) ?;
45+ sys_modules. set_item ( "pyo3_pytests.othermod" , m. getattr ( "othermod" ) ?) ?;
46+ sys_modules. set_item ( "pyo3_pytests.path" , m. getattr ( "path" ) ?) ?;
47+ sys_modules. set_item ( "pyo3_pytests.pyclasses" , m. getattr ( "pyclasses" ) ?) ?;
48+ sys_modules. set_item ( "pyo3_pytests.pyfunctions" , m. getattr ( "pyfunctions" ) ?) ?;
49+ sys_modules. set_item ( "pyo3_pytests.sequence" , m. getattr ( "sequence" ) ?) ?;
50+ sys_modules. set_item ( "pyo3_pytests.subclassing" , m. getattr ( "subclassing" ) ?) ?;
5251
53- Ok ( ( ) )
52+ Ok ( ( ) )
53+ }
5454}
0 commit comments