ctao-datapipe 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. ctao_datapipe-0.1.0/.gitignore +133 -0
  2. ctao_datapipe-0.1.0/.gitlab-ci.yml +83 -0
  3. ctao_datapipe-0.1.0/.gitmodules +3 -0
  4. ctao_datapipe-0.1.0/.pre-commit-config.yaml +42 -0
  5. ctao_datapipe-0.1.0/AUTHORS +34 -0
  6. ctao_datapipe-0.1.0/CHANGES.rst +9 -0
  7. ctao_datapipe-0.1.0/Dockerfile +33 -0
  8. ctao_datapipe-0.1.0/LICENSE +29 -0
  9. ctao_datapipe-0.1.0/MANIFEST.in +2 -0
  10. ctao_datapipe-0.1.0/PKG-INFO +51 -0
  11. ctao_datapipe-0.1.0/README.md +16 -0
  12. ctao_datapipe-0.1.0/aiv-config.yml +13 -0
  13. ctao_datapipe-0.1.0/docs/Makefile +23 -0
  14. ctao_datapipe-0.1.0/docs/_static/cta.png +0 -0
  15. ctao_datapipe-0.1.0/docs/_static/custom.css +1 -0
  16. ctao_datapipe-0.1.0/docs/changelog.rst +7 -0
  17. ctao_datapipe-0.1.0/docs/changes/22.maintenance.rst +2 -0
  18. ctao_datapipe-0.1.0/docs/changes/README.md +22 -0
  19. ctao_datapipe-0.1.0/docs/changes/template.rst +43 -0
  20. ctao_datapipe-0.1.0/docs/conf.py +78 -0
  21. ctao_datapipe-0.1.0/docs/index.rst +72 -0
  22. ctao_datapipe-0.1.0/docs/installation.rst +35 -0
  23. ctao_datapipe-0.1.0/docs/reference.rst +7 -0
  24. ctao_datapipe-0.1.0/docs/user-guide.rst +198 -0
  25. ctao_datapipe-0.1.0/environment.yml +27 -0
  26. ctao_datapipe-0.1.0/pyproject.toml +182 -0
  27. ctao_datapipe-0.1.0/report/inspection.tex +24 -0
  28. ctao_datapipe-0.1.0/report/performance_verification.tex +0 -0
  29. ctao_datapipe-0.1.0/report/preamble.tex +17 -0
  30. ctao_datapipe-0.1.0/setup.cfg +4 -0
  31. ctao_datapipe-0.1.0/sonar-project.properties +11 -0
  32. ctao_datapipe-0.1.0/src/ctao_datapipe.egg-info/PKG-INFO +51 -0
  33. ctao_datapipe-0.1.0/src/ctao_datapipe.egg-info/SOURCES.txt +43 -0
  34. ctao_datapipe-0.1.0/src/ctao_datapipe.egg-info/dependency_links.txt +1 -0
  35. ctao_datapipe-0.1.0/src/ctao_datapipe.egg-info/requires.txt +25 -0
  36. ctao_datapipe-0.1.0/src/ctao_datapipe.egg-info/top_level.txt +1 -0
  37. ctao_datapipe-0.1.0/src/datapipe/__init__.py +10 -0
  38. ctao_datapipe-0.1.0/src/datapipe/_version.py +21 -0
  39. ctao_datapipe-0.1.0/src/datapipe/tests/__init__.py +0 -0
  40. ctao_datapipe-0.1.0/src/datapipe/tests/test_version.py +4 -0
  41. ctao_datapipe-0.1.0/src/datapipe/version.py +22 -0
  42. ctao_datapipe-0.1.0/workflow_tests/test_simple_workflows.py +140 -0
  43. ctao_datapipe-0.1.0/workflows/process_dl0_dl1.cwl +56 -0
  44. ctao_datapipe-0.1.0/workflows/process_dl1_dl2.cwl +59 -0
  45. ctao_datapipe-0.1.0/workflows/workflow_dl0_to_dl2.cwl +46 -0
