doxysip 0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- doxysip-0.1/DOCUMENTATION.rst +194 -0
- doxysip-0.1/LICENSE +28 -0
- doxysip-0.1/MANIFEST.in +4 -0
- doxysip-0.1/PKG-INFO +86 -0
- doxysip-0.1/README.rst +65 -0
- doxysip-0.1/pyproject.toml +31 -0
- doxysip-0.1/setup.cfg +4 -0
- doxysip-0.1/src/doxysip/__init__.py +53 -0
- doxysip-0.1/src/doxysip/combiner.py +456 -0
- doxysip-0.1/src/doxysip/directives.py +735 -0
- doxysip-0.1/src/doxysip/dox_struct.py +435 -0
- doxysip-0.1/src/doxysip/sip_struct.py +487 -0
- doxysip-0.1/src/doxysip.egg-info/PKG-INFO +86 -0
- doxysip-0.1/src/doxysip.egg-info/SOURCES.txt +15 -0
- doxysip-0.1/src/doxysip.egg-info/dependency_links.txt +1 -0
- doxysip-0.1/src/doxysip.egg-info/requires.txt +2 -0
- doxysip-0.1/src/doxysip.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
Documentation
|
|
2
|
+
=============
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
Getting Started
|
|
6
|
+
---------------
|
|
7
|
+
|
|
8
|
+
This how-to assumes we have a C++ code documented with Doxygen and a SIP project with
|
|
9
|
+
specification files (`.sip`) to bind this C++ code in Python.
|
|
10
|
+
Doxygen must be configured to produce XML output.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
1. Install Doxy-SIP in the Python environment alongside Sphinx:
|
|
14
|
+
|
|
15
|
+
.. code-block:: bash
|
|
16
|
+
|
|
17
|
+
pip install doxysip
|
|
18
|
+
|
|
19
|
+
2. Add Doxy-SIP to the list of loaded extensions in the Sphinx ``conf.py`` file:
|
|
20
|
+
|
|
21
|
+
.. code-block:: py
|
|
22
|
+
|
|
23
|
+
extensions = [
|
|
24
|
+
...,
|
|
25
|
+
'doxysip',
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
3. Add the required parameters in the Sphinx ``conf.py`` file:
|
|
29
|
+
|
|
30
|
+
.. code-block:: py
|
|
31
|
+
|
|
32
|
+
sip_toml_project = "path/to/sip/project"
|
|
33
|
+
sip_doxygen_project = "path/to/doxygen/xml/output"
|
|
34
|
+
|
|
35
|
+
4. Start using the doxysip directives in the doc source files to insert object documentation.
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
Extension configuration options
|
|
39
|
+
-------------------------------
|
|
40
|
+
|
|
41
|
+
**sip_toml_project** :
|
|
42
|
+
This option must contain a path to the directory containing the SIP project ``pyproject.toml``
|
|
43
|
+
that defines the binding modules.
|
|
44
|
+
|
|
45
|
+
**sip_doxygen_project** :
|
|
46
|
+
This option must contain a path to the directory containing the XML output produced by Doxygen.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
Docstring tags
|
|
50
|
+
--------------
|
|
51
|
+
|
|
52
|
+
If description data exists in both C++ and docstrings for the same object,
|
|
53
|
+
Doxy-SIP will combine the two according to an optional tag, present in
|
|
54
|
+
the first line of the docstring.
|
|
55
|
+
This tag does not appear in the final documentation text.
|
|
56
|
+
|
|
57
|
+
The SIP specification file should look like this::
|
|
58
|
+
|
|
59
|
+
%Docstring
|
|
60
|
+
\dox:[prepend|append|discard]
|
|
61
|
+
First line of description
|
|
62
|
+
%End
|
|
63
|
+
|
|
64
|
+
Tag values:
|
|
65
|
+
|
|
66
|
+
* `prepend` : the C++ description is added before the docstring content.
|
|
67
|
+
* `append` : the C++ description is added after the docstring content.
|
|
68
|
+
* `discard` (default) : the C++ data is discarded.
|
|
69
|
+
|
|
70
|
+
Notes:
|
|
71
|
+
|
|
72
|
+
- In the case of functions and methods, the arguments and result descriptions in C++ data (from
|
|
73
|
+
\\param or \\return tags) are kept if no tag is present, and is always placed after the
|
|
74
|
+
function description, regardless of the tag value.
|
|
75
|
+
- The docstring is processes as regular reStructuredText content so markup can be used.
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
Directives
|
|
79
|
+
----------
|
|
80
|
+
|
|
81
|
+
`..sip:specification:: [name]`
|
|
82
|
+
******************************
|
|
83
|
+
|
|
84
|
+
This directive sets the currently loaded SIP module specification. The name must be fully qualified.
|
|
85
|
+
|
|
86
|
+
Note: It must be used before any other Doxy-SIP directive. All other directives work with the module
|
|
87
|
+
loaded using this directive.
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
`..sip:module::`
|
|
91
|
+
****************
|
|
92
|
+
|
|
93
|
+
This directive inserts the content of the current module docstring.
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
`..sip:class:: [name]`
|
|
97
|
+
**********************
|
|
98
|
+
|
|
99
|
+
This directive inserts the description for the class defined in the current module.
|
|
100
|
+
|
|
101
|
+
Options:
|
|
102
|
+
|
|
103
|
+
`:members`: [filters]
|
|
104
|
+
Insert the documentation of the class members : sub-classes, methods, attributes, etc.
|
|
105
|
+
|
|
106
|
+
[filters] defines the filtering rules for displaying members. See the dedicated section below.
|
|
107
|
+
|
|
108
|
+
`:no-header`:
|
|
109
|
+
If set, the class header (class name, qualifiers and inheritance) is not generated and the content
|
|
110
|
+
for the class members (if generated) is not indented.
|
|
111
|
+
|
|
112
|
+
`:no-doc`:
|
|
113
|
+
If set, the class description is not generated.
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
`..sip:namespace:: [name]`
|
|
117
|
+
**************************
|
|
118
|
+
|
|
119
|
+
Namespaces are implemented by SIP as regular classes. To differentiate them, a ``[namespace]`` tag is added
|
|
120
|
+
as prefix to the class signature.
|
|
121
|
+
|
|
122
|
+
Options are the same as for ``..sip:class::``
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
`..sip:property:: [name]`
|
|
126
|
+
*************************
|
|
127
|
+
|
|
128
|
+
This directive describes a Python class property.
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
`..sip:enum:: [name]`
|
|
132
|
+
*********************
|
|
133
|
+
|
|
134
|
+
This directive describes an enumeration class.
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
`..sip:method:: [name]`
|
|
138
|
+
***********************
|
|
139
|
+
|
|
140
|
+
This directive describes a method.
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
`..sip:variable:: [name]`
|
|
144
|
+
*************************
|
|
145
|
+
|
|
146
|
+
This directive describes a variable/attribute.
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
`..sip:macro-constant:: [var_name] [macro_name]`
|
|
150
|
+
************************************************
|
|
151
|
+
|
|
152
|
+
This directive describes a C++ constant defined by a macro, and implemented in Python
|
|
153
|
+
as a constant global variable.
|
|
154
|
+
|
|
155
|
+
**var_name** : Python variable name
|
|
156
|
+
|
|
157
|
+
**macro_name** (optional): C++ macro name, if different from the Python variable name.
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
Member filtering
|
|
161
|
+
----------------
|
|
162
|
+
|
|
163
|
+
By defaults, the ``:member:`` option will display class/namespace members that are
|
|
164
|
+
*public* and documented (either in Doxygen or in SIP docstrings).
|
|
165
|
+
To add other members, filtering flags must be added as::
|
|
166
|
+
|
|
167
|
+
:members: [undoc|private|special|all]
|
|
168
|
+
|
|
169
|
+
The following member filters are define:
|
|
170
|
+
|
|
171
|
+
- ``undoc`` : if specified, undocumented members will be displayed.
|
|
172
|
+
- ``private`` : if specified, private members (i.e. with a Python name starting by an underscore)
|
|
173
|
+
will be displayed.
|
|
174
|
+
- ``special`` : if specified, special methods (i.e. with a Python name starting and ending
|
|
175
|
+
with a double underscore) will be displayed.
|
|
176
|
+
- ``all`` : if specified, all members will be displayed.
|
|
177
|
+
|
|
178
|
+
Notes:
|
|
179
|
+
|
|
180
|
+
* If several flags are specified, they are separated by a comma. Example: ``:members: undoc,private``
|
|
181
|
+
* An undocumented private member requires both ``undoc`` and ``private`` to be displayed. Idem for
|
|
182
|
+
an undocumented special method, both ``undoc`` and ``special`` are required.
|
|
183
|
+
|
|
184
|
+
A special filtering rule applies to constructors when displayed as part of a sip:class directive:
|
|
185
|
+
|
|
186
|
+
By default, SIP generates automatically *default* constructors for each class, where possible:
|
|
187
|
+
the no-argument constructor (``Class()``) and the copy constructor
|
|
188
|
+
(C++: ``Class(const Class&)``, Python: ``Class(a0: Class)``).
|
|
189
|
+
|
|
190
|
+
If the class has only *default* constructors, then they are only displayed if they are documented
|
|
191
|
+
(or the ``undoc`` flag is specified).
|
|
192
|
+
|
|
193
|
+
If the class has any *non-default* constructors, then all constructors are displayed, whether they're
|
|
194
|
+
documented or not.
|
doxysip-0.1/LICENSE
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026, C. Savergne <csavergne@yahoo.com>
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
|
6
|
+
modification, are permitted provided that the following conditions are met:
|
|
7
|
+
|
|
8
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
9
|
+
list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
+
this list of conditions and the following disclaimer in the documentation
|
|
13
|
+
and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
16
|
+
contributors may be used to endorse or promote products derived from
|
|
17
|
+
this software without specific prior written permission.
|
|
18
|
+
|
|
19
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
doxysip-0.1/MANIFEST.in
ADDED
doxysip-0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: doxysip
|
|
3
|
+
Version: 0.1
|
|
4
|
+
Summary: A Sphinx extension for semi-automatic class documentation from SIP bindings and Doxygen
|
|
5
|
+
Author-email: "C. Savergne" <csavergne@yahoo.com>
|
|
6
|
+
License-Expression: BSD-3-Clause
|
|
7
|
+
Project-URL: homepage, https://github.com/clesav/doxy-sip
|
|
8
|
+
Classifier: Development Status :: 2 - Pre-Alpha
|
|
9
|
+
Classifier: Framework :: Sphinx :: Extension
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Topic :: Documentation :: Sphinx
|
|
14
|
+
Classifier: Topic :: Software Development :: Documentation
|
|
15
|
+
Requires-Python: >=3.9
|
|
16
|
+
Description-Content-Type: text/x-rst
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
Requires-Dist: sphinx>=7.2
|
|
19
|
+
Requires-Dist: sip<6.16,>=6.13
|
|
20
|
+
Dynamic: license-file
|
|
21
|
+
|
|
22
|
+
Doxy-SIP
|
|
23
|
+
========
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
Doxy-SIP is a Sphinx plugin providing integration between
|
|
27
|
+
Doxygen, the SIP bindings tools and Sphinx.
|
|
28
|
+
|
|
29
|
+
The itch to scratch
|
|
30
|
+
-------------------
|
|
31
|
+
|
|
32
|
+
When writing Python compiled extensions created in C++ and SIP bindings, options to
|
|
33
|
+
write clean and easy documentation that can be integrated in Sphinx-produced web pages
|
|
34
|
+
are limited:
|
|
35
|
+
|
|
36
|
+
* Using Doxygen comments in the C++ code:
|
|
37
|
+
|
|
38
|
+
Ddocumenting an API within the C++ source files is very easy and tools such as Breathe. However,
|
|
39
|
+
using tools such as Breathe will produce an API with C++ signature whereas Python
|
|
40
|
+
signatures are different, omit certain C++ objects or add new ones.
|
|
41
|
+
|
|
42
|
+
* Using Python Docstrings:
|
|
43
|
+
|
|
44
|
+
It limits the functionalities and defeats the philosophy of writing documentation
|
|
45
|
+
and code in the same place.
|
|
46
|
+
|
|
47
|
+
* Manually documenting in RST files:
|
|
48
|
+
|
|
49
|
+
Just too tedious.
|
|
50
|
+
|
|
51
|
+
Doxy-SIP attempts to resolve that by combining Doxygen output and docstring in SIP
|
|
52
|
+
specification files to provide clear documentation about the C++ implementation, but with
|
|
53
|
+
a Pythonic presentation.
|
|
54
|
+
|
|
55
|
+
It takes as input:
|
|
56
|
+
|
|
57
|
+
* A Doxygen output in XML format documenting C++ code.
|
|
58
|
+
* A SIP project file (pyproject.toml) defining the bindings for the same C++ code.
|
|
59
|
+
|
|
60
|
+
It defines a new Sphinx domain (sip) and directives to semi-automatically (à la sphinx.ext.autodoc)
|
|
61
|
+
add documentation on objects defined in the bindings specification files.
|
|
62
|
+
|
|
63
|
+
Installation
|
|
64
|
+
------------
|
|
65
|
+
|
|
66
|
+
Breathe is available from github and PyPI <https://pypi.org/project/doxy-sip/>. It can be installed with::
|
|
67
|
+
|
|
68
|
+
pip install doxysip
|
|
69
|
+
|
|
70
|
+
Documentation
|
|
71
|
+
-------------
|
|
72
|
+
|
|
73
|
+
Short documentation - <https://github.com/clesav/doxy-sip/blob/main/DOCUMENTATION.rst>.
|
|
74
|
+
|
|
75
|
+
Requirements
|
|
76
|
+
------------
|
|
77
|
+
|
|
78
|
+
Doxy-SIP requires Python 3.9+, Sphinx 7.2+, Doxygen 1.9.2+ and SIP 6.13+
|
|
79
|
+
|
|
80
|
+
Acknowledgements
|
|
81
|
+
----------------
|
|
82
|
+
|
|
83
|
+
- Dimitri van Heesch for Doxygen - <https://www.doxygen.nl>.
|
|
84
|
+
- Georg Brandl for Sphinx - <https://www.sphinx-doc.org>.
|
|
85
|
+
- Phil Thompson for SIP - <https://github.com/Python-SIP/sip>.
|
|
86
|
+
|
doxysip-0.1/README.rst
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Doxy-SIP
|
|
2
|
+
========
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
Doxy-SIP is a Sphinx plugin providing integration between
|
|
6
|
+
Doxygen, the SIP bindings tools and Sphinx.
|
|
7
|
+
|
|
8
|
+
The itch to scratch
|
|
9
|
+
-------------------
|
|
10
|
+
|
|
11
|
+
When writing Python compiled extensions created in C++ and SIP bindings, options to
|
|
12
|
+
write clean and easy documentation that can be integrated in Sphinx-produced web pages
|
|
13
|
+
are limited:
|
|
14
|
+
|
|
15
|
+
* Using Doxygen comments in the C++ code:
|
|
16
|
+
|
|
17
|
+
Ddocumenting an API within the C++ source files is very easy and tools such as Breathe. However,
|
|
18
|
+
using tools such as Breathe will produce an API with C++ signature whereas Python
|
|
19
|
+
signatures are different, omit certain C++ objects or add new ones.
|
|
20
|
+
|
|
21
|
+
* Using Python Docstrings:
|
|
22
|
+
|
|
23
|
+
It limits the functionalities and defeats the philosophy of writing documentation
|
|
24
|
+
and code in the same place.
|
|
25
|
+
|
|
26
|
+
* Manually documenting in RST files:
|
|
27
|
+
|
|
28
|
+
Just too tedious.
|
|
29
|
+
|
|
30
|
+
Doxy-SIP attempts to resolve that by combining Doxygen output and docstring in SIP
|
|
31
|
+
specification files to provide clear documentation about the C++ implementation, but with
|
|
32
|
+
a Pythonic presentation.
|
|
33
|
+
|
|
34
|
+
It takes as input:
|
|
35
|
+
|
|
36
|
+
* A Doxygen output in XML format documenting C++ code.
|
|
37
|
+
* A SIP project file (pyproject.toml) defining the bindings for the same C++ code.
|
|
38
|
+
|
|
39
|
+
It defines a new Sphinx domain (sip) and directives to semi-automatically (à la sphinx.ext.autodoc)
|
|
40
|
+
add documentation on objects defined in the bindings specification files.
|
|
41
|
+
|
|
42
|
+
Installation
|
|
43
|
+
------------
|
|
44
|
+
|
|
45
|
+
Breathe is available from github and PyPI <https://pypi.org/project/doxy-sip/>. It can be installed with::
|
|
46
|
+
|
|
47
|
+
pip install doxysip
|
|
48
|
+
|
|
49
|
+
Documentation
|
|
50
|
+
-------------
|
|
51
|
+
|
|
52
|
+
Short documentation - <https://github.com/clesav/doxy-sip/blob/main/DOCUMENTATION.rst>.
|
|
53
|
+
|
|
54
|
+
Requirements
|
|
55
|
+
------------
|
|
56
|
+
|
|
57
|
+
Doxy-SIP requires Python 3.9+, Sphinx 7.2+, Doxygen 1.9.2+ and SIP 6.13+
|
|
58
|
+
|
|
59
|
+
Acknowledgements
|
|
60
|
+
----------------
|
|
61
|
+
|
|
62
|
+
- Dimitri van Heesch for Doxygen - <https://www.doxygen.nl>.
|
|
63
|
+
- Georg Brandl for Sphinx - <https://www.sphinx-doc.org>.
|
|
64
|
+
- Phil Thompson for SIP - <https://github.com/Python-SIP/sip>.
|
|
65
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=75.4"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
[project]
|
|
7
|
+
name = "doxysip"
|
|
8
|
+
description = "A Sphinx extension for semi-automatic class documentation from SIP bindings and Doxygen"
|
|
9
|
+
readme = "README.rst"
|
|
10
|
+
license = "BSD-3-Clause"
|
|
11
|
+
license-files = ["LICENSE"]
|
|
12
|
+
requires-python = ">=3.9"
|
|
13
|
+
dependencies = ["sphinx>=7.2", "sip>=6.13,<6.16"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 2 - Pre-Alpha",
|
|
16
|
+
"Framework :: Sphinx :: Extension",
|
|
17
|
+
"Intended Audience :: Developers",
|
|
18
|
+
"Operating System :: OS Independent",
|
|
19
|
+
"Programming Language :: Python :: 3",
|
|
20
|
+
"Topic :: Documentation :: Sphinx",
|
|
21
|
+
"Topic :: Software Development :: Documentation",
|
|
22
|
+
]
|
|
23
|
+
urls.homepage = "https://github.com/clesav/doxy-sip"
|
|
24
|
+
|
|
25
|
+
version = "0.1"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
[[project.authors]]
|
|
29
|
+
name = "C. Savergne"
|
|
30
|
+
email = "csavergne@yahoo.com"
|
|
31
|
+
|
doxysip-0.1/setup.cfg
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2026 C. Savergne <csavergne@yahoo.com>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
from sphinx.domains import Domain
|
|
7
|
+
|
|
8
|
+
from .directives import (
|
|
9
|
+
SIPSpecificationDirective,
|
|
10
|
+
SIPModuleDirective,
|
|
11
|
+
SIPClassDirective,
|
|
12
|
+
SIPNamespaceDirective,
|
|
13
|
+
SIPEnumDirective,
|
|
14
|
+
SIPMethodDirective,
|
|
15
|
+
SIPPropertyDirective,
|
|
16
|
+
SIPVariableDirective,
|
|
17
|
+
SIPMacroConstantDirective,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
__version__ = "0.0.1"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class SIPDomain(Domain):
|
|
25
|
+
name = 'sip'
|
|
26
|
+
label = 'Bindings specification language'
|
|
27
|
+
directives = {
|
|
28
|
+
'specification': SIPSpecificationDirective,
|
|
29
|
+
'module' : SIPModuleDirective,
|
|
30
|
+
'class': SIPClassDirective,
|
|
31
|
+
'namespace': SIPNamespaceDirective,
|
|
32
|
+
'enum': SIPEnumDirective,
|
|
33
|
+
'method': SIPMethodDirective,
|
|
34
|
+
'property': SIPPropertyDirective,
|
|
35
|
+
'variable': SIPVariableDirective,
|
|
36
|
+
'macro-constant': SIPMacroConstantDirective,
|
|
37
|
+
}
|
|
38
|
+
initial_data = {
|
|
39
|
+
'sip_specs': {},
|
|
40
|
+
'sip_dox_index': None,
|
|
41
|
+
'sip_project_loaded': False,
|
|
42
|
+
'sip_current_spec': '',
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def setup(app):
|
|
47
|
+
app.add_domain(SIPDomain)
|
|
48
|
+
app.add_config_value('sip_toml_project', '.', 'env', str)
|
|
49
|
+
app.add_config_value('sip_doxygen_project', '.', 'env', str)
|
|
50
|
+
|
|
51
|
+
return {
|
|
52
|
+
"version": __version__
|
|
53
|
+
}
|