@@ -5,23 +5,25 @@ use pyo3::prelude::*;
55fn pdoc_pyo3_sample_library ( py : Python < ' _ > , m : & PyModule ) -> PyResult < ( ) > {
66
77 let submodule = PyModule :: new ( py, "submodule" ) ?;
8- submodule. add_function ( wrap_pyfunction ! ( func , submodule) ? ) ?;
8+ submodule. setattr ( "__doc__" , "This is a barebone PyO3 submodule with a child module." ) ?;
99 m. add_submodule ( submodule) ?;
1010
1111 let subsubmodule = PyModule :: new ( py, "subsubmodule" ) ?;
12+ subsubmodule. setattr ( "__doc__" , "This is a sub-submodule with a function member." ) ?;
1213 subsubmodule. add_function ( wrap_pyfunction ! ( func, subsubmodule) ?) ?;
1314 submodule. add_submodule ( subsubmodule) ?;
1415
1516 let explicit_submodule = PyModule :: new ( py, "explicit_submodule" ) ?;
16- explicit_submodule. add_function ( wrap_pyfunction ! ( func , explicit_submodule ) ? ) ?;
17+ explicit_submodule. setattr ( "__doc__" , "This is a submodule that has been explicitly registered in sys.modules." ) ?;
1718 m. add_submodule ( explicit_submodule) ?;
1819 py. import ( "sys" ) ?
1920 . getattr ( "modules" ) ?
2021 . set_item ( "pdoc_pyo3_sample_library.explicit_submodule" , explicit_submodule) ?;
2122
2223 let correct_name_submodule = PyModule :: new ( py, "correct_name_submodule" ) ?;
23- correct_name_submodule. add_function ( wrap_pyfunction ! ( func , correct_name_submodule ) ? ) ?;
24+ correct_name_submodule. setattr ( "__doc__" , "This is a submodule with a patched __name__ to include the parent module name." ) ?;
2425 m. add_submodule ( correct_name_submodule) ?;
26+ // Needs to happen after .add_submodule()
2527 correct_name_submodule. setattr ( "__name__" , "pdoc_pyo3_sample_library.correct_name_submodule" ) ?;
2628
2729 Ok ( ( ) )
0 commit comments