Skip to content

Commit 400e2b0

Browse files
TypingKoalaJohnny Bui
andauthored
Add Sphinx Documentation (#6)
* Add sphinx docs * Fix typos * fix capitalization of symbiflow * fix wording and add additional detail to docs Co-authored-by: Johnny Bui <[email protected]>
1 parent e0e4995 commit 400e2b0

File tree

13 files changed

+788
-0
lines changed

13 files changed

+788
-0
lines changed

docs/Makefile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Minimal makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line, and also
5+
# from the environment for the first two.
6+
SPHINXOPTS ?=
7+
SPHINXBUILD ?= sphinx-build
8+
SOURCEDIR = .
9+
BUILDDIR = _build
10+
11+
# Put it first so that "make" without argument is like "make help".
12+
help:
13+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14+
15+
.PHONY: help Makefile
16+
17+
# Catch-all target: route all unknown targets to Sphinx using the new
18+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19+
%: Makefile
20+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

docs/conf.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Configuration file for the Sphinx documentation builder.
2+
#
3+
# This file only contains a selection of the most common options. For a full
4+
# list see the documentation:
5+
# https://www.sphinx-doc.org/en/master/usage/configuration.html
6+
7+
# -- Path setup --------------------------------------------------------------
8+
9+
# If extensions (or modules to document with autodoc) are in another directory,
10+
# add these directories to sys.path here. If the directory is relative to the
11+
# documentation root, use os.path.abspath to make it absolute, like shown here.
12+
#
13+
import os
14+
import sys
15+
sys.path.insert(0, os.path.abspath('../'))
16+
17+
18+
# -- Project information -----------------------------------------------------
19+
20+
project = 'FTPVL'
21+
copyright = '2020, Johnny Bui. Licensed under the MIT License.'
22+
author = 'Johnny Bui'
23+
24+
25+
# -- General configuration ---------------------------------------------------
26+
27+
# Add any Sphinx extension module names here, as strings. They can be
28+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
29+
# ones.
30+
31+
import sphinx_rtd_theme
32+
33+
extensions = [
34+
'sphinx.ext.autodoc',
35+
'sphinx.ext.napoleon',
36+
'sphinx_rtd_theme'
37+
]
38+
39+
# Add any paths that contain templates here, relative to this directory.
40+
templates_path = ['_templates']
41+
42+
# List of patterns, relative to source directory, that match files and
43+
# directories to ignore when looking for source files.
44+
# This pattern also affects html_static_path and html_extra_path.
45+
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
46+
47+
48+
# -- Options for HTML output -------------------------------------------------
49+
50+
# The theme to use for HTML and HTML Help pages. See the documentation for
51+
# a list of builtin themes.
52+
#
53+
html_theme = 'sphinx_rtd_theme'
54+
55+
# Add any paths that contain custom static files (such as style sheets) here,
56+
# relative to this directory. They are copied after the builtin static files,
57+
# so a file named "default.css" will overwrite the builtin "default.css".
58+
html_static_path = []
59+
60+
master_doc = 'index'

docs/images/styled_viz.png

242 KB
Loading

docs/index.rst

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
.. _index:
2+
3+
===================================================
4+
FTPVL Documentation
5+
===================================================
6+
FPGA Tool Performance Visualization Library (FTPVL) is a library for simplifying
7+
the data collection, analysis, and visualization of performance metrics for
8+
SymbiFlow development. Although it was made with SymbiFlow in mind, it is highly
9+
extensible for future integration with other software.
10+
11+
🚀 Getting Started
12+
===================
13+
Learn how to get up and running with FTPVL.
14+
15+
.. toctree::
16+
:caption: Getting Started
17+
:hidden:
18+
19+
intro/firststeps
20+
intro/examples
21+
22+
:doc:`intro/firststeps`
23+
The first steps for using FTPVL.
24+
25+
:doc:`intro/examples`
26+
Look at some real-world examples to see FTPVL at work!
27+
28+
29+
✈ Overview
30+
==========
31+
Dive into the main features of FTPVL.
32+
33+
.. toctree::
34+
:caption: Overview
35+
:hidden:
36+
37+
topics/evaluation
38+
topics/fetchers
39+
topics/processors
40+
topics/styles
41+
topics/visualizers
42+
43+
:doc:`topics/evaluation`
44+
Main data structure used for manipulation.
45+
46+
:doc:`topics/fetchers`
47+
Ingest data from Hydra or a JSON dataframe.
48+
49+
:doc:`topics/processors`
50+
Perform processing on the results using a processing pipeline.
51+
52+
:doc:`topics/styles`
53+
Generate styling for custom visualizations.
54+
55+
:doc:`topics/visualizers`
56+
Visualize the processed data.
57+
58+
59+
📖 Reference
60+
============
61+
.. toctree::
62+
:caption: Reference
63+
:hidden:
64+
65+
topics/api
66+
67+
:doc:`topics/api`
68+
Learn about the API of FTPVL.

docs/intro/examples.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
.. _intro-examples:
2+
3+
========
4+
Examples
5+
========
6+
7+
You can take a look at some other examples of FTPVL at work in Google Colab
8+
notebooks.
9+
10+
- `Using HydraFetcher and Processors`_
11+
- `Styling Tables with SingleTableVisualizer`_
12+
- `Comparing Two Different Evaluations`_
13+
14+
.. _Using HydraFetcher and Processors: https://colab.research.google.com/drive/1BIQ-iulDFpzcve7lGJPwLePJ5ETBJ6Ut?usp=sharing
15+
.. _Styling Tables with SingleTableVisualizer: https://colab.research.google.com/drive/1u3EnmIYnTBk-LXZhqNHt_h4aMuq-_cWq?usp=sharing
16+
.. _Comparing Two Different Evaluations: https://colab.research.google.com/drive/1I7InmA6210vIIwdQ7TGHE6aF_WwIm1dM?usp=sharing

0 commit comments

Comments
 (0)