Skip to content

Commit

Permalink
attempt 1 at sphinx docs
Browse files Browse the repository at this point in the history
  • Loading branch information
AstroBarker committed Sep 26, 2024
1 parent 5987cf1 commit 431128f
Show file tree
Hide file tree
Showing 11 changed files with 616 additions and 0 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Build and Deploy docs

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
release:
types:
- created

jobs:
docs:
name: build and deploy docs
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set system to non-interactive mode
run: export DEBIAN_FRONTEND=noninteractive
- name: install dependencies
run: |
pip install sphinx
pip install sphinx-rtd-theme
pip install sphinx-multiversion
- name: build docs
run: |
echo "Repo = ${GITHUB_REPOSITORY}"
cd doc/sphinx
# throw warnings as error to make sure docs properly build
make multiversion SPHINXOPTS="-W --keep-going -n"
- name: Deploy
if: ${{ (github.event.pull_request.head.repo.full_name == github.repository) || (github.ref == 'refs/heads/main') }}
uses: peaceiris/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./doc/sphinx/_build/html
force_orphan: true
10 changes: 10 additions & 0 deletions doc/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<!DOCTYPE html>
<!-- This is needed to redirect to the main version when building docs -->
<html>
<head>
<title>Redirecting to develop branch</title>
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=./develop/index.html">
<link rel="canonical" href="https://parthenon-hpc-lab.github.io/parthenon/develop/index.html">
</head>
</html>
1 change: 1 addition & 0 deletions doc/sphinx/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
_build
20 changes: 20 additions & 0 deletions doc/sphinx/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
43 changes: 43 additions & 0 deletions doc/sphinx/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information

project = 'Phoebus'
copyright = '2024, Triad National Security'
author = 'The Phoebus Team'
release = '1.0.0'

# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ["sphinx_multiversion"]

# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]


# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_rtd_theme"

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ["_static"]

# configuration for sphinx_multiversion
smv_remote_whitelist = r"^(origin)$"
31 changes: 31 additions & 0 deletions doc/sphinx/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
.. Phoebus documentation master file, created by
sphinx-quickstart on Thu Sep 26 15:18:20 2024.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Phoebus: Performance portable GRRMHD for supernovae, mergers, and more
======================================================================

`Phoebus`_ is a performance portable general relativistic neutrino radiation magnetohydrodynamics code built upon the `Parthenon`_ adaptive mesh refinement framework.

.. _Parthenon: https://github.com/parthenon-hpc-lab/parthenon
.. _Phoebus: https://github.com/lanl/phoebus

Key Features
^^^^^^^^^^^^^

* Finite volume GRMHD
* Neutrino transport
* GR...
* fill out

.. note::

These docs are under active development.

.. toctree::
:maxdepth: 1
:caption: Contents:
:glob:

