Getting Started =============== Overview of tools used ---------------------- This documentation is rendered using `Sphinx `_, which is a Python-based documentation generator that takes plain-text source files in `reStructuredText (rST) `_ to produce various output formats (this example uses HTML). Additionally, Sphinx is extensible by other Python packages to expand its functionality - these tools are summarized below: | .. list-table:: :widths: 20 50 :header-rows: 1 * - Tool - Description * - `Sphinx-Needs `_ - Requirements lifecycle management * - `Mermaid `_ - Diagrams and charting * - `Wavedrom `_ - Digital timing diagrams | `Visio `_ / `draw.io `_ can be used to generate any diagrams more complex than can be done with Mermaid, as they both support ``.svg`` format. | Activating the virtual environment ---------------------------------- Confirm the `Python Virtual Environment `_ is active - you should see ``(.venv)`` next to your username on the command line: | .. figure:: ./images/venv_confirmation.png *Virtual environment is active* | If you don't see it, navigate to where you cloned the repository and source the ``init_venv.sh`` bash script: | .. figure:: ./images/venv_script.png *Location of environment initialization script* | .. note:: The script takes care of the virtual environment setup, and installs package dependencies for all the tools mentioned throughout this example documentation, so you can just focus on tutorials and effectively skip any steps that ask you to run any ``pip install`` commands | Creating your sandbox --------------------- Next, you'll want to create your own working directory, or a "sandbox", for going through the tutorials in the next section. In the repo, let's run ``mkdir sandbox`` and you should see that it was created: | .. figure:: ./images/make_sandbox.png *Creating the tutorial sandbox* | Let's navigate to the sandbox and starting building the foundation.