Integrate your doxygen-generated technical documentation into Sphinx
Project description
Docleaf
Docleaf smoothly integrates your technical and long-form documentation. It is a Sphinx extension which reads Doxygen XML output and formats the information seamlessly with your user documentation.
License
Docleaf is licensed under the Parity Public License. The Parity license allows permissive use of Docleaf to help document open source projects. If you have a closed source project that you would like to document with Docleaf then you must purchase a commercial license. For further information please email support@docleaf.io.
Installation
Docleaf can be installed from PyPI:
pip install docleaf
Usage
Include docleaf.doxygen
as an extension in your Sphinx conf.py
file:
extensions = ["docleaf.doxygen"]
Configure the extenion to know where the Doxygen XML output has been generated for your project and optionally set the default project:
docleaf_projects = {
"my_project": "../doxygen/xml"
}
docleaf_default_project = "my_project"
The use the provided directives in your reStructuredText files:
.. doxygenstruct:: ExampleStruct
See below for available directives.
Directives
Generate documentation for a C++ class.
.. doxygenclass:: ClassName
Generate documentation for a C or C++ struct.
.. doxygenstruct:: StructName
Generate documentation for a C or C++ function.
.. doxygenfunction:: function_name
Generate documentation for a C or C++ enum.
.. doxygenenum:: EnumName
Generate documentation for specific group as specified within your Doxygen set up and code comments.
.. doxygengroup:: group_name
Settings
-
docleaf_projects
A Python dictionary mapping each project name to the folder where its Doxygen XML output is stored.
-
docleaf_default_project
The default project to use when none is specified on the directive itself.
-
docleaf_domain_by_extension
A Python dictionary mapping from file extension to Sphinx domain. Docleaf uses Doxygen's language classifications where possible but for optimal control of how source files are classified it is useful to use this setting. For example:
docleaf_domain_by_extension = {"hpp": "cpp", "h": "c"}
Will make sure that all files that end in
.hpp
will be considered as C++ files and processed using the C++ Sphinx domain whilst files that end in.h
will be considered C files and processed with the C Sphinx domain. -
docleaf_doxygen_skip
A list of instructions describing any parts of the Doxygen XML to skip when generating the output documentation. Supported entries are:
members:all_caps
- Skips any function or variable members (as defined as a 'memberdef' by Doxygen) which have names which are all capital letters and underscores. This is to allow users to filter our unprocessed C/C++ macros if desirable.xml-nodes:<node name>
- Skips reading and process of the given XML node and its children in the Doxygen XML output. Support is limited to thehtmlonly
node.
Performance
When doing a clean build of the Zephyr RTOS documentation suite, Docleaf is 2.1x faster than Breathe.
Benchmark: docleaf
Time (mean ± σ): 180.383 s ± 3.213 s [User: 448.242 s, System: 12.908 s]
Range (min … max): 175.695 s … 185.187 s 10 runs
Benchmark: breathe
Time (mean ± σ): 389.658 s ± 5.271 s [User: 1839.366 s, System: 24.895 s]
Range (min … max): 379.093 s … 394.315 s 10 runs
History
Docleaf is written and maintained by the creator of the Breathe project. It was created to resolve some of the performance and memory consumption issues with Breathe by re-writing the code base to use Rust. The user experience is designed to match Breathe.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for docleaf-0.3.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb9414c00db5409778658abe4551f0d4f5e59bda4e76949ee7522de93e9a19dd |
|
MD5 | d6c8213acb801a27819f832ed14270fb |
|
BLAKE2b-256 | ad54428b8366a8549bf67bd1a463bc0c67f1c2735ad0fd1ba4b3a40038904103 |
Hashes for docleaf-0.3.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8d16a73c436711e6ad5d0ddb2437932805336728d15183efc49ef3534b432f0 |
|
MD5 | b6d66d4238bc7c5762ef3a6f713d0004 |
|
BLAKE2b-256 | 661aeaf3af8d584ac1ab5b2d16a72c6b5da37513daf958f01a7528ee7b27cc5c |
Hashes for docleaf-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 977758187a2597f5db96c89128632303f903054f967b63b07eba56bc0996fe18 |
|
MD5 | 5f5d3b6204c669580cca28cac576877a |
|
BLAKE2b-256 | 4b4728de25cee5b2944af8022830eb3267fc1187bbc28cf22f04e01aa0549ec2 |
Hashes for docleaf-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e733401df079591085499b1461c26d2a0dfa512f3fa021b020f9f485d2fbde8d |
|
MD5 | 37a4afca435d4d6a35278f077f6c396e |
|
BLAKE2b-256 | 49ee7a4635dfe447a42c5c555759d9c4b7338dd31aebf5aa727465c36f63e12c |
Hashes for docleaf-0.3.0-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9e3202aaeedbd980937ae094079fe15cdf903a095d8059eb2d6402d775ed18b |
|
MD5 | 4846b96a098c0352c13c920cd1cf4075 |
|
BLAKE2b-256 | 5578d9fea20622e60e6054151847b4e04b5dfba5906b5dc5ef9286f05cb3fc45 |
Hashes for docleaf-0.3.0-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40725dea9db3bf74f4ad0f736ee57083b812d65e28f048b60c871a57321b9bd0 |
|
MD5 | de877baa47bfd38e4ee7a7aa45e8b2ea |
|
BLAKE2b-256 | 95538c6ce282a1afb452e8303b08a1d4b3c0a10a555a7782fdf17d8c87df079f |
Hashes for docleaf-0.3.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf9ce4e9dc5e2176956a016af52bd439e7714dc3dd2879afb9d80bb54ef83f02 |
|
MD5 | 9dd15f78887aab5b6b1d945218e07f61 |
|
BLAKE2b-256 | 58f8c3d5efdfbd1299571988440da7dd42302c4d0614a43d1f9ec20c5df6e6a3 |
Hashes for docleaf-0.3.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4183f0668e77c18dc15fc3faea8b3db3cad8a5da9f439b02e7eaf7164b8d6fb7 |
|
MD5 | 51761f04a661ce5a5ac6cb306a6cd656 |
|
BLAKE2b-256 | 0abccc6033376f7c599b40f9a7378c7f06f161f1b277a8d353b77632349104da |
Hashes for docleaf-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c11f7bad58ad55c0165aca6429ac7552de10d61a0b32a3416eabc26cd9fd7ca |
|
MD5 | c7d0b9aa1cc352ac327c5262ac11cf54 |
|
BLAKE2b-256 | 349d3774c3fc30d4ac932d077a4b80f8aca80b447a2bcde19b9826ea33cca71e |
Hashes for docleaf-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19b323d87744597f11e9ac7417202d7593874ae22b837c197256d1cde298d4e4 |
|
MD5 | ec62a2b1d73c4c73afcfc613ac8e1b83 |
|
BLAKE2b-256 | bb10797e8d3d817db7e7dbd74285157fb80f6404dcbb4a4c72365f2152305711 |
Hashes for docleaf-0.3.0-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf98b0205d0a0aee32b1a6a6520eb2d863211ab88c0f17d5e74c0c6dbd63f2a7 |
|
MD5 | 68b2b73f92600f31d402f28147f59c21 |
|
BLAKE2b-256 | 2f7eaeffe8c98db8508e10048323a7a5275e948e2f0e2cf9209a61cb5f7f3122 |
Hashes for docleaf-0.3.0-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e69590c091207e0f25f111e6e3197bbe9b5dcdc883cd300e3a1b5da531e01b1 |
|
MD5 | fddc40ef1499c9f26eaa227add632621 |
|
BLAKE2b-256 | 15be60a8487fee42405d44b11c697408799539fc1ed44bbadab30cbdf976f5cd |
Hashes for docleaf-0.3.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 204cefbfb9d6bb0ad1f9ca4deef6c2df99a1345e144d4fdb6cce5bc843d47112 |
|
MD5 | 575a29f73314ed1233b0da58d9ed405b |
|
BLAKE2b-256 | 449facc489bf73449dace61f554dc4c3e12dc1b75c1ce08763a802386c7caf39 |
Hashes for docleaf-0.3.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed9ffe62c4b4d88fc6683799a7253534ba863bddd7e8732344c74bf3e3e3a0d9 |
|
MD5 | 3a6b5a7f0bff195b320438844933dc81 |
|
BLAKE2b-256 | b707c837df97144d761340f590b8a43dff508e8c88a79cd40012e3ad6cd58bbb |
Hashes for docleaf-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e96521bfe4d0fef0a8f9762c5e83c52133021737f44eb4f4747ebbb9ae385f1b |
|
MD5 | bf9616097ce9578699b729b7f2d16f50 |
|
BLAKE2b-256 | a05dfd3a1d76f5c92e5e8a24ac8d9f951d52572b30a51297bb4b4d15336be35f |
Hashes for docleaf-0.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da8483224eb1286d0bc88c59681a66979d2bcdd5b01a84562eef24a5b9ddd514 |
|
MD5 | da8e649dc171ccf8f382c3ca74586970 |
|
BLAKE2b-256 | 888a5fce44e20411d1aafef1c439897a9205d4d017df62464c327c84aefc1800 |
Hashes for docleaf-0.3.0-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d64b0c4f7f555f5157d1def854c753658cf1527949f0a498de6c6e1455113722 |
|
MD5 | 7ab7682af173877dc26d1a8dceed50eb |
|
BLAKE2b-256 | ece5ee69b43d520fa1aa217bec34224f4185e3d17b71300c67e27aba4bcc2fb7 |
Hashes for docleaf-0.3.0-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d10f13703d92ef2f9305b1f929bb5077676f219a0a408fe8ecc97e16a92237b8 |
|
MD5 | 01aaeab718eeb8b2c0ea0b86f504b505 |
|
BLAKE2b-256 | a4164327f7e63550c098af923f937ae15bcf0a936bf82f65fd33d2ff98a4cd0c |
Hashes for docleaf-0.3.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f777e6b670df0a6fe530fe228c4677b2f33737c922be9be40fb3369921d86ca9 |
|
MD5 | cf6e2aca0e1bab780399c45dad2bafd5 |
|
BLAKE2b-256 | aa23b4cab6b36974d28f4ac4d8d2ff6bdb095e67ad77cf0bde5540007d290839 |
Hashes for docleaf-0.3.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f6bb3d802e08c1b4d019247dd1b7d0d83b7c0074be40d62421f1a502d7cb1b7 |
|
MD5 | e7c286cf40c2e56c063afd0c2f405f46 |
|
BLAKE2b-256 | 3c9e7329c04bf5409cee95c3629e1a734c1d99545eb3d75f6d64727705959163 |
Hashes for docleaf-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09d790fa8fcb909795612dc47ce46fd0dcdda7b6f49e89095becc7bc56c8554b |
|
MD5 | 2830043dbc929511f346461f37f42cd2 |
|
BLAKE2b-256 | ac9f9cda18a3e6acb0670a97c2d74df1b05d2ecadd98fa4b683498632c5ce339 |
Hashes for docleaf-0.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e26460c60455cbee52ec702d1f8fd66273d003fceeca317704a64c0dd8400a57 |
|
MD5 | 408fb16ff5bb328eb3f9068a12caed29 |
|
BLAKE2b-256 | d99414a74e35d617103d8e591bf7699af646b534a4af20f28ba3a9c6106661f3 |
Hashes for docleaf-0.3.0-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09411f9f5a4772df638cbc3dd65ad9acb9dae4854be68bc340a7a479985b62f9 |
|
MD5 | 7ab22cf121dd33c2ecb465663475b1d9 |
|
BLAKE2b-256 | 013be5e547e4d9a720df4bf51848306c2a988613c5b83e0734cd1cde2a6930cf |
Hashes for docleaf-0.3.0-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2245b24cbfd9feff62f411fac77da094963b0ef77b4177d0e3ac8a7fea91b631 |
|
MD5 | 1943952a61120f69a8513167b4e02a08 |
|
BLAKE2b-256 | e5333690986c4c4647967839b3b9a4bfcb691a85122c721b17cd5979707b231d |
Hashes for docleaf-0.3.0-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a437cd25b6f5d4f57c53158e57020b2dfce1036c1467236d78ab76ae49e160d |
|
MD5 | 2ab310734567c92451247e36d56a4125 |
|
BLAKE2b-256 | 8787658f58f4e234f25a79aa2e8f0fe8f4388fd7c129c13ea5f9f9887ea0aa79 |
Hashes for docleaf-0.3.0-cp37-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 276058e5ee0e12b9ef657a37f3fb2eac2c2afcd6433e8517875997cdd1dfeb37 |
|
MD5 | 1dbb280f969b7bfe3e5d02b21959880c |
|
BLAKE2b-256 | 37e1c9d4740cbbf99d5338d9c4b831f7cd82822b387faafffba2d67e88779437 |
Hashes for docleaf-0.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faf63facd82e549ea5d814d4879e9a40db2efa54a152bcea10b50bfb320f759f |
|
MD5 | 7a0cce78d83f826e1b8beae7234c0fca |
|
BLAKE2b-256 | efeb34721a217fa39d681e798b5201de23bd71627d3fcbdc2554d6e74d378a9e |
Hashes for docleaf-0.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 294d0b892aace2c6ca892fd4bcd259be25e7d502c81fa26718ed3b263a3702f6 |
|
MD5 | 8879e20eaaeb5cb566ffba2677914493 |
|
BLAKE2b-256 | a841d7de8116962c826cbeec2de88dec9772c8bd77f76234ce32cb0e1f80729a |
Hashes for docleaf-0.3.0-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6faab5fd1398d3a05bb9c4e111760cd17003bfa66341f8c8b1d9b11bccb377fb |
|
MD5 | 7cb5029e31a4d7adb7babb5a01f3cf00 |
|
BLAKE2b-256 | eb55dc2b79a3265b1e23b95709992b7174fe96598257a3e9e9d4594d30cf7cb0 |
Hashes for docleaf-0.3.0-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38ebefc8881e6f3a82e8ee097987ede05b66526c535f04412c9e7f700fc03a3d |
|
MD5 | cc3a13df1e1ed9f142085bc1fcf194ab |
|
BLAKE2b-256 | 81f109c2d76c5899b7059e7707202c4fee22063260279f04b207433e851eea41 |