@@ -0,0 +1,133 @@
1
+ # setuptools_scm generated version file
2
+ _version.py
3
+
4
+ # Byte-compiled / optimized / DLL files
5
+ __pycache__/
6
+ *.py[cod]
7
+ *$py.class
8
+
9
+ # C extensions
10
+ *.so
11
+
12
+ # Distribution / packaging
13
+ .Python
14
+ build/
15
+ develop-eggs/
16
+ dist/
17
+ downloads/
18
+ eggs/
19
+ .eggs/
20
+ lib/
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ wheels/
26
+ pip-wheel-metadata/
27
+ share/python-wheels/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+ MANIFEST
32
+
33
+ # PyInstaller
34
+ # Usually these files are written by a python script from a template
35
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
36
+ *.manifest
37
+ *.spec
38
+
39
+ # Installer logs
40
+ pip-log.txt
41
+ pip-delete-this-directory.txt
42
+
43
+ # Unit test / coverage reports
44
+ htmlcov/
45
+ .tox/
46
+ .nox/
47
+ .coverage
48
+ .coverage.*
49
+ .cache
50
+ nosetests.xml
51
+ coverage.xml
52
+ *.cover
53
+ *.py,cover
54
+ .hypothesis/
55
+ .pytest_cache/
56
+
57
+ # Translations
58
+ *.mo
59
+ *.pot
60
+
61
+ # Django stuff:
62
+ *.log
63
+ local_settings.py
64
+ db.sqlite3
65
+ db.sqlite3-journal
66
+
67
+ # Flask stuff:
68
+ instance/
69
+ .webassets-cache
70
+
71
+ # Scrapy stuff:
72
+ .scrapy
73
+
74
+ # Sphinx documentation
75
+ docs/_build/
76
+ docs/api
77
+
78
+ # PyBuilder
79
+ target/
80
+
81
+ # Jupyter Notebook
82
+ .ipynb_checkpoints
83
+
84
+ # IPython
85
+ profile_default/
86
+ ipython_config.py
87
+
88
+ # pyenv
89
+ .python-version
90
+
91
+ # pipenv
92
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
93
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
94
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
95
+ # install all needed dependencies.
96
+ #Pipfile.lock
97
+
98
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
99
+ __pypackages__/
100
+
101
+ # Celery stuff
102
+ celerybeat-schedule
103
+ celerybeat.pid
104
+
105
+ # SageMath parsed files
106
+ *.sage.py
107
+
108
+ # Environments
109
+ .env
110
+ .venv
111
+ env/
112
+ venv/
113
+ ENV/
114
+ env.bak/
115
+ venv.bak/
116
+
117
+ # Spyder project settings
118
+ .spyderproject
119
+ .spyproject
120
+
121
+ # Rope project settings
122
+ .ropeproject
123
+
124
+ # mkdocs documentation
125
+ /site
126
+
127
+ # mypy
128
+ .mypy_cache/
129
+ .dmypy.json
130
+ dmypy.json
131
+
132
+ # Pyre type checker
133
+ .pyre/
@@ -0,0 +1,83 @@
1
+ include:
2
+ - project: 'cta-computing/dpps/aiv/dpps-aiv-toolkit'
3
+ ref: dd87c1aaf379ece916a8e11c069e79d07b521b56
4
+ file: "ci-functions.yml"
5
+ - "aiv-config.yml"
6
+
7
+ stages:
8
+ - prepare
9
+ - lint
10
+ - build
11
+ - sign
12
+ - tests
13
+ - sonarqube
14
+ - publish
15
+ - report
16
+
17
+
18
+ # full test for report, including summary and coverage xml artifacts
19
+ test:
20
+ stage: tests
21
+ image: harbor.cta-observatory.org/proxy_cache/python:3.12
22
+
23
+ before_script:
24
+ - python --version
25
+ - pip install -e .[test]
26
+ - apt update --yes && apt install --yes nodejs
27
+
28
+ script:
29
+ - >-
30
+ pytest -v --color=yes
31
+ --doctest-modules --doctest-glob='docs/**/*.rst'
32
+ --ignore-glob='src/datapipe/_dev_version/*'
33
+ --cov --cov-report=xml:test/coverage.xml
34
+ --junitxml=test/report.xml
35
+ --log-cli-level=INFO
36
+
37
+ after_script: []
38
+
39
+ artifacts:
40
+ paths:
41
+ - test/coverage.xml
42
+ - test/report.xml
43
+
44
+
45
+ collect-test-artifacts:
46
+ needs:
47
+ - job: collect-manual-tests
48
+ artifacts: true
49
+ - job: test
50
+ artifacts: true
51
+
52
+ # unit tests using a matrix of python versions
53
+ unittests:
54
+ stage: tests
55
+ parallel:
56
+ matrix:
57
+ - PYTHON_VERSION:
58
+ - "3.11"
59
+ - "3.12"
60
+ - "3.13"
61
+
62
+ image: "harbor.cta-observatory.org/proxy_cache/python:$PYTHON_VERSION"
63
+
64
+ before_script:
65
+ - apt update --yes
66
+ - apt install --yes nodejs # needed for cwl with JS
67
+ - python --version
68
+ - pip install -e .[test]
69
+
70
+ script:
71
+ - >-
72
+ pytest -v --color=yes
73
+ --doctest-modules
74
+ --doctest-glob='docs/**/*.rst' --ignore-glob='src/datapipe/_dev_version/*'
75
+
76
+
77
+ k8s-integration-tests:
78
+ rules:
79
+ - when: never
80
+
81
+ publish-chart:
82
+ rules:
83
+ - when: never
@@ -0,0 +1,3 @@
1
+ [submodule "dpps-aiv-toolkit"]
2
+ path = dpps-aiv-toolkit
3
+ url = ../../aiv/dpps-aiv-toolkit.git
@@ -0,0 +1,42 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v5.0.0 # Use the ref you want to point at
4
+ hooks:
5
+ - id: trailing-whitespace
6
+ exclude: ".*\\.fits(\\.fz)?"
7
+ - id: check-added-large-files
8
+ - id: check-case-conflict
9
+ - id: check-merge-conflict
10
+ exclude: ".*\\.fits(\\.fz)?"
11
+ - id: end-of-file-fixer
12
+ exclude: ".*\\.fits(\\.fz)?"
13
+
14
+ - repo: https://github.com/codespell-project/codespell
15
+ rev: v2.4.1
16
+ hooks:
17
+ - id: codespell
18
+ additional_dependencies:
19
+ - tomli
20
+
21
+ - repo: https://github.com/astral-sh/ruff-pre-commit
22
+ rev: v0.9.5
23
+ hooks:
24
+ - id: ruff
25
+ args: [ --fix, --show-fixes ]
26
+ - id: ruff-format
27
+
28
+ - repo: https://github.com/scientific-python/cookie
29
+ rev: "2025.01.22"
30
+ hooks:
31
+ - id: sp-repo-review
32
+
33
+ - repo: local
34
+ hooks:
35
+ - id: CI yaml check
36
+ args: [ dpps-aiv-toolkit ]
37
+ name: CI yaml check
38
+ description: CI yaml check
39
+ language: script
40
+ entry: dpps-aiv-toolkit/cicheck.sh
41
+ always_run: true
42
+ pass_filenames: false
@@ -0,0 +1,34 @@
1
+ Karl Kosack <karl.kosack@cta-observatory.org>
2
+ Maximilian Linhoff <maximillian.linhoff@cta-observatory.org>
3
+ Thierry Stolarczyk <thierry.stolarczyk@cta-consortium.org>
4
+ Abelardo Moralejo Olaizola <abelardo.moralejo@cta-consortium.org>
5
+ Armelle Jardin-Blicq <armelle.jardin-blicq@cta-consortium.org>
6
+ Clara Escanuela <clara.escanuelanieves@cta-consortium.org>
7
+ Daniel Morcuende-Parrilla <daniel.morcuende@cta-observatory.org>
8
+ Daniel Parsons <daniel.parsons@cta-consortium.org>
9
+ David Berge <david.berge@cta-consortium.org>
10
+ David Sanchez <david.sanchez@cta-consortium.org>
11
+ Denis Dumora <denis.dumora@cta-consortium.org>
12
+ Dominik Elsässer <dominik.elsasser@cta-consortium.org>
13
+ Franca Cassol <franca.cassol@cta-consortium.org>
14
+ Gabriel Emery <gabriel.emery@cta-consortium.org>
15
+ Georg Schwefer <georg.schwefer@cta-consortium.org>
16
+ Gilles Maurin <gilles.maurin@cta-consortium.org>
17
+ Heide Costantini <heide.costantini@cta-consortium.org>
18
+ Ivan Agudo <ivan.agudo@cta-consortium.org>
19
+ Jim Hinton <jim.hinton@cta-observatory.org>
20
+ Jonas Hackfeld <jonas.hackfeld@cta-consortium.org>
21
+ Jose Contreras <jose.contreras@cta-consortium.org>
22
+ Lukas Beiske <lukas.beiske@cta-consortium.org>
23
+ Lukas Nickel <lukas.nickel@cta-consortium.org>
24
+ Marianne Lemoine-Goumard <marianne.lemoine-goumard@cta-consortium.org>
25
+ Mathieu de Bony <mathieu.debony@cta-consortium.org>
26
+ Rubén López Coto <ruben.lopez@cta-consortium.org>
27
+ Rune Dominik <rune.dominik@cta-consortium.org>
28
+ Ruo Yu Shang <ruoyu.shang@cta-consortium.org>
29
+ Stefan Fröse <stefan.frose@cta-consortium.org>
30
+ Thomas Vuillaume <thomas.vuillaume@cta-consortium.org>
31
+ Tjark Miener <tjark.miener@cta-consortium.org>
32
+ Tomas Bylund <tomas.bylund@cta-consortium.org>
33
+ Vincent Pollet <vincent.pollet@cta-consortium.org>
34
+ Weidong Jin <weidong.jin@cta-consortium.org>
@@ -0,0 +1,9 @@
1
+ datapipe v0.1.0-rc1 (2025-04-17)
2
+ --------------------------------
3
+
4
+ This is the first (pre)release of the datapipe package.
5
+
6
+ New Features
7
+ ~~~~~~~~~~~~
8
+
9
+ - CWL workflows covering UC-DPPS-130-1.2, 1.2.1, and 1.2.2
@@ -0,0 +1,33 @@
1
+ # See https://testdriven.io/blog/docker-best-practices/ for recommendations
2
+ # on writing dockerfiles for python projects.
3
+
4
+ # We use a build stage to build a wheel which we then copy and install
5
+ # in the second stage to minimize image size. This is mostly needed
6
+ # because setuptools_scm needs the full version info from git and git
7
+ # itself but including that in the final image would bloat its size.
8
+
9
+ # we are using the official python image with just a version tag here
10
+ # it comes with many tools needed to build and compile python packages
11
+ # which increases it's size but is helpful for building
12
+ FROM python:3.12 AS builder
13
+
14
+ # add necessary sources, including .git for version info
15
+ COPY . /repo/
16
+
17
+ # build the wheel
18
+ RUN python -m pip install --no-cache-dir build \
19
+ && cd repo \
20
+ && python -m build --wheel
21
+
22
+
23
+ # second stage, copy and install wheel
24
+ # We are using the official python 3.12 image
25
+ # as base image in the slim variant to reduce image size.
26
+ FROM python:3.12-slim
27
+ COPY --from=builder /repo/dist /tmp/dist
28
+
29
+ RUN python -m pip install --no-cache-dir /tmp/dist/* \
30
+ && rm -r /tmp/dist
31
+
32
+ RUN useradd --create-home --system --user-group ctao
33
+ USER ctao
@@ -0,0 +1,29 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2022, Cherenkov Telescope Array Observatory Consortium
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ 3. Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,2 @@
1
+ prune src/datapipe/_dev_version
2
+ prune .github
@@ -0,0 +1,51 @@
1
+ Metadata-Version: 2.4
2
+ Name: ctao-datapipe
3
+ Version: 0.1.0
4
+ Summary: CTAO Data Processing Pipeline Software
5
+ Maintainer-email: Karl Kosack <karl.kosack@cta-observatory.org>, Maximilian Linhoff <maximilian.linhoff@cta-observatory.org>
6
+ License-Expression: BSD-3-Clause
7
+ Project-URL: repository, https://gitlab.cta-observatory.org/cta-computing/dpps/datapipe/datapipe
8
+ Project-URL: documentation, http://cta-computing.gitlab-pages.cta-observatory.org/dpps/datapipe/datapipe
9
+ Requires-Python: >=3.11
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ License-File: AUTHORS
13
+ Requires-Dist: ctapipe~=0.25.0
14
+ Requires-Dist: ctapipe-io-zfits~=0.2.0
15
+ Requires-Dist: pyirf~=0.12
16
+ Requires-Dist: eventio~=1.15.0
17
+ Requires-Dist: iminuit>=2
18
+ Requires-Dist: matplotlib~=3.0
19
+ Provides-Extra: test
20
+ Requires-Dist: pytest; extra == "test"
21
+ Requires-Dist: pytest-cov; extra == "test"
22
+ Requires-Dist: pytest-requirements; extra == "test"
23
+ Requires-Dist: cwltool; extra == "test"
24
+ Provides-Extra: doc
25
+ Requires-Dist: sphinx; extra == "doc"
26
+ Requires-Dist: numpydoc; extra == "doc"
27
+ Requires-Dist: ctao-sphinx-theme~=0.1.2; extra == "doc"
28
+ Requires-Dist: sphinx-changelog; extra == "doc"
29
+ Provides-Extra: dev
30
+ Requires-Dist: setuptools_scm; extra == "dev"
31
+ Requires-Dist: towncrier; extra == "dev"
32
+ Provides-Extra: all
33
+ Requires-Dist: ctao-datapipe[dev,doc,test]; extra == "all"
34
+ Dynamic: license-file
35
+
36
+ # CTAO Data Processing Pipeline Subsystem
37
+
38
+ This package provides the software and workflow definitions for the [CTAO][1]
39
+ _Data Processing and Preservation System_ (DPPS) **Data Processing Pipeline**
40
+ subsystem (DataPipe). It is responsible for transforming raw (DL0) observed and
41
+ simulated data products produced by the observatory into "science-ready" data
42
+ products (DL3), including reconstructed event lists and instrumental response
43
+ functions.
44
+
45
+ - [Documentation][2]
46
+ - [Code Repository][3]
47
+ - [PyPI: ctao-datapipe](https://pypi.org/project/ctao-datapipe/)
48
+
49
+ [1]: https://www.ctao.org "CTAO website"
50
+ [2]: http://cta-computing.gitlab-pages.cta-observatory.org/dpps/datapipe/datapipe/latest/ "DataPipe documentation"
51
+ [3]: https://gitlab.cta-observatory.org/cta-computing/dpps/datapipe/datapipe "DataPipe code"
@@ -0,0 +1,16 @@
1
+ # CTAO Data Processing Pipeline Subsystem
2
+
3
+ This package provides the software and workflow definitions for the [CTAO][1]
4
+ _Data Processing and Preservation System_ (DPPS) **Data Processing Pipeline**
5
+ subsystem (DataPipe). It is responsible for transforming raw (DL0) observed and
6
+ simulated data products produced by the observatory into "science-ready" data
7
+ products (DL3), including reconstructed event lists and instrumental response
8
+ functions.
9
+
10
+ - [Documentation][2]
11
+ - [Code Repository][3]
12
+ - [PyPI: ctao-datapipe](https://pypi.org/project/ctao-datapipe/)
13
+
14
+ [1]: https://www.ctao.org "CTAO website"
15
+ [2]: http://cta-computing.gitlab-pages.cta-observatory.org/dpps/datapipe/datapipe/latest/ "DataPipe documentation"
16
+ [3]: https://gitlab.cta-observatory.org/cta-computing/dpps/datapipe/datapipe "DataPipe code"
@@ -0,0 +1,13 @@
1
+ variables:
2
+ # used to select requirements
3
+ DPPS_UC_GROUPS: DataPipe
4
+ DPPS_RELEASE: v0.1
5
+
6
+ RELEASE_PLAN_FN: dpps-aiv-toolkit/dpps-release-plan/release_development_document/dpps-release-plan.tex
7
+ TRACEABILITY_CSV_FN: dpps-aiv-toolkit/requirements-traceability/DPPS_Requirements_Traceability_Matrix.csv
8
+
9
+ APPLICATION_NAME: DataPipe
10
+ APPLICATION_AUTHOR: DataPipe Team
11
+ APPLICATION_AUTHOR_ORGANIZATION: CTAO
12
+ DOCKER_IMAGE_CONTEXT: $CI_PROJECT_DIR
13
+ #EXTRA_CONFIG_FILES: aiv-config-dependencies.yml
@@ -0,0 +1,23 @@
1
+ # Minimal makefile for Sphinx documentation
2
+
3
+ # You can set these variables from the command line, and also
4
+ # from the environment for the first two.
5
+ SPHINXOPTS ?= -W --keep-going -n --color
6
+ SPHINXBUILD ?= sphinx-build
7
+ SOURCEDIR = .
8
+ BUILDDIR = build
9
+
10
+ # Put it first so that "make" without argument is like "make help".
11
+ help:
12
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
13
+
14
+ .PHONY: help Makefile clean
15
+
16
+ # Catch-all target: route all unknown targets to Sphinx using the new
17
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
18
+ %: Makefile
19
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
20
+
21
+ clean:
22
+ rm -rf docs/api
23
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
Binary file
@@ -0,0 +1 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Space+Grotesk:wght@300..700&display=swap');
@@ -0,0 +1,7 @@
1
+ Change Log
2
+ ==========
3
+
4
+ .. changelog::
5
+ :towncrier: ../
6
+ :towncrier-skip-if-empty:
7
+ :changelog_file: ../CHANGES.rst
@@ -0,0 +1,2 @@
1
+ - Update docker URL in the installation page of the documentation to point to the CTAO Harbor, where the image is deployed
2
+ - Simplify the README so that it is appropriate for PyPI.
@@ -0,0 +1,22 @@
1
+ # How to use towncrier
2
+
3
+ An overview can be found [here](https://towncrier.readthedocs.io/en/stable/quickstart.html#).
4
+
5
+ 1. Create a new file for your changes `<MERGE REQUEST NUMBER>.<TYPE>.rst` in the corresponding folder.
6
+ The following types are available:
7
+ - feature: `New feature`
8
+ - bugfix: `Bugfix`
9
+ - api: `API Changes`
10
+ - optimization: `Refactoring and Optimization`
11
+ - maintenance: `Maintenance`
12
+
13
+ 2. Write a suitable message for the change:
14
+ ```
15
+ Fixed ``crazy_function`` to be consistent with ``not_so_crazy_function``
16
+ ```
17
+
18
+ 3. (For maintainers) How to generate a change log:
19
+ Execute the following command in the base directory of the project
20
+ ```
21
+ towncrier build --version=<VERSION NUMBER>
22
+ ```
@@ -0,0 +1,43 @@
1
+ {% if render_title %}
2
+ {% if versiondata.name %}
3
+ {{ versiondata.name | lower }} {{ versiondata.version }} ({{ versiondata.date }})
4
+ {{ top_underline * ((versiondata.name + versiondata.version + versiondata.date)|length + 4)}}
5
+ {% else %}
6
+ {{ versiondata.version }} ({{ versiondata.date }})
7
+ {{ top_underline * ((versiondata.version + versiondata.date)|length + 3)}}
8
+ {% endif %}
9
+ {% endif %}
10
+
11
+ {% for category, val in definitions.items() %}
12
+
13
+ {% set underline = underlines[0] %}
14
+ {{ definitions[category]['name'] }}
15
+ {{ underline * definitions[category]['name']|length }}
16
+ {% set underline = underlines[1] %}
17
+
18
+ {% for section, _ in sections.items() %}
19
+ {% if section and category in sections[section] %}
20
+ {{section}}
21
+ {{ underline * section|length }}
22
+
23
+ {% endif %}
24
+ {% if sections[section] and category in sections[section] %}
25
+ {% if definitions[category]['showcontent'] %}
26
+ {% for text, values in sections[section][category].items() %}
27
+ - {{ text }} [{{ values|join(', ') }}]
28
+
29
+ {% endfor %}
30
+ {% else %}
31
+ - {{ sections[section][category]['']|join(', ') }}
32
+
33
+ {% endif %}
34
+ {% if sections[section][category]|length == 0 %}
35
+ No significant changes.
36
+
37
+ {% else %}
38
+ {% endif %}
39
+ {% else %}
40
+ {# No significant changes. #}
41
+ {% endif %}
42
+ {% endfor %}
43
+ {% endfor %}
@@ -0,0 +1,78 @@
1
+ """Configuration file for the Sphinx documentation builder."""
2
+
3
+ #
4
+ # This file only contains a selection of the most common options. For a full
5
+ # list see the documentation:
6
+ # https://www.sphinx-doc.org/en/master/usage/configuration.html
7
+
8
+ # -- Project information -----------------------------------------------------
9
+ import datapipe
10
+
11
+ project = "datapipe"
12
+ copyright = "2023, Cherenkov Telescope Array Observatory gGmbH"
13
+ author = "Karl Kosack"
14
+ version = datapipe.__version__
15
+ # The full version, including alpha/beta/rc tags.
16
+ release = version
17
+
18
+
19
+ # -- General configuration ---------------------------------------------------
20
+
21
+ # Add any Sphinx extension module names here, as strings. They can be
22
+ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
23
+ # ones.
24
+ extensions = [
25
+ "sphinx.ext.githubpages",
26
+ "sphinx.ext.intersphinx",
27
+ "sphinx.ext.autodoc",
28
+ "sphinx.ext.autosummary",
29
+ "numpydoc",
30
+ "sphinx_changelog",
31
+ ]
32
+
33
+ # Add any paths that contain templates here, relative to this directory.
34
+ templates_path = []
35
+
36
+ # List of patterns, relative to source directory, that match files and
37
+ # directories to ignore when looking for source files.
38
+ # This pattern also affects html_static_path and html_extra_path.
39
+ exclude_patterns = ["changes"]
40
+
41
+ # have all links automatically associated with the right domain.
42
+ default_role = "py:obj"
43
+
44
+
45
+ # intersphinx allows referencing other packages sphinx docs
46
+ intersphinx_mapping = {
47
+ "python": ("https://docs.python.org/3/", None),
48
+ }
49
+
50
+ # -- Options for HTML output -------------------------------------------------
51
+
52
+ html_theme = "ctao"
53
+ html_theme_options = dict(
54
+ navigation_with_keys=False,
55
+ # setup for displaying multiple versions, also see setup in .gitlab-ci.yml
56
+ switcher=dict(
57
+ json_url="http://cta-computing.gitlab-pages.cta-observatory.org/dpps/datapipe/datapipe/versions.json", # noqa: E501
58
+ version_match="latest" if ".dev" in version else f"v{version}",
59
+ ),
60
+ navbar_center=["version-switcher", "navbar-nav"],
61
+ gitlab_url="https://gitlab.cta-observatory.org/cta-computing/dpps/datapipe/datapipe",
62
+ logo=dict(
63
+ image_light="_static/cta.png",
64
+ image_dark="_static/cta_dark.png",
65
+ alt_text="ctao-logo",
66
+ text=" | data<b>pipe</b>",
67
+ ),
68
+ )
69
+
70
+ # Add any paths that contain custom static files (such as style sheets) here,
71
+ # relative to this directory. They are copied after the builtin static files,
72
+ # so a file named "default.css" will overwrite the builtin "default.css".
73
+ html_static_path = [
74
+ "_static",
75
+ ]
76
+ html_css_files = [
77
+ "custom.css",
78
+ ]