src/*
35 changes: 35 additions & 0 deletions doc/sphinx/make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=.
set BUILDDIR=_build

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)

if "%1" == "" goto help

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

:end
popd
76 changes: 76 additions & 0 deletions doc/sphinx/src/code_of_conduct.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
Code of Conduct
=====================================

The community of participants in open-source relativstic astrophysics
projects is made up of members from around the globe with a diverse set
of skills, personalities, and experiences. It is through these
differences that our community experiences success and continued growth.
We expect everyone in our community to follow these guidelines when
interacting with others both inside and outside of our community. Our
goal is to keep ours a positive, inclusive, successful, and growing
community.

As members of the community,

- We pledge to treat all people with respect and provide a harassment-
and bullying-free environment, regardless of sex, sexual orientation
and/or gender identity, disability, physical appearance, body size,
race, nationality, ethnicity, and religion. In particular, sexual
language and imagery, sexist, racist, or otherwise exclusionary jokes
are not appropriate.

- We pledge to respect the work of others by recognizing
acknowledgment/citation requests of original authors. As authors, we
pledge to be explicit about how we want our own work to be cited or
acknowledged.

- We pledge to welcome those interested in joining the community, and
realize that including people with a variety of opinions and
backgrounds will only serve to enrich our community. In particular,
discussions relating to pros/cons of various technologies,
programming languages, and so on are welcome, but these should be
done with respect, taking proactive measure to ensure that all
participants are heard and feel confident that they can freely
express their opinions.

- We pledge to welcome questions and answer them respectfully, paying
particular attention to those new to the community. We pledge to
provide respectful criticisms and feedback in forums, especially in
discussion threads resulting from code contributions.

- We pledge to be conscientious of the perceptions of the wider
community and to respond to criticism respectfully. We will strive to
model behaviors that encourage productive debate and disagreement,
both within our community and where we are criticized. We will treat
those outside our community with the same respect as people within
our community.

- We pledge to help the entire community follow the code of conduct,
and to not remain silent when we see violations of the code of
conduct. We will take action when members of our community violate
this code such as contacting a Maintainer (a list of emails of
current Maintainers is made publicly available) or talking privately
with the person.

This code of conduct applies to all community situations online (to
include Github Issues, Pull Requests and any communication therein as
well as Slack, Mattermost, and similar online communication platforms)
and offline, including mailing lists, forums, social media, conferences,
meetings, associated social events, and one-to-one interactions.

Any related activity or project organized by members of the ``Phoebus``
community, including affiliated packages, are welcome to have their own
codes of conduct, but agree to also abide by the present code of
conduct.

--------------

This Community Code of Conduct was adapted from the `Astropy Community
Code of
Conduct <https://www.astropy.org/code_of_conduct.html#:~:text=We%20pledge%20to%20treat%20all,nationality%2C%20ethnicity%2C%20and%20religion.>`__
available under a `Creative Commons Attribution 4.0 International
License <https://creativecommons.org/licenses/by/4.0/>`__. The above
Code of Conduct was modified for use as part of ``Phoebus``.

Parts of this code of conduct have been adapted from the PSF code of
conduct.
88 changes: 88 additions & 0 deletions doc/sphinx/src/contributing.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
Contributing
=============================

For the purpose of our development model, we label *Contributors* or
*Maintainers* of ``Phoebus``. Below we describe these labels and the
process for contributing to ``Phoebus``.

Becoming a Contributor
----------------------

We welcome contributions from scientists from a large variety of
relativistic astrophysics. New users are welcome to contributions to
``Phoebus`` via the *Contributors* process. Contributors with 6 merged
pull requests into the ``main`` branch (over a minimum of 6 months) will
be eligible to join as a *Maintainer* of ``Phoebus`` with additional
repository access and roles. However, final approval of *Maintainer*
status will require a unanimous approval by vote by existing
*Maintainers*, a necessary step to ensure the safety and integrity of
the code base for all users of ``Phoebus``.

The *Maintainers* of ``Phoebus`` consist of the original developers of
the code and those that have a demonstrated history in the development
of ``Phoebus`` prior to the implementation of the *Development Model*
described here. Maintainers hold admin access, serve consistently as
reviewers for pull requests, and are in charge of the maintaining,
deployment, and improvement of efforts towards: regression testing,
documentation, science test cases (gold standards), and continuous
integration.

To maintain their active status as Maintainer, all members will agree to
adhere to our Community Code of Conduct and sign a Memorandum of
Understanding described `here <GOVERNANCE.md>`__.

Contributing to ``Phoebus``
-----------------------------

**Contributors**: (process for most users of ``Phoebus``)

1. Create a new fork of ``main`` where your changes can be made.
2. After completing, create a pull request, describe the final approach
and ensure the branch has no conflicts with current Regression Tests
and Formatting Checks.
3. Assign external reviewers (a minimum of 1, one of which should be a
Maintainer, and which cannot be the contributor). Provide concise
description of changes.
4. Once comments/feedback is addressed, the PR will be merged into the
main branch and changes will be added to list of changes in the next
release.
5. At present, Releases (with a git version tag) for the ``main`` branch
of ``Phoebus`` will occur at a 6 to 12 month cadence or following
implementation of a major enhancement or capability to the code base.

*Maintainers* of ``Phoebus`` will follow the same process for
contributions as above except for the following differences: they may
create branches directly within ``Phoebus``, they will hold repository
admin privileges, and actively participate in the technical review of
contributions to ``Phoebus``.

List of Current Maintainers of ``Phoebus``
------------------------------------------

+-------------------+--------------------------------+-----------------------+
| Name | Handle | Team |
+===================+================================+=======================+
| Brandon Barker | | Los Alamos National |
| | `@AstroBarker <https://www.g | Lab |
| | ithub.com/AstroBarker>`__ | |
+-------------------+--------------------------------+-----------------------+
| Josh Dolence | `@jdolence <https://ww | Los Alamos National |
| | w.github.com/jdolence>`__ | Lab |
+-------------------+--------------------------------+-----------------------+
| Carl Fields | | University of Arizona |
| | `@carlnotsagan <https://www.gi | |
| | thub.com/carlnotsagan>`__ | |
+-------------------+--------------------------------+-----------------------+
| Mariam | `@mari2895 <https://ww | Niels Bohr Institute |
| Gogilashvili | w.github.com/mari2895>`__ | |
+-------------------+--------------------------------+-----------------------+
| Jonah Miller | `@Yurlungur <https://www | Los Alamos National |
| | .github.com/Yurlungur>`__ | Lab |
+-------------------+--------------------------------+-----------------------+
| Jeremiah Murphy | | Florida State |
| | `@curiousmiah <https://www.g | University |
| | ithub.com/curiousmiah>`__ | |
+-------------------+--------------------------------+-----------------------+
| Ben Ryan | `@brryan <https:// | Los Alamos National |
| | www.github.com/brryan>`__ | Lab |
+-------------------+--------------------------------+-----------------------+
Loading

0 comments on commit 431128f

Please sign in to comment.