MegEngine Documents


    • Install sphinx>=2.0 and related dependencies by:

      pip3 install -U sphinx sphinx-autodoc-typehints sphinx-serve sphinxcontrib-jupyter nbsphinx jieba
      pip3 install git+
    • reStructuredText (RST) is used for document writing. HTML files can be generated from the RST files for document visualization.

      For more information about RST, please visit

    • Install doxygen and exhale for C++ doc building

      Make sure you have installed necessary build tools (i.e. g++, python, cmake, flex, bison)

      Install doxygen:

      git clone
      cd doxygen
      mkdir build
      cd build
      cmake -G "Unix Makefiles" ..
      make install

      Install exhale:

      pip install exhale

    Generate API document

    1. Make sure you have installed MegEngine.

      pip3 install megengine -f
    2. Make sure you have cloned MegBrain

      git clone
    3. Run gen_docs/ to generate HTML files. The script accepts the MegEngine installation and MegBrain clone path as the argument.

      ./gen_docs/ $MGB_ROOT $MGE_ROOT(optional)

      Note that the RST files generated from python docstring are put under source/autogen.

    4. Start local sphinx service by:

      sphinx-serve -b build -p 8000

    Write python API document

    • How documents are generated for python codes

      1. Write comments following docstring rules.
      2. Run sphinx tool to generate RST files from python docstring.
      3. Generate HTML files from RST.

      Refer to gen_docs/ for more details.

    • Example python docstring: see gen_docs/example/

    Run doctest in API document

    API docstring also contains examples written by doctest. Run the tests by

    gen_docs/ $MGB_ROOT $MGE_ROOT(optional)
    sphinx-build -b doctest source build/doctest

    If all tests are passed, you shall see the following similar printouts:

    Doctest summary
       16 tests
        0 failures in tests
        0 failures in setup code
        0 failures in cleanup code
    build succeeded.

    Otherwise, please fix any failed test or warning.

    Insert C++ doc hyperlink

    1. For class referencing:

    find the class rst file and copy its name and replace the doc with

    :ref:`exhale_class_<filename without .rst>`
    1. For file referencing:

    find the file and copy its name and replace the doc with


    Process of generate document

    " process"

    Preview link

    Run CI to generate preview link. Manually trigger is required.


    MegEngine Documentations



    贡献者 6

    M Megvii Engine Team @Megvii Engine Team
    X Xiao-Wei Chai CAO @Xiao-Wei Chai CAO
    X Xinran Xu @Xinran Xu
    Z ztjryg4 @ztjryg4
    F flashrunrun @flashrunrun
    M megvii-mge @megvii-mge


    • Python 76.4 %
    • C++ 12.2 %
    • Shell 11.5 %