You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 2, 2024. It is now read-only.
and add a string value named ``14.0`` whose data is ``C:\Program Files (x86)\Microsoft Visual Studio 14.0\``.
141
-
* Sometimes if the conda version or visual studio version being used are not latest then building Intel SDC can throw some vague error about a keyword used in a file. So make sure you are using the latest versions.
142
-
148
+
* Sometimes if the conda version or visual studio version being used are not latest then
149
+
building Intel® SDC can throw some vague error about a keyword used in a file.
150
+
So make sure you are using the latest versions.
143
151
144
152
Building documentation
145
153
----------------------
146
-
Building Intel SDC User's Guide documentation requires pre-installed Intel SDC package along with compatible Pandas* version as well as Sphinx* 2.2.1 or later.
147
154
148
-
Intel SDC documentation includes Intel SDC examples output which is pasted to functions description in the API Reference.
along with compatible `Pandas*`_ version as well as `Sphinx*`_ 2.2.1 or later.
157
+
158
+
Intel® SDC documentation includes Intel® SDC examples output which is pasted to functions description in the API Reference.
149
159
In order to get the correct examples result it is required to install ``scipy`` package before documentation build:
150
160
::
151
161
152
162
conda install scipy -c intel --override-channels
153
163
154
-
Use ``pip`` to install Sphinx* and extensions:
164
+
Use ``pip`` to install `Sphinx*`_ and extensions:
155
165
::
156
166
157
167
pip install sphinx sphinxcontrib-programoutput
158
168
159
-
Currently the build precedure is based on ``make`` located at ``./sdc/docs/`` folder. While it is not generally required we recommended that you clean up the system from previous documentaiton build by running
169
+
Currently the build precedure is based on ``make`` located at ``./sdc/docs/`` folder.
170
+
While it is not generally required we recommended that you clean up the system from previous documentaiton build by running:
160
171
::
161
172
162
173
make clean
163
174
164
-
To build HTML documentation you will need to run
175
+
To build HTML documentation you will need to run:
165
176
::
166
177
167
178
make html
168
179
169
-
The built documentation will be located in the ``.sdc/docs/build/html`` directory. To preview the documentation open ``index.html``
170
-
file.
180
+
The built documentation will be located in the ``./sdc/docs/build/html`` directory.
181
+
To preview the documentation open ``index.html`` file.
182
+
183
+
`Sphinx*`_ Generation Internals
184
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
171
185
172
-
Sphinx* Generation Internals
173
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
174
-
The documentation generation is controlled by ``conf.py`` script automatically invoked by Sphinx.
186
+
The documentation generation is controlled by ``conf.py`` script automatically invoked by `Sphinx*`_.
175
187
See `Sphinx documentation <http://www.sphinx-doc.org/en/master/usage/configuration.html>`_ for details.
176
188
177
-
The API Reference for Intel SDC User's Guide is auto-generated by inspecting ``pandas`` and ``sdc`` modules. That's why these modules must be pre-installed for documentation generation using Sphinx*. However, there is a possibility to skip API Reference auto-generation by setting environment variable ``SDC_DOC_NO_API_REF_STR=1``.
189
+
The API Reference for Intel® SDC User's Guide is auto-generated by inspecting ``pandas`` and ``sdc`` modules.
190
+
That's why these modules must be pre-installed for documentation generation using `Sphinx*`_.
191
+
However, there is a possibility to skip API Reference auto-generation by setting environment variable ``SDC_DOC_NO_API_REF_STR=1``.
178
192
179
-
If the environment variable ``SDC_DOC_NO_API_REF_STR`` is unset then Sphinx's ``conf.py`` invokes ``generate_api_reference()`` function located in ``./sdc/docs/source/buildscripts/apiref_generator`` module. This function parses ``pandas`` and ``sdc`` docstrings for each API, combines those into single docstring and writes it into RST file with respective Pandas* API name. The auto-generated RST files are
193
+
If the environment variable ``SDC_DOC_NO_API_REF_STR`` is unset then Sphinx's ``conf.py``
194
+
invokes ``generate_api_reference()`` function located in ``./sdc/docs/source/buildscripts/apiref_generator`` module.
195
+
This function parses ``pandas`` and ``sdc`` docstrings for each API, combines those into single docstring and
196
+
writes it into RST file with respective `Pandas*`_ API name. The auto-generated RST files are
180
197
located at ``./sdc/docs/source/_api_ref`` directory.
181
198
182
-
.. note:
183
-
Sphinx will automatically clean the ``_api_ref`` directory on the next invocation of the documenation build.
199
+
.. note::
200
+
`Sphinx*`_ will automatically clean the ``_api_ref`` directory on the next invocation of the documenation build.
184
201
185
-
Intel SDC docstring decoration rules
186
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
187
-
Since SDC API Reference is auto-generated from respective Pandas* and Intel SDC docstrings there are certain rules that must be
202
+
Intel® SDC docstring decoration rules
203
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
204
+
205
+
Since Intel® SDC API Reference is auto-generated from respective `Pandas*`_ and Intel® SDC docstrings there are certain rules that must be
188
206
followed to accurately generate the API description.
189
207
190
-
1. Every SDC API must have the docstring.
191
-
If developer does not provide the docstring then Sphinx will not be able to match Pandas docstring with respective SDC one. In this situation Sphinx assumes that SDC does not support such API and will include respective note in the API Reference that
208
+
1. Every Intel® SDC API must have the docstring.
209
+
If developer does not provide the docstring then `Sphinx*`_ will not be able to match `Pandas*`_ docstring with respective SDC one.
210
+
In this situation `Sphinx*`_ assumes that SDC does not support such API and will include respective note in the API Reference that
192
211
**This API is currently unsupported**.
193
212
194
213
2. Follow 'one function - one docstring' rule.
195
214
You cannot have one docstring for multiple APIs, even if those are very similar. Auto-generator assumes every SDC API is covered by
196
-
respective docstring. If Sphinx does not find the docstring for particular API then it assumes that SDC does not support such API
215
+
respective docstring. If `Sphinx*`_ does not find the docstring for particular API then it assumes that SDC does not support such API
197
216
and will include respective note in the API Reference that **This API is currently unsupported**.
198
217
199
-
3. Description (introductory section, the very first few paragraphs without a title) is taken from Pandas*.
200
-
Intel SDC developers should not include API description in SDC docstring.
218
+
3. Description (introductory section, the very first few paragraphs without a title) is taken from `Pandas*`_.
219
+
Intel® SDC developers should not include API description in SDC docstring.
201
220
But developers are encouraged to follow Pandas API description naming conventions
202
221
so that the combined docstring appears consistent.
203
222
204
-
4. Parameters, Returns, and Raises sections' description is taken from Pandas* docstring.
205
-
SDC developers should not include such descriptions in their SDC docstrings.
223
+
4. Parameters, Returns, and Raises sections' description is taken from `Pandas*`_ docstring.
224
+
Intel® SDC developers should not include such descriptions in their SDC docstrings.
206
225
Rather developers are encouraged to follow Pandas naming conventions
207
226
so that the combined docstring appears consistent.
208
227
@@ -214,17 +233,17 @@ SDC developers should not include such descriptions in their SDC docstrings.
214
233
********************************************
215
234
Pandas API: <full pandas name, e.g. pandas.Series.nlargest>
216
235
217
-
<Intel SDC specific sections>
236
+
<Intel® SDC specific sections>
218
237
219
238
Intel Scalable Dataframe Compiler Developer Guide
220
239
*************************************************
221
240
<Developer's Guide specific sections>
222
241
"""
223
242
224
-
The first two lines must be the User Guide header. This is an indication to Sphinx that this section is intended for public API
243
+
The first two lines must be the User Guide header. This is an indication to `Sphinx*`_ that this section is intended for public API
225
244
and it will be combined with repsective Pandas API docstring.
226
245
227
-
Line 3 must specify what Pandas API this Intel SDC docstring does correspond to. It must start with ``Pandas API:`` followed by
246
+
Line 3 must specify what Pandas API this Intel® SDC docstring does correspond to. It must start with ``Pandas API:`` followed by
228
247
full Pandas API name that corresponds to this SDC docstring. Remember to include full name, for example, ``nlargest`` is not
229
248
sufficient for auto-generator to perform the match. The full name must be ``pandas.Series.nlargest``.
230
249
@@ -233,15 +252,15 @@ Developer's Guide and must not be included into User's Guide.
233
252
234
253
6. Examples, See Also, References sections are **NOT** taken from Pandas docstring. SDC developers are expected to complete these sections in SDC doctrings.
235
254
This is so because respective Pandas sections are sometimes too Pandas specific and are not relevant to SDC. SDC developers have to
236
-
rewrite those sections in Intel SDC style. Do not forget about User Guide header and Pandas API name prior to adding SDC specific
255
+
rewrite those sections in Intel® SDC style. Do not forget about User Guide header and Pandas API name prior to adding SDC specific
237
256
sections.
238
257
239
258
7. Examples section is mandatory for every SDC API. 'One API - at least one example' rule is applied.
240
259
Examples are essential part of user experience and must accompany every API docstring.
241
260
242
261
8. Embed examples into Examples section from ``./sdc/examples``.
243
262
Rather than writing example in the docstring (which is error-prone) embed relevant example scripts into the docstring. For example,
244
-
here is an example how to embed example for ``pandas.Series.get()`` function into respective Intel SDC docstring:
263
+
here is an example how to embed example for ``pandas.Series.get()`` function into respective Intel® SDC docstring:
245
264
246
265
::
247
266
@@ -262,7 +281,7 @@ Developer's Guide and must not be included into User's Guide.
262
281
263
282
In the above snapshot the script ``series_getitem.py`` is embedded into the docstring. ``:lines: 27-`` allows to skip lengthy
264
283
copyright header of the file. ``:caption:`` provides meaningful description of the example. It is a good tone to have the caption
265
-
for every example. ``:name:`` is the Sphinx name that allows referencing example from other parts of the documentation. It is a good
284
+
for every example. ``:name:`` is the `Sphinx*`_ name that allows referencing example from other parts of the documentation. It is a good
266
285
tone to include this field. Please follow the naming convention ``ex_<example file name>`` for consistency.
267
286
268
287
Accompany every example with the expected output using ``.. code-block:: console`` decorator.
@@ -290,7 +309,7 @@ Developer's Guide and must not be included into User's Guide.
290
309
Warning
291
310
-------
292
311
293
-
Pay attention to indentation and required blank lines. Sphinx is very sensitive to that.
312
+
Pay attention to indentation and required blank lines. `Sphinx*`_ is very sensitive to that.
294
313
295
314
11. If SDC API does not support all variations of respective Pandas API then Limitations section is mandatory.
296
315
While there is not specific guideline how Limitations section must be written, a good style is to follow Pandas Parameters section
@@ -314,7 +333,7 @@ Running unit tests
314
333
References
315
334
##########
316
335
317
-
Intel SDC follows ideas and initial code base of High-Performance Analytics Toolkit (HPAT). These academic papers describe ideas and methods behind HPAT:
336
+
Intel® SDC follows ideas and initial code base of High-Performance Analytics Toolkit (HPAT). These academic papers describe ideas and methods behind HPAT:
318
337
319
338
- `HPAT paper at ICS'17 <http://dl.acm.org/citation.cfm?id=3079099>`_
320
339
- `HPAT at HotOS'17 <http://dl.acm.org/citation.cfm?id=3103004>`_
0 commit comments