@@ -35,23 +35,23 @@ def get_class_funcs(module):
3535 return classes , functions , others
3636
3737
38- def write_module (module_name , filename , header = None ):
38+ def write_module (module_name , filename , header = None , template = False ):
3939 module = importlib .import_module (module_name )
4040 classes , functions , others = get_class_funcs (module )
4141
4242 fout = open (filename , 'w' )
4343 # write header
4444 if header is None :
4545 header = f'``{ module_name } `` module'
46- else :
47- header = header
4846 fout .write (header + '\n ' )
4947 fout .write ('=' * len (header ) + '\n \n ' )
5048 fout .write (f'.. currentmodule:: { module_name } \n ' )
5149 fout .write (f'.. automodule:: { module_name } \n \n ' )
5250
5351 # write autosummary
5452 fout .write ('.. autosummary::\n ' )
53+ if template :
54+ fout .write (' :template: class_template.rst\n ' )
5555 fout .write (' :toctree: generated/\n \n ' )
5656 for m in functions :
5757 fout .write (f' { m } \n ' )
@@ -205,16 +205,20 @@ def generate_train_docs(path='apis/auto/train/'):
205205 os .makedirs (path )
206206 write_module (module_name = 'brainpy.train.base' ,
207207 filename = os .path .join (path , 'base.rst' ),
208- header = 'Base Training Class' )
208+ header = 'Base Training Class' ,
209+ template = False )
209210 write_module (module_name = 'brainpy.train.online' ,
210211 filename = os .path .join (path , 'online.rst' ),
211- header = 'Online Training Method' )
212+ header = 'Online Training Method' ,
213+ template = False )
212214 write_module (module_name = 'brainpy.train.offline' ,
213215 filename = os .path .join (path , 'offline.rst' ),
214- header = 'Offline Training Method' )
216+ header = 'Offline Training Method' ,
217+ template = False )
215218 write_module (module_name = 'brainpy.train.back_propagation' ,
216219 filename = os .path .join (path , 'back_propagation.rst' ),
217- header = 'Back-propagation Training Method' )
220+ header = 'Back-propagation Training Method' ,
221+ template = False )
218222
219223
220224def generate_base_docs (path = 'apis/auto/' ):
@@ -491,43 +495,38 @@ def generate_math_docs(path='apis/auto/math/'):
491495
492496 module_and_name = [
493497 ('pre_syn_post' , '``pre-syn-post`` Transformations' ,),
494- ('sparse_matmul' , 'Sparse Matrix Multiplication' ,),
495- ('event_matmul' , 'Event-based Matrix Multiplication' ,),
496- ('spikegrad' , 'Surrogate Gradients for Spike Operation' ,),
498+ ('surrogate' , 'Surrogate Gradients' ,),
497499 ('op_register' , 'Operator Registration' ,),
498500 ('wrap_jax' , 'Other Operators' ,),
499501 ]
500502 write_submodules (module_name = 'brainpy.math.operators' ,
501503 filename = os .path .join (path , 'operators.rst' ),
502- header = 'Sparse & Event-based Operators' ,
504+ header = 'Brain Dynamics Modeling Operators' ,
505+ submodule_names = [k [0 ] for k in module_and_name ],
506+ section_names = [k [1 ] for k in module_and_name ])
507+
508+ module_and_name = [
509+ ('autograd' , 'Automatic Differentiation' ),
510+ ('controls' , 'Control Flows' ),
511+ # ('parallels', 'Parallel Compilation'),
512+ ('jit' , 'JIT Compilation' ),
513+ ('function' , 'Function to Object' ),
514+ ]
515+ write_submodules (module_name = 'brainpy.math.object_transform' ,
516+ filename = os .path .join (path , 'object_transform.rst' ),
517+ header = 'Object-oriented Transformation' ,
503518 submodule_names = [k [0 ] for k in module_and_name ],
504519 section_names = [k [1 ] for k in module_and_name ])
505520
506521 write_module (module_name = 'brainpy.math.activations' ,
507522 filename = os .path .join (path , 'activations.rst' ),
508523 header = 'Activation Functions' )
509- write_module (module_name = 'brainpy.math.autograd' ,
510- filename = os .path .join (path , 'autograd.rst' ),
511- header = 'Automatic Differentiation' )
512- write_module (module_name = 'brainpy.math.controls' ,
513- filename = os .path .join (path , 'controls.rst' ),
514- header = 'Control Flows' )
515-
516- write_module (module_name = 'brainpy.math.parallels' ,
517- filename = os .path .join (path , 'parallels.rst' ),
518- header = 'Parallel Compilation' )
519- write_module (module_name = 'brainpy.math.jit' ,
520- filename = os .path .join (path , 'jit.rst' ),
521- header = 'JIT Compilation' )
522- write_module (module_name = 'brainpy.math.jaxarray' ,
524+ write_module (module_name = 'brainpy.math.ndarray' ,
523525 filename = os .path .join (path , 'variables.rst' ),
524526 header = 'Math Variables' )
525527 write_module (module_name = 'brainpy.math.setting' ,
526528 filename = os .path .join (path , 'setting.rst' ),
527529 header = 'Setting' )
528- write_module (module_name = 'brainpy.math.function' ,
529- filename = os .path .join (path , 'function.rst' ),
530- header = 'Function' )
531530 write_module (module_name = 'brainpy.math.delayvars' ,
532531 filename = os .path .join (path , 'delay_vars.rst' ),
533532 header = 'Delay Variables' )
0 commit comments