diff --git a/.editorconfig b/.editorconfig
index aa40651a..847704c7 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,7 +1,21 @@
root = true
[*]
+end_of_line = lf
indent_style = space
-charset = utf-8
-trim_trailing_whitespace = true
insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.{py,toml}]
+indent_size = 4
+
+[*.{json,xml,yaml,yml}]
+indent_size = 2
+
+[*.{rst,inc}]
+indent_size = 2
+
+# when adding words through vscode, this is the resulting output format
+[cspell.json]
+indent_size = 4
+insert_final_newline = false
diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
new file mode 100644
index 00000000..9c7f8d57
--- /dev/null
+++ b/.github/release-drafter.yml
@@ -0,0 +1,26 @@
+name-template: PWA Pages $NEXT_PATCH_VERSION
+tag-template: $NEXT_PATCH_VERSION
+
+categories:
+ - title: 📖 Theory
+ label: 📖 Theory
+ - title: 📖 Analysis
+ label: 📖 Analysis
+ - title: 📖 Software
+ label: 📖 Software
+ - title: 🔨 Internals
+ labels:
+ - 🖱️ DX
+ - 💡 Enhancement
+ - 🔨 Maintenance
+
+change-template: "- $TITLE (#$NUMBER)"
+sort-direction: ascending
+template: |
+ # Release $NEXT_PATCH_VERSION
+
+ $CHANGES
+
+ ## Contributors since [$PREVIOUS_TAG](https://github.com/ComPWA/PWA-pages/releases/tag/$PREVIOUS_TAG)
+
+ $CONTRIBUTORS
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 00000000..87b93293
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,48 @@
+# cspell:ignore markdownlint
+
+name: CI
+
+on:
+ push:
+ branches: [master]
+ pull_request:
+ branches: [master]
+
+jobs:
+ documentation:
+ name: Build and check documentation
+ runs-on: ubuntu-18.04
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Python 3.7
+ uses: actions/setup-python@v2
+ with:
+ python-version: 3.7
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install .[doc]
+ sudo apt-get -y install pandoc
+ - name: Build HTML-pages
+ run: make html
+
+ style:
+ name: Style checks
+ runs-on: ubuntu-18.04
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Python 3.7
+ uses: actions/setup-python@v2
+ with:
+ python-version: 3.7
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install .[dev]
+ sudo npm install -g cspell markdownlint-cli
+ - name: Perform style checks
+ run: tox -e sty
+ - name: Check spelling
+ run: cspell $(git ls-files)
+ - name: Lint Markdown files
+ run: markdownlint .
diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml
new file mode 100644
index 00000000..874658a7
--- /dev/null
+++ b/.github/workflows/linkcheck.yml
@@ -0,0 +1,25 @@
+name: Linkcheck
+
+on:
+ push:
+ branches: [master]
+ pull_request:
+ branches: [master]
+
+jobs:
+ style:
+ name: Check external links
+ runs-on: ubuntu-18.04
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Python 3.7
+ uses: actions/setup-python@v2
+ with:
+ python-version: 3.7
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install .[doc]
+ sudo apt-get -y install pandoc
+ - name: Check external links
+ run: make linkcheck
diff --git a/.github/workflows/pr-linting.yml b/.github/workflows/pr-linting.yml
new file mode 100644
index 00000000..e375e66a
--- /dev/null
+++ b/.github/workflows/pr-linting.yml
@@ -0,0 +1,34 @@
+# cspell:ignore agilepathway commitlint kode
+
+name: PR linting
+on:
+ pull_request:
+ types:
+ - edited
+ - labeled
+ - opened
+ - reopened
+ - synchronize
+ - unlabeled
+
+jobs:
+ check-labels:
+ name: Check labels
+ runs-on: ubuntu-latest
+ steps:
+ - uses: docker://agilepathway/pull-request-label-checker:latest
+ with:
+ any_of: |
+ Bug,💡 Enhancement,📝 Docs,🔨 Maintenance,🖱️ DX,📖 Analysis,
+ 📖 Software,📖 Theory
+ none_of: Epic,❌ Won't fix,💫 Good first issue
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+
+ check-title:
+ name: Check title
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v1
+ - name: Install Dependencies
+ run: npm install @commitlint/config-conventional
+ - uses: JulienKode/pull-request-name-linter-action@v0.1.2
diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml
new file mode 100644
index 00000000..17fdb961
--- /dev/null
+++ b/.github/workflows/release-drafter.yml
@@ -0,0 +1,14 @@
+name: Release Drafter
+
+on:
+ push:
+ branches:
+ - master
+
+jobs:
+ update_release_draft:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: release-drafter/release-drafter@v5
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.gitignore b/.gitignore
index 803aa9a7..fa95db97 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,19 @@
-# Build folders
-build/
+# Temporary files
+.ipynb_checkpoints/
+condaenv.*
-# Visual Studio Code
-*.code-workspace
+# Build files
+*.egg-info/
+*build/
+.fuse_*
+dist/
+htmlcov/
+version.py
+
+# Virtual environments
+*venv/
+.tox/
+
+# Settings
+**.code-workspace
+.idea/
diff --git a/.markdownlint.json b/.markdownlint.json
new file mode 100644
index 00000000..453eed2e
--- /dev/null
+++ b/.markdownlint.json
@@ -0,0 +1,6 @@
+{
+ "MD026": { "punctuation": ".,;:。,;:!" },
+ "MD033": {
+ "allowed_elements": ["br"]
+ }
+}
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index b678099c..86ddb033 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,22 +1,36 @@
repos:
+ - repo: meta
+ hooks:
+ - id: check-hooks-apply
+ - id: check-useless-excludes
+
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v3.1.0
+ rev: v3.2.0
hooks:
+ - id: check-ast
- id: check-case-conflict
+ - id: check-docstring-first
+ - id: check-json
+ - id: check-merge-conflict
+ - id: check-toml
+ - id: check-vcs-permalinks
+ - id: check-yaml
+ - id: debug-statements
- id: end-of-file-fixer
+ exclude: cspell.json
- id: mixed-line-ending
- - id: requirements-txt-fixer
- id: trailing-whitespace
- repo: https://github.com/psf/black
- rev: 19.10b0
+ rev: 20.8b1
hooks:
- id: black
- repo: https://github.com/prettier/prettier
- rev: 2.0.5
+ rev: 2.1.1
hooks:
- id: prettier
+ language_version: 12.18.2 # prettier does not specify node correctly
- repo: local
hooks:
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 00000000..5c5d70c8
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1 @@
+cspell.json
diff --git a/.prettierrc b/.prettierrc
index 5b5bd993..3b0c9fc8 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1,3 +1,4 @@
{
- "proseWrap": "always"
+ "proseWrap": "always",
+ "printWidth": 79
}
diff --git a/.readthedocs.yml b/.readthedocs.yml
index c56fd701..53ad4d48 100644
--- a/.readthedocs.yml
+++ b/.readthedocs.yml
@@ -2,6 +2,7 @@ version: 2
sphinx:
configuration: conf.py
+ fail_on_warning: false
formats:
- htmlzip
@@ -9,4 +10,5 @@ formats:
python:
version: 3.7
install:
- - requirements: requirements.txt
+ - method: pip
+ path: .[doc]
diff --git a/.rstcheck.cfg b/.rstcheck.cfg
deleted file mode 100644
index 3d23ceb1..00000000
--- a/.rstcheck.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[rstcheck]
-ignore_roles =
- cite,
-ignore_directives =
- bibliography,
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 4c025c3d..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-language: python
-os: linux
-dist: bionic
-
-branches:
- only:
- - master
- - /\d+\.\d+.*/
-
-install:
- - pip3 install -r requirements.txt
- - pip3 install .
-
-before_script:
- - sudo apt-get -y install pandoc
-
-script:
- - make linkcheck
- - make html
-
-jobs:
- include:
- - name: "Style checks"
- python: 3.7
- script:
- - pip3 install -r requirements-dev.txt
- - pre-commit run -a
-
- - name: "Python 3.6 on Ubuntu 18.04"
- python: 3.6
-
- - name: "Python 3.7 on Ubuntu 18.04"
- python: 3.7
-
- - name: "Python 3.8 on Ubuntu 18.04"
- python: 3.8
-
- - name: "Python 3.7 on macOS (xcode11.2)"
- os: osx
- osx_image: xcode11.2
- addons:
- homebrew:
- update: false
- packages:
- - pandoc
- language: shell
- before_script: echo
diff --git a/.vscode/.gitignore b/.vscode/.gitignore
new file mode 100644
index 00000000..702ebda2
--- /dev/null
+++ b/.vscode/.gitignore
@@ -0,0 +1 @@
+.ropeproject
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 00000000..ffef89f1
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,24 @@
+{
+ "recommendations": [
+ "bungcip.better-toml",
+ "christian-kohler.path-intellisense",
+ "davidanson.vscode-markdownlint",
+ "eamodio.gitlens",
+ "editorconfig.editorconfig",
+ "esbenp.prettier-vscode",
+ "github.vscode-pull-request-github",
+ "joaompinto.vscode-graphviz",
+ "lextudio.restructuredtext",
+ "ms-python.python",
+ "ms-vsliveshare.vsliveshare",
+ "redhat.vscode-yaml",
+ "ryanluker.vscode-coverage-gutters",
+ "stkb.rewrap",
+ "streetsidesoftware.code-spell-checker",
+ "travisillig.vscode-json-stable-stringify",
+ "trentrand.git-commit-helper-vscode",
+ "tyriar.sort-lines",
+ "yzhang.markdown-all-in-one"
+ ],
+ "unwantedRecommendations": ["dbaeumer.vscode-eslint"]
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
index bbd08497..e87c3832 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,4 +1,7 @@
{
+ "[json]": {
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
+ },
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
@@ -8,7 +11,9 @@
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
- "cSpell.language": "en-US",
+ "cSpell.customFolderDictionaries": ["cspell.json"],
+ "cSpell.enabled": true,
+ "editor.formatOnSave": true,
"editor.rulers": [80],
"files.associations": {
"*.inc": "restructuredtext"
diff --git a/README.md b/README.md
index f48ab183..9a56e5a4 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,12 @@
-[![Travis CI](https://travis-ci.com/ComPWA/PWA-pages.svg?branch=master)](https://travis-ci.com/ComPWA/PWA-pages)
+# Welcome to the Partial Wave Analysis pages!
+
![Documentation build status](https://readthedocs.org/projects/pwa/badge/?version=latest)
-![pre-commit enabled](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)
+[![GPLv3+ license](https://img.shields.io/badge/License-GPLv3+-blue.svg)](https://www.gnu.org/licenses/gpl-3.0-standalone.html)
+
+[![CI status](https://github.com/ComPWA/PWA-pages/workflows/CI/badge.svg)](https://github.com/ComPWA/PWA-pages/actions?query=branch%3Amaster+workflow%3ACI)
+[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen)](https://github.com/pre-commit/pre-commit)
+[![Prettier](https://camo.githubusercontent.com/687a8ae8d15f9409617d2cc5a30292a884f6813a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64655f7374796c652d70726574746965722d6666363962342e7376673f7374796c653d666c61742d737175617265)](https://prettier.io/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
-# Welcome to the Partial Wave Analysis pages!
-
This repository contains the source code for the
-[pwa.readthedocs.io](https://pwa.readthedocs.io/) pages.
+[pwa.rtfd.io](https://pwa.readthedocs.io/) pages.
diff --git a/adr/0000-write-introduction-to-pwa-theory.md b/adr/0000-write-introduction-to-pwa-theory.md
deleted file mode 100644
index 80378fa0..00000000
--- a/adr/0000-write-introduction-to-pwa-theory.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# [ADR-0000] Write introduction and overview to Partial Wave Analysis
-
-Status: **proposed**
diff --git a/adr/index.rst b/adr/index.rst
deleted file mode 100644
index a7fb754a..00000000
--- a/adr/index.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-Architectural Decision Log
-==========================
-
-This log lists the architectural decisions for `ComPWA/PWA-Pages
-`_:
-
-.. toctree::
- :glob:
- :maxdepth: 1
-
- *
-
-For new ADRs, please use :download:`template.md` as basis. More information on
-MADR is available at `adr.github.io/madr `_.
-General information about architectural decision records is available at
-`adr.github.io `_.
diff --git a/adr/template.md b/adr/template.md
deleted file mode 100644
index 5d4c99e3..00000000
--- a/adr/template.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# [ADR-xxxx]
-
-Status: **[proposed | rejected | accepted | deprecated | … | superseded by
-[ADR-xxxx](xxxx-example.md)]**
-
-Deciders: [list everyone involved in the decision]
-
-Technical Story: [description | ticket/issue URL]
-
-## Context and Problem Statement
-
-[Describe the context and problem statement, e.g., in free form using two to
-three sentences. You may want to articulate the problem in form of a question.]
-
-## Decision Drivers
-
-- [driver 1, e.g., a force, facing concern, …]
-- [driver 2, e.g., a force, facing concern, …]
-- …
-
-## Considered Options
-
-- [option 1]
-- [option 2]
-- [option 3]
-- …
-
-## Decision Outcome
-
-Chosen option: "[option 1]", because [justification. e.g., only option, which
-meets k.o. criterion decision driver | which resolves force force | … | comes
-out best (see below)].
-
-### Positive Consequences
-
-- [e.g., improvement of quality attribute satisfaction, follow-up decisions
- required, …]
-- …
-
-### Negative Consequences
-
-- [e.g., compromising quality attribute, follow-up decisions required, …]
-- …
-
-## Pros and Cons of the Options
-
-### [option 1]
-
-[example | description | pointer to more information | …]
-
-- Good, because [argument a]
-- Good, because [argument b]
-- Bad, because [argument c]
-- …
-
-### [option 2]
-
-[example | description | pointer to more information | …]
-
-- Good, because [argument a]
-- Good, because [argument b]
-- Bad, because [argument c]
-- …
-
-## Links
-
-- [Link type][link to adr]
-
-- …
diff --git a/commitlint.config.js b/commitlint.config.js
new file mode 100644
index 00000000..cb8584fd
--- /dev/null
+++ b/commitlint.config.js
@@ -0,0 +1,20 @@
+module.exports = {
+ extends: ["@commitlint/config-conventional"],
+ rules: {
+ "type-enum": [
+ 2,
+ "always",
+ [
+ "build",
+ "ci",
+ "chore",
+ "docs",
+ "feat",
+ "fix",
+ "refactor",
+ "style",
+ "test",
+ ],
+ ],
+ },
+};
diff --git a/conf.py b/conf.py
index c146fb17..fa659006 100644
--- a/conf.py
+++ b/conf.py
@@ -1,5 +1,15 @@
-# -- Project information -----------------------------------------------------
+"""Configuration file for the Sphinx documentation builder.
+
+This file only contains a selection of the most common options. For a full
+list see the documentation:
+https://www.sphinx-doc.org/en/master/usage/configuration.html
+"""
+
+import os
+import shutil
+import subprocess
+# -- Project information -----------------------------------------------------
project = "PWA Software Pages"
copyright = "2020"
author = "Common Partial-Wave Analysis"
@@ -7,12 +17,12 @@
# -- General configuration ---------------------------------------------------
+# The master toctree document
master_doc = "index"
extensions = [
- "recommonmark",
+ "myst_parser",
"sphinx.ext.autosectionlabel",
- "sphinx.ext.githubpages",
"sphinx.ext.intersphinx",
"sphinx_copybutton",
]
@@ -30,7 +40,6 @@
".DS_Store",
"README.md",
"Thumbs.db",
- "adr/template.md",
"build",
]
@@ -41,7 +50,11 @@
# Settings for intersphinx
intersphinx_mapping = {
- "compwa": ("https://pwa.readthedocs.io/projects/compwa/en/latest/", None),
+ "ComPWA": ("https://pwa.readthedocs.io/projects/compwa/en/latest/", None),
+ "expertsystem": (
+ "https://pwa.readthedocs.io/projects/expertsystem/en/latest/",
+ None,
+ ),
"pycompwa": ("https://compwa.github.io/", None),
"tensorwaves": (
"https://pwa.readthedocs.io/projects/tensorwaves/en/latest/",
diff --git a/cspell.json b/cspell.json
new file mode 100644
index 00000000..dbeb4f12
--- /dev/null
+++ b/cspell.json
@@ -0,0 +1,63 @@
+{
+ "version": "0.1",
+ "enableFiletypes": [
+ "git-commit",
+ "jupyter",
+ "xml"
+ ],
+ "flagWords": [
+ "colour",
+ "comparision",
+ "favour",
+ "flavour",
+ "hte",
+ "optimise",
+ "paramater",
+ "parmater"
+ ],
+ "ignorePaths": [
+ "*.rst_t",
+ "*.svg",
+ ".gitignore",
+ ".pre-commit-config.yaml",
+ ".pylintrc",
+ ".readthedocs.yml",
+ ".vscode/*",
+ ".vscode/.gitignore",
+ "Makefile",
+ "_templates/*",
+ "commitlint.config.js",
+ "conf.py",
+ "cspell.json",
+ "pyproject.toml",
+ "setup.cfg",
+ "setup.py",
+ "tox.ini"
+ ],
+ "language": "en-US",
+ "words": [
+ "blazingly",
+ "conda",
+ "jupyter",
+ "unstaged"
+ ],
+ "ignoreWords": [
+ "apidoc",
+ "autopep",
+ "htmlcov",
+ "linkcheck",
+ "markdownlint",
+ "maxdepth",
+ "mkdir",
+ "nbstripout",
+ "oneline",
+ "pandoc",
+ "pycompwa",
+ "pypi",
+ "pytest",
+ "rebased",
+ "rtfd",
+ "setuptools",
+ "toctree"
+ ]
+}
\ No newline at end of file
diff --git a/environment.yml b/environment.yml
index a80124ea..e82e7dc1 100644
--- a/environment.yml
+++ b/environment.yml
@@ -6,4 +6,4 @@ dependencies:
- python>=3.6
- pip
- pip:
- - -r requirements.txt
+ - .[dev]
diff --git a/index.rst b/index.rst
index b7619e08..39e49f0e 100644
--- a/index.rst
+++ b/index.rst
@@ -1,35 +1,51 @@
-.. image:: https://travis-ci.com/ComPWA/PWA-pages.svg?branch=master
- :alt: Travis CI
- :target: https://travis-ci.com/ComPWA/PWA-pages
+Welcome to the Partial Wave Analysis pages!
+===========================================
-.. image:: https://readthedocs.org/projects/pwa/badge/?version=latest
- :alt: Documentation build status
- :target: https://pwa.readthedocs.io
+.. list-table::
-.. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
- :target: https://github.com/pre-commit/pre-commit
- :alt: pre-commit
+ * - .. image:: https://readthedocs.org/projects/pwa/badge/?version=latest
+ :alt: Documentation build status
+ :target: https://pwa.readthedocs.io
-.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
- :alt: Code style: black
- :target: https://github.com/psf/black
+ .. image:: https://img.shields.io/badge/License-GPLv3+-blue.svg
+ :alt: GPLv3+ license
+ :target: https://www.gnu.org/licenses/gpl-3.0-standalone.html
-|
+ * - .. image:: https://github.com/ComPWA/PWA-pages/workflows/CI/badge.svg
+ :alt: CI status
+ :target: https://github.com/ComPWA/PWA-pages/actions?query=branch%3Amaster+workflow%3A%22CI%22
-Welcome to the Partial Wave Analysis pages!
-===========================================
+ .. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
+ :target: https://github.com/pre-commit/pre-commit
+ :alt: pre-commit
+
+ .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
+ :alt: Code style: black
+ :target: https://github.com/psf/black
-.. note::
+ .. image:: https://camo.githubusercontent.com/687a8ae8d15f9409617d2cc5a30292a884f6813a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64655f7374796c652d70726574746965722d6666363962342e7376673f7374796c653d666c61742d737175617265
+ :alt: Code style: Prettier
+ :target: https://prettier.io
+
+.. warning::
These pages and are **under development**.
The PWA Software Pages serve two purposes:
-1. They aim to bring together the many Partial Wave Analysis frameworks out there on the market through interlinked documentation.
+1. They aim to bring together the many Partial Wave Analysis frameworks out
+ there on the market through interlinked documentation.
-2. They provide a dynamic platform to collect and maintain knowledge on both PWA theory and software tools.
+2. They provide a dynamic platform to collect and maintain knowledge on both
+ PWA theory and software tools.
-As such, the pages consist two main components: :doc:`theory ` and :doc:`software `. The theory pages are to be a collection of the basics of PWA theory, along with references to more in-depth sources. This is useful, because it is often difficult for newcomers to find their way around in the growing amount of PWA literature and experimental results. The software pages serve as a guide through the available software tools that are relevant to PWA software development.
+As such, the pages consist two main components: :doc:`theory `
+and :doc:`software `. The theory pages are to be a collection
+of the basics of PWA theory, along with references to more in-depth sources.
+This is useful, because it is often difficult for newcomers to find their way
+around in the growing amount of PWA literature and experimental results. The
+software pages serve as a guide through the available software tools that are
+relevant to PWA software development.
Currently, sub-projects of the PWA Pages are:
@@ -38,7 +54,9 @@ Currently, sub-projects of the PWA Pages are:
* `ComPWA `_
* `pycompwa `_
-Want to contribute or be part of this collection of PWA documentation platforms? Welcome to contact the `Common Partial Wave Analysis `_ organization!
+Want to contribute or be part of this collection of PWA documentation
+platforms? Welcome to contact the `Common Partial Wave Analysis
+`_ organization!
.. toctree::
:maxdepth: 2
@@ -46,9 +64,3 @@ Want to contribute or be part of this collection of PWA documentation platforms?
theory/index
software/index
-
-.. toctree::
- :maxdepth: 1
- :hidden:
-
- adr/index
diff --git a/labels.toml b/labels.toml
new file mode 100644
index 00000000..6ad16d8b
--- /dev/null
+++ b/labels.toml
@@ -0,0 +1,59 @@
+[Bug]
+color = "e11d21"
+name = "Bug"
+description = "Something isn't working"
+
+[Epic]
+color = "3E4B9E"
+name = "Epic"
+description = ""
+
+["⚪ Duplicate"]
+color = "cfd3d7"
+name = "⚪ Duplicate"
+description = "This issue or pull request already exists"
+
+["❌ Won't fix"]
+color = "ffffff"
+name = "❌ Won't fix"
+description = "This will not be worked on"
+
+["❔ Question"]
+color = "88506B"
+name = "❔ Question"
+description = "Discuss this matter in the team"
+
+["💡 Enhancement"]
+color = "c2e0c6"
+name = "💡 Enhancement"
+description = "New feature or improvement of existing code"
+
+["💫 Good first issue"]
+color = "F4EAEF"
+name = "💫 Good first issue"
+description = "Good for newcomers"
+
+["📖 Analysis"]
+color = "FBE2BD"
+name = "📖 Analysis"
+description = "About HEP analysis techniques"
+
+["📖 Software"]
+color = "FDF3E4"
+name = "📖 Software"
+description = "About software development"
+
+["📖 Theory"]
+color = "F7C57B"
+name = "📖 Theory"
+description = "About PWA theory"
+
+["🔨 Maintenance"]
+color = "FFCD8F"
+name = "🔨 Maintenance"
+description = "Refactoring or redesign"
+
+["🖱️ DX"]
+color = "fef2c0"
+name = "🖱️ DX"
+description = "Improvements to the Developer Experience"
diff --git a/pyproject.toml b/pyproject.toml
index 71527876..cddd0cae 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,3 +1,13 @@
+[build-system]
+requires = [
+ "setuptools>=30.3.0",
+ "setuptools_scm",
+ "wheel",
+]
+
+[tool.setuptools_scm]
+write_to = "version.py"
+
[tool.black]
line-length = 79
target-version = [
diff --git a/requirements-dev.txt b/requirements-dev.txt
deleted file mode 100644
index dbc65ac6..00000000
--- a/requirements-dev.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-black>=19.10b0
-pre-commit==2.2.0
-rstcheck
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index 77051b18..00000000
--- a/requirements.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-recommonmark>=0.6
-sphinx==2.4.4
-sphinx-copybutton
-sphinx_rtd_theme
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 00000000..19fccc62
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,52 @@
+[metadata]
+name = PWA-pages
+long_description = file: README.md
+long_description_content_type = text/markdown
+url = https://github.com/ComPWA/PWA-pages
+license = GPLv3 or later
+keywords =
+ HEP
+ PWA
+ amplitude analysis
+ partial wave analysis
+ particle physics
+ particles
+ physics
+classifiers =
+ Development Status :: 1 - Planning
+ Intended Audience :: Developers
+ Intended Audience :: Education
+ Intended Audience :: Science/Research
+ License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
+ Natural Language :: English
+ Operating System :: OS Independent
+ Programming Language :: Python
+ Topic :: Scientific/Engineering
+ Topic :: Scientific/Engineering :: Physics
+
+[options]
+setup_requires =
+ setuptools_scm
+
+[options.extras_require]
+doc =
+ doc8==0.8.1
+ myst-parser==0.12.8
+ nbsphinx==0.7.1
+ Sphinx==3.2.1
+ sphinx-copybutton==0.3.0
+ sphinx-rtd-theme==0.5.0
+dev =
+ %(doc)s
+ black==20.8b1
+ labels==20.1.0
+ pre-commit==2.7.1
+ rstcheck==3.3.1
+ tox==3.20.0
+
+[rstcheck]
+ignore_directives =
+ bibliography,
+ignore_roles =
+ cite,
+report=warning
diff --git a/setup.py b/setup.py
new file mode 100644
index 00000000..caca1c7f
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,5 @@
+# noqa
+
+from setuptools import setup
+
+setup(use_scm_version=True)
diff --git a/software/documentation.rst b/software/documentation.rst
index 33580060..7b68bfe3 100644
--- a/software/documentation.rst
+++ b/software/documentation.rst
@@ -35,7 +35,7 @@ following extensions:
`_
* `ruler
`_
-* `sphellchecker
+* `spellchecker
`_
diff --git a/software/git/branching.rst b/software/git/branching.rst
index d1812e51..dfb09112 100644
--- a/software/git/branching.rst
+++ b/software/git/branching.rst
@@ -1,3 +1,5 @@
+.. cspell:ignore Git's
+
Trying out different ideas: branching
-------------------------------------
@@ -42,28 +44,28 @@ branch, run:
.. code-block:: shell
- git checkout new_idea
+ git checkout new_idea
.. sidebar:: Checkout ambiguity
- The :command:`git checkout` command is a tricky one: it `functions
- differently depending on context
- `_. In the
- context of the examples here, :command:`git checkout` does two things: it
- (1) tries to unpack the files of the branch to which you try to switch to
- the working directory and, (2) if that succeeds, moves the ``HEAD`` to that
- other branch. In this context, :command:`git checkout` is a safe to use:
- Git will warn you and abort the checkout if the unpacking were to overwrite
- *modified* files.
-
- Imagine, however, that you have modified :file:`file1.txt` and left it
- unstaged. If you now run :command:`git checkout file1.txt`, Git would
- overwrite :file:`file1.txt` with the version of the latest commit to the
- current branch **without warning**. The behaviour is completely different
- than before: Git doesn't move ``HEAD`` either. To address the confusion,
- the Git developers `introduced two new commands
- `_, but
- checkout remains most commonly used.
+ The :command:`git checkout` command is a tricky one: it `functions
+ differently depending on context
+ `_. In the
+ context of the examples here, :command:`git checkout` does two things: it (1)
+ tries to unpack the files of the branch to which you try to switch to the
+ working directory and, (2) if that succeeds, moves the ``HEAD`` to that other
+ branch. In this context, :command:`git checkout` is a safe to use: Git will
+ warn you and abort the checkout if the unpacking were to overwrite *modified*
+ files.
+
+ Imagine, however, that you have modified :file:`file1.txt` and left it
+ unstaged. If you now run :command:`git checkout file1.txt`, Git would
+ overwrite :file:`file1.txt` with the version of the latest commit to the
+ current branch **without warning**. The behavior is completely different than
+ before: Git doesn't move ``HEAD`` either. To address the confusion, the Git
+ developers `introduced two new commands
+ `_, but checkout
+ remains most commonly used.
In this case, all this command did, was let the ``HEAD`` point to the
``new_idea`` branch. Remember that the ``HEAD`` represents the state of the
@@ -165,7 +167,7 @@ can even just run :command:`git merge --abort` to land back safely in the
untouched ``master`` branch!
Here, let's just remove all lines but for "some content" (the ``master``) and
-safe the file. Then it's a matter of staging the modifed :file:`file1.txt` and
+safe the file. Then it's a matter of staging the modified :file:`file1.txt` and
creating a new **merge commit**. This time, we commit the :command:`-m` message
flag for the :command:`git commit` command. Git will launch `vi
`_ with a pre-generated merge message. Just
diff --git a/software/git/commit.rst b/software/git/commit.rst
index 842e5aae..a3ef4059 100644
--- a/software/git/commit.rst
+++ b/software/git/commit.rst
@@ -96,7 +96,7 @@ condense overview with an abbreviated SHA-1. Here it's ``e41a065`` and
It's important to realize that the Git repository now contains *three files*:
an empty :file:`file1.txt` in the first commit, a :file:`file1.txt` with "some
content" in the second commit, and empty :file:`file2.txt` in both commits.
-This is the core of version control: Git has organised these three file
+This is the core of version control: Git has organized these three file
versions in two 'snapshot' commits and has recorded how the files in those
commits relate to each other.
diff --git a/software/git/github.rst b/software/git/github.rst
index f6153491..15b32cd6 100644
--- a/software/git/github.rst
+++ b/software/git/github.rst
@@ -22,7 +22,7 @@ contribute:
1. Log into GitHub with your account and fork the ComPWA repository
2. Get a local copy of repository: |br|
- ``git clone git@github.com:YOURACCOUNT/pycompwa.git`` |br|
+ ``git clone git@github.com:YOUR_ACCOUNT/pycompwa.git`` |br|
(this uses the SSH protocol, so you need to `set your SSH keys
`_
first)
@@ -69,7 +69,7 @@ can your contributions be added main repository through a `pull request
+ Mark them as resolved ``git add ``
+ Continue the rebase ``git rebase --continue``
* Push your changes to your fork: |br|
- ``git push origin `` |br|
+ ``git push origin `` |br|
This step 'synchronizes' your local branch and the branch in your fork. It is
not required after every commit, but it is certainly necessary once you are
ready to merge your code into ``upstream``.
@@ -83,7 +83,7 @@ can your contributions be added main repository through a `pull request
.. tip::
It can be useful to push your local branch to your fork under a different
name using: |br|
- ``git push origin :``
+ ``git push origin :``
Once you think your contribution is finished and can be merged into the main
repository:
diff --git a/software/git/remotes.rst b/software/git/remotes.rst
index b14e8d3a..8b9fc0d3 100644
--- a/software/git/remotes.rst
+++ b/software/git/remotes.rst
@@ -55,6 +55,6 @@ local branches. If you checkout a remote branch, Git therefore only creates a
local copy of that remote branch.
You can add an arbitrary number of remotes. In a team project, it's common to
-have one main repository (here `github.com/CompWA/Compwa
+have one main repository (here `github.com/CompWA/ComPWA
`_) that you add as a remote named
``upstream``:
diff --git a/software/index.rst b/software/index.rst
index bf4bc42d..4ed1f610 100644
--- a/software/index.rst
+++ b/software/index.rst
@@ -2,10 +2,10 @@ PWA Software Development
========================
.. toctree::
- :maxdepth: 2
+ :maxdepth: 2
- git
- documentation
- python
- testing
- tips
+ git
+ documentation
+ python
+ testing
+ tips
diff --git a/software/testing.rst b/software/testing.rst
index faa6bfd1..cb910d4f 100644
--- a/software/testing.rst
+++ b/software/testing.rst
@@ -1,3 +1,5 @@
+.. cspell:ignore pycompwa's
+
Unit testing
------------
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 00000000..15a7da61
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,27 @@
+[tox]
+passenv = PYTHONPATH
+skip_install = True
+skip_missing_interpreters=true
+skipsdist = True
+envlist =
+ doc,
+ sty,
+
+; Allows to quickly build html with `tox -e doc` from the root dir
+[testenv:doc]
+whitelist_externals =
+ make
+commands =
+ make html
+
+[testenv:linkcheck]
+whitelist_externals =
+ make
+commands =
+ make linkcheck
+
+[testenv:sty]
+whitelist_externals =
+ pre-commit
+commands =
+ pre-commit run {posargs} -a