Skip to content

Commit 3fe014d

Browse files
committed
Tweak the text on API Docs intro page [skip appveyor]
Signed-off-by: Mats Wichmann <mats@linux.com>
1 parent 9e8161a commit 3fe014d

File tree

1 file changed

+31
-15
lines changed

1 file changed

+31
-15
lines changed

doc/sphinx/index.rst

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,37 @@ SCons API Documentation
77
=======================
88

99
.. 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 can be identified by the
25+
lack of a ```[source]``` button to the right of the method signature.
26+
27+
If you are looking for the Public API - the interfaces that have
28+
long-term consistency guarantees, which you can reliably use when
29+
writing a build system for a project - see the `SCons Reference Manual
30+
<https://scons.org/doc/production/HTML/scons-man.html>`_. Note that
31+
what is Public API and what is not is not clearly delineated in these
32+
API Docs.
33+
34+
The target audience is both developers contributing to SCons itself,
35+
and those writing external Tools, Builders, and other related
36+
functionality for their project, who may need to reach beyond the
37+
Public API to accomplish their tasks. Reaching into internals is fine,
38+
but comes with the usual risks of "things here could change, it's up
39+
to you to keep your code working".
40+
2541

2642
.. toctree::
2743
:maxdepth: 2

0 commit comments

Comments
 (0)