77 lines
2.4 KiB
Markdown
77 lines
2.4 KiB
Markdown
# PyTorch-Lightning Docs
|
|
|
|
We are using Sphinx with Napoleon extension.
|
|
Moreover, we set Google style to follow with type convention.
|
|
|
|
- [Napoleon formatting with Google style](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)
|
|
- [ReStructured Text (reST)](https://docs.pylonsproject.org/projects/docs-style-guide/)
|
|
- [Paragraph-level markup](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#paragraphs)
|
|
|
|
See following short example of a sample function taking one position string and optional
|
|
|
|
```python
|
|
from typing import Optional
|
|
|
|
|
|
def my_func(param_a: int, param_b: Optional[float] = None) -> str:
|
|
"""Sample function.
|
|
|
|
Args:
|
|
param_a: first parameter
|
|
param_b: second parameter
|
|
|
|
Return:
|
|
sum of both numbers
|
|
|
|
Example::
|
|
|
|
>>> my_func(1, 2)
|
|
3
|
|
|
|
Note:
|
|
If you want to add something.
|
|
"""
|
|
p = param_b if param_b else 0
|
|
return str(param_a + p)
|
|
```
|
|
|
|
## Building Docs
|
|
|
|
When updating the docs, make sure to build them first locally and visually inspect the html files in your browser for
|
|
formatting errors. In certain cases, a missing blank line or a wrong indent can lead to a broken layout.
|
|
Run these commands
|
|
|
|
```bash
|
|
git submodule update --init --recursive
|
|
make docs
|
|
```
|
|
|
|
and open `docs/build/html/index.html` in your browser.
|
|
|
|
When you send a PR the continuous integration will run tests and build the docs.
|
|
|
|
Notes:
|
|
|
|
- You need to have LaTeX installed for rendering math equations. You can for example install TeXLive with the necessary extras by doing one of the following:
|
|
- on Ubuntu (Linux) run `sudo apt-get update && sudo apt-get install -y texlive-latex-extra dvipng texlive-pictures`
|
|
- use the [RTD docker image](https://hub.docker.com/r/readthedocs/build)
|
|
- You need to have pandoc installed for rendering Jupyter Notebooks. On Ubuntu (Linux), you can run: `sudo apt-get install pandoc`
|
|
|
|
## Developing docs
|
|
|
|
When developing the docs, building docs can be VERY slow locally because of the notebook tutorials.
|
|
To speed this up, enable this flag in before building docs:
|
|
|
|
```bash
|
|
# builds notebooks which is slow
|
|
export PL_FAST_DOCS_DEV=0
|
|
|
|
# fast notebook build which is fast
|
|
export PL_FAST_DOCS_DEV=1
|
|
```
|
|
|
|
## docs CSS/theme
|
|
|
|
To change the CSS theme of the docs, go [here](https://github.com/Lightning-AI/lightning_sphinx_theme).
|
|
Apologies in advance... this is a bit complex to build and requires basic understanding of javascript/npm.
|