@@ -7,21 +7,38 @@ SCons API Documentation
7
7
=======================
8
8
9
9
.. Attention ::
10
- This is the **internal ** API Documentation for SCons.
11
- The documentation is automatically generated for each release
12
- from the source code using the
13
- `Sphinx <https://www.sphinx-doc.org >`_ documentation generator.
14
- Missing information is due to shortcomings in the docstrings in the code,
15
- which admittedly could use a lot more work (contributions welcomed!).
16
-
17
- The target audience is both developers working on SCons itself,
18
- and those writing external Tools, Builders, etc. and other
19
- related functionality, who need to reach beyond the Public API.
20
- Note that what is Public API is not clearly deliniated in the API Docs.
21
- The interfaces available for use in SCons configuration scripts
22
- ("SConscript files"), which have a consistency guarantee,
23
- are those documented in the `SCons Reference Manual
24
- <https://scons.org/doc/production/HTML/scons-man.html> `_.
10
+ This is the **internal ** API Documentation for SCons (aka
11
+ "everything"). It is generated automatically from code docstrings using
12
+ the `Sphinx <https://www.sphinx-doc.org >`_ documentation generator.
13
+
14
+ Any missing/incomplete information is due to shortcomings in the
15
+ docstrings in the code. To not be too flippant about it, filling
16
+ in all the docstrings has not always been a priority across the
17
+ two-plus decades SCons has been in existence (contributions on this
18
+ front are welcomed). Additionally, for SCons classes which inherit
19
+ from Python standard library classes (such as ``UserList ``,
20
+ ``UserDict ``, ``UserString ``), the generated pages will show methods
21
+ that are inherited, sometimes with no information at all, sometimes
22
+ with a signature/description that seems mangled: Python upstream has
23
+ similar limitations as to the quality of dosctrings vs the current
24
+ standards Sphinx expects. Inherited interfaces from outside SCons
25
+ code can be identified by the lack of a ``[source] `` button to the
26
+ right of the method signature.
27
+
28
+ If you are looking for the Public API - the interfaces that have
29
+ long-term consistency guarantees, which you can reliably use when
30
+ writing a build system for a project - see the `SCons Reference Manual
31
+ <https://scons.org/doc/production/HTML/scons-man.html> `_. Note that
32
+ what is Public API and what is not is not clearly delineated in these
33
+ API Docs.
34
+
35
+ The target audience is both developers contributing to SCons itself,
36
+ and those writing external Tools, Builders, and other related
37
+ functionality for their project, who may need to reach beyond the
38
+ Public API to accomplish their tasks. Reaching into internals is fine,
39
+ but comes with the usual risks of "things here could change, it's up
40
+ to you to keep your code working".
41
+
25
42
26
43
.. toctree ::
27
44
:maxdepth: 2
0 commit comments