pyampp 0.1.1.1__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 (56) hide show
  1. pyampp-0.1.1.1/.cruft.json +31 -0
  2. pyampp-0.1.1.1/.flake8 +27 -0
  3. pyampp-0.1.1.1/.github/workflows/ci.yml +116 -0
  4. pyampp-0.1.1.1/.github/workflows/sub_package_update.yml +84 -0
  5. pyampp-0.1.1.1/.gitignore +0 -0
  6. pyampp-0.1.1.1/.gitmodules +6 -0
  7. pyampp-0.1.1.1/.pre-commit-config.yaml +25 -0
  8. pyampp-0.1.1.1/.readthedocs.yaml +34 -0
  9. pyampp-0.1.1.1/.rtd-environment.yml +7 -0
  10. pyampp-0.1.1.1/.ruff.toml +39 -0
  11. pyampp-0.1.1.1/LICENSE +21 -0
  12. pyampp-0.1.1.1/MANIFEST.in +11 -0
  13. pyampp-0.1.1.1/PKG-INFO +92 -0
  14. pyampp-0.1.1.1/README.rst +43 -0
  15. pyampp-0.1.1.1/docs/Makefile +20 -0
  16. pyampp-0.1.1.1/docs/conf.py +75 -0
  17. pyampp-0.1.1.1/docs/index.rst +15 -0
  18. pyampp-0.1.1.1/docs/make.bat +35 -0
  19. pyampp-0.1.1.1/docs/requirements.txt +4 -0
  20. pyampp-0.1.1.1/examples/create_box.py +61 -0
  21. pyampp-0.1.1.1/licenses/LICENSE.rst +25 -0
  22. pyampp-0.1.1.1/licenses/README.rst +9 -0
  23. pyampp-0.1.1.1/licenses/TEMPLATE_LICENSE.rst +31 -0
  24. pyampp-0.1.1.1/pyampp/__init__.py +1 -0
  25. pyampp-0.1.1.1/pyampp/data/README.rst +6 -0
  26. pyampp-0.1.1.1/pyampp/data/__init__.py +1 -0
  27. pyampp-0.1.1.1/pyampp/data/downloader.py +235 -0
  28. pyampp-0.1.1.1/pyampp/gxbox/UI/__init__.py +0 -0
  29. pyampp-0.1.1.1/pyampp/gxbox/UI/clear.svg +1 -0
  30. pyampp-0.1.1.1/pyampp/gxbox/UI/play.svg +1 -0
  31. pyampp-0.1.1.1/pyampp/gxbox/UI/refresh.svg +1 -0
  32. pyampp-0.1.1.1/pyampp/gxbox/UI/save.svg +1 -0
  33. pyampp-0.1.1.1/pyampp/gxbox/__init__.py +3 -0
  34. pyampp-0.1.1.1/pyampp/gxbox/boxutils.py +99 -0
  35. pyampp-0.1.1.1/pyampp/gxbox/gxampp.py +573 -0
  36. pyampp-0.1.1.1/pyampp/gxbox/gxbox_factory.py +737 -0
  37. pyampp-0.1.1.1/pyampp/lib/grff/examples/RenderExample.py +269 -0
  38. pyampp-0.1.1.1/pyampp/lib/nlfff/python/ASMagLibPy/MagFieldWrapper.py +242 -0
  39. pyampp-0.1.1.1/pyampp/lib/nlfff/python/ASMagLibPy/run_example.py +46 -0
  40. pyampp-0.1.1.1/pyampp/tests/__init__.py +4 -0
  41. pyampp-0.1.1.1/pyampp/util/MagFieldWrapper.py +280 -0
  42. pyampp-0.1.1.1/pyampp/util/config.py +50 -0
  43. pyampp-0.1.1.1/pyampp/util/lff.py +102 -0
  44. pyampp-0.1.1.1/pyampp/util/radio.py +367 -0
  45. pyampp-0.1.1.1/pyampp/version.py +17 -0
  46. pyampp-0.1.1.1/pyampp.egg-info/PKG-INFO +92 -0
  47. pyampp-0.1.1.1/pyampp.egg-info/SOURCES.txt +54 -0
  48. pyampp-0.1.1.1/pyampp.egg-info/dependency_links.txt +1 -0
  49. pyampp-0.1.1.1/pyampp.egg-info/not-zip-safe +1 -0
  50. pyampp-0.1.1.1/pyampp.egg-info/requires.txt +17 -0
  51. pyampp-0.1.1.1/pyampp.egg-info/top_level.txt +4 -0
  52. pyampp-0.1.1.1/pyproject.toml +88 -0
  53. pyampp-0.1.1.1/setup.cfg +4 -0
  54. pyampp-0.1.1.1/setup.py +99 -0
  55. pyampp-0.1.1.1/suncast-roadmap.md +27 -0
  56. pyampp-0.1.1.1/tox.ini +78 -0
@@ -0,0 +1,31 @@
1
+ {
2
+ "template": "https://github.com/sunpy/package-template",
3
+ "commit": "31e62add7400477edda83fa5ac399a5df0b86c89",
4
+ "checkout": null,
5
+ "context": {
6
+ "cookiecutter": {
7
+ "package_name": "pyAMPP",
8
+ "module_name": "pyampp",
9
+ "short_description": "Automatic Model Suff",
10
+ "author_name": "suncast-org",
11
+ "author_email": "",
12
+ "project_url": "",
13
+ "license": "BSD 3-Clause",
14
+ "minimum_python_version": "3.9",
15
+ "use_compiled_extensions": "y",
16
+ "enable_dynamic_dev_versions": "y",
17
+ "include_example_code": "n",
18
+ "include_cruft_update_github_workflow": "y",
19
+ "_sphinx_theme": "alabaster",
20
+ "_parent_project": "",
21
+ "_install_requires": "",
22
+ "_copy_without_render": [
23
+ "docs/_templates",
24
+ "docs/_static",
25
+ ".github/workflows/sub_package_update.yml"
26
+ ],
27
+ "_template": "https://github.com/sunpy/package-template"
28
+ }
29
+ },
30
+ "directory": null
31
+ }
pyampp-0.1.1.1/.flake8 ADDED
@@ -0,0 +1,27 @@
1
+ [flake8]
2
+ ignore =
3
+ # missing-whitespace-around-operator
4
+ E225
5
+ # missing-whitespace-around-arithmetic-operator
6
+ E226
7
+ # line-too-long
8
+ E501
9
+ # unused-import
10
+ F401
11
+ # undefined-local-with-import-star
12
+ F403
13
+ # redefined-while-unused
14
+ F811
15
+ # Line break occurred before a binary operator
16
+ W503,
17
+ # Line break occurred after a binary operator
18
+ W504
19
+ max-line-length = 110
20
+ exclude =
21
+ .git
22
+ __pycache__
23
+ docs/conf.py
24
+ build
25
+ pyAMPP/__init__.py,
26
+ rst-directives =
27
+ plot
@@ -0,0 +1,116 @@
1
+
2
+ name: CI
3
+
4
+ on:
5
+ push:
6
+ branches:
7
+ - 'main'
8
+ - '*.*'
9
+ - '!*backport*'
10
+ tags:
11
+ - 'v*'
12
+ - '!*dev*'
13
+ - '!*pre*'
14
+ - '!*post*'
15
+ pull_request:
16
+ # Allow manual runs through the web UI
17
+ workflow_dispatch:
18
+
19
+ concurrency:
20
+ group: ${{ github.workflow }}-${{ github.ref }}
21
+ cancel-in-progress: true
22
+
23
+ jobs:
24
+ core:
25
+ uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main
26
+ with:
27
+ submodules: false
28
+ coverage: codecov
29
+ toxdeps: tox-pypi-filter
30
+ envs: |
31
+ - linux: py312
32
+ secrets:
33
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
34
+
35
+ sdist_verify:
36
+ runs-on: ubuntu-latest
37
+ steps:
38
+ - uses: actions/checkout@v4
39
+ - uses: actions/setup-python@v5
40
+ with:
41
+ python-version: '3.10'
42
+ - run: python -m pip install -U --user build
43
+ - run: python -m build . --sdist
44
+ - run: python -m pip install -U --user twine
45
+ - run: python -m twine check dist/*
46
+
47
+ test:
48
+ needs: [core, sdist_verify]
49
+ uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main
50
+ with:
51
+ submodules: false
52
+ coverage: codecov
53
+ toxdeps: tox-pypi-filter
54
+ posargs: -n auto
55
+ envs: |
56
+ - windows: py311
57
+ - macos: py310
58
+ - linux: py310-oldestdeps
59
+ secrets:
60
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
61
+
62
+ docs:
63
+ needs: [core]
64
+ uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main
65
+ with:
66
+ default_python: '3.10'
67
+ submodules: false
68
+ pytest: false
69
+ toxdeps: tox-pypi-filter
70
+ envs: |
71
+ - linux: build_docs
72
+
73
+ cron:
74
+ if: |
75
+ github.event_name == 'workflow_dispatch' || (
76
+ github.event_name == 'pull_request' &&
77
+ contains(github.event.pull_request.labels.*.name, 'Run cron CI')
78
+ )
79
+ uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main
80
+ with:
81
+ default_python: '3.10'
82
+ submodules: false
83
+ coverage: codecov
84
+ toxdeps: tox-pypi-filter
85
+ envs: |
86
+ - linux: py311-devdeps
87
+ secrets:
88
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
89
+
90
+ publish:
91
+ # Build wheels when pushing to any branch except main
92
+ # publish.yml will only publish if tagged ^v.*
93
+ if: |
94
+ (
95
+ github.event_name != 'pull_request' && (
96
+ github.ref_name != 'main' ||
97
+ github.event_name == 'workflow_dispatch'
98
+ )
99
+ ) || (
100
+ github.event_name == 'pull_request' &&
101
+ contains(github.event.pull_request.labels.*.name, 'Run publish')
102
+ )
103
+ needs: [test, docs]
104
+ uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish.yml@main
105
+ with:
106
+ sdist: true
107
+ test_extras: 'tests'
108
+ test_command: 'pytest -p no:warnings --doctest-rst --pyargs pyampp'
109
+ submodules: false
110
+ targets: |
111
+ - cp3{9,10,11,12}-manylinux*_x86_64
112
+ - cp3{9,10,11,12}-macosx_x86_64
113
+ - cp3{9,10,11,12}-macosx_arm64
114
+ - cp3{9,10,11,12}-win_amd64
115
+ secrets:
116
+ pypi_token: ${{ secrets.pypi_token }}
@@ -0,0 +1,84 @@
1
+ # This template is taken from the cruft example code, for further information please see:
2
+ # https://cruft.github.io/cruft/#automating-updates-with-github-actions
3
+ name: Automatic Update from package template
4
+ permissions:
5
+ contents: write
6
+ pull-requests: write
7
+
8
+ on:
9
+ # Allow manual runs through the web UI
10
+ workflow_dispatch:
11
+ schedule:
12
+ # ┌───────── minute (0 - 59)
13
+ # │ ┌───────── hour (0 - 23)
14
+ # │ │ ┌───────── day of the month (1 - 31)
15
+ # │ │ │ ┌───────── month (1 - 12 or JAN-DEC)
16
+ # │ │ │ │ ┌───────── day of the week (0 - 6 or SUN-SAT)
17
+ - cron: '0 7 * * 1' # Every Monday at 7am UTC
18
+
19
+ jobs:
20
+ update:
21
+ runs-on: ubuntu-latest
22
+ strategy:
23
+ fail-fast: true
24
+ matrix:
25
+ include:
26
+ - add-paths: .
27
+ body: apply the changes to this repo.
28
+ branch: cruft/update
29
+ commit-message: "Automatic package template update"
30
+ title: Updates from the package template
31
+ - add-paths: .cruft.json
32
+ body: reject these changes for this repo.
33
+ branch: cruft/reject
34
+ commit-message: "Reject this package template update"
35
+ title: Reject new updates from package template
36
+
37
+ steps:
38
+ - uses: actions/checkout@v4
39
+
40
+ - uses: actions/setup-python@v5
41
+ with:
42
+ python-version: "3.11"
43
+
44
+ - name: Install Cruft
45
+ run: python -m pip install cruft
46
+
47
+ - name: Check if update is available
48
+ continue-on-error: false
49
+ id: check
50
+ run: |
51
+ CHANGES=0
52
+ if [ -f .cruft.json ]; then
53
+ if ! cruft check; then
54
+ CHANGES=1
55
+ fi
56
+ else
57
+ echo "No .cruft.json file"
58
+ fi
59
+
60
+ echo "has_changes=$CHANGES" >> "$GITHUB_OUTPUT"
61
+
62
+ - name: Run update if available
63
+ if: steps.check.outputs.has_changes == '1'
64
+ run: |
65
+ git config --global user.email "${{ github.actor }}@users.noreply.github.com"
66
+ git config --global user.name "${{ github.actor }}"
67
+
68
+ cruft update --skip-apply-ask --refresh-private-variables
69
+ git restore --staged .
70
+
71
+ - name: Create pull request
72
+ if: steps.check.outputs.has_changes == '1'
73
+ uses: peter-evans/create-pull-request@v6
74
+ with:
75
+ token: ${{ secrets.GITHUB_TOKEN }}
76
+ add-paths: ${{ matrix.add-paths }}
77
+ commit-message: ${{ matrix.commit-message }}
78
+ branch: ${{ matrix.branch }}
79
+ delete-branch: true
80
+ branch-suffix: timestamp
81
+ title: ${{ matrix.title }}
82
+ body: |
83
+ This is an autogenerated PR, which will ${{ matrix.body }}.
84
+ [Cruft](https://cruft.github.io/cruft/) has detected updates from the Package Template
File without changes
@@ -0,0 +1,6 @@
1
+ [submodule "pyampp/lib/nlfff"]
2
+ path = pyampp/lib/nlfff
3
+ url = https://github.com/Alexey-Stupishin/Magnetic-Field_Library.git
4
+ [submodule "pyampp/lib/grff"]
5
+ path = pyampp/lib/grff
6
+ url = https://github.com/kuznetsov-radio/gximagecomputing.git
@@ -0,0 +1,25 @@
1
+ repos:
2
+ # This should be before any formatting hooks like isort
3
+ - repo: https://github.com/astral-sh/ruff-pre-commit
4
+ rev: "v0.2.1"
5
+ hooks:
6
+ - id: ruff
7
+ args: ["--fix"]
8
+ - repo: https://github.com/pre-commit/pre-commit-hooks
9
+ rev: v4.5.0
10
+ hooks:
11
+ - id: check-ast
12
+ - id: check-case-conflict
13
+ - id: trailing-whitespace
14
+ exclude: ".*(.fits|.fts|.fit|.header|.txt)$"
15
+ - id: check-yaml
16
+ - id: debug-statements
17
+ - id: check-added-large-files
18
+ args: ["--enforce-all", "--maxkb=1054"]
19
+ - id: end-of-file-fixer
20
+ exclude: ".*(.fits|.fts|.fit|.header|.txt|tca.*|.json)$|^CITATION.rst$"
21
+ - id: mixed-line-ending
22
+ exclude: ".*(.fits|.fts|.fit|.header|.txt|tca.*)$"
23
+ ci:
24
+ autofix_prs: false
25
+ autoupdate_schedule: "quarterly"
@@ -0,0 +1,34 @@
1
+ # .readthedocs.yaml
2
+ # Read the Docs configuration file
3
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4
+
5
+ # Required
6
+ version: 2
7
+
8
+ # Set the OS, Python version and other tools you might need
9
+ build:
10
+ os: ubuntu-22.04
11
+ tools:
12
+ python: "3.10"
13
+ # You can also specify other tool versions:
14
+ # nodejs: "19"
15
+ # rust: "1.64"
16
+ # golang: "1.19"
17
+
18
+ # Build documentation in the "docs/" directory with Sphinx
19
+ sphinx:
20
+ configuration: docs/conf.py
21
+
22
+ # Optionally build your docs in additional formats such as PDF and ePub
23
+ formats:
24
+ - pdf
25
+ - epub
26
+ - htmlzip
27
+
28
+
29
+ # Optional but recommended, declare the Python requirements required
30
+ # to build your documentation
31
+ # See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
32
+ python:
33
+ install:
34
+ - requirements: docs/requirements.txt
@@ -0,0 +1,7 @@
1
+ name: pyAMPP
2
+ channels:
3
+ - conda-forge
4
+ dependencies:
5
+ - python=3.10
6
+ - pip
7
+ - graphviz!=2.42.*,!=2.43.*
@@ -0,0 +1,39 @@
1
+ target-version = "py310"
2
+ line-length = 110
3
+ exclude = [
4
+ ".git,",
5
+ "__pycache__",
6
+ "build",
7
+ "pyAMPP/version.py",
8
+ ]
9
+
10
+ [lint]
11
+ select = ["E", "F", "W", "UP", "PT"]
12
+ extend-ignore = [
13
+ # pycodestyle (E, W)
14
+ "E501", # LineTooLong # TODO! fix
15
+ # pytest (PT)
16
+ "PT001", # Always use pytest.fixture()
17
+ "PT004", # Fixtures which don't return anything should have leading _
18
+ "PT007", # Parametrize should be lists of tuples # TODO! fix
19
+ "PT011", # Too broad exception assert # TODO! fix
20
+ "PT023", # Always use () on pytest decorators
21
+ ]
22
+
23
+ [lint.flake8-tidy-imports]
24
+ [lint.flake8-tidy-imports.banned-api]
25
+ "warnings.warn".msg = "Use sunpy specific warning helpers warn_* from sunpy.utils.exceptions"
26
+
27
+ [lint.per-file-ignores]
28
+ # Part of configuration, not a package.
29
+ "setup.py" = ["INP001"]
30
+ "conftest.py" = ["INP001"]
31
+ # Implicit-namespace-package. The examples are not a package.
32
+ "docs/*.py" = ["INP001"]
33
+ "__init__.py" = ["E402", "F401", "F403"]
34
+ "test_*.py" = ["B011", "D", "E402", "PGH001", "S101"]
35
+ # Need to import clients to register them, but don't use them in file
36
+ "pyAMPP/net/__init__.py" = ["F811"]
37
+
38
+ [lint.pydocstyle]
39
+ convention = "numpy"
pyampp-0.1.1.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 SUNCAST
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,11 @@
1
+ # Exclude specific files
2
+ # All files which are tracked by git and not explicitly excluded here are included by setuptools_scm
3
+ # Prune folders
4
+ prune build
5
+ prune docs/_build
6
+ prune docs/api
7
+ global-exclude *.pyc *.o
8
+
9
+ # This subpackage is only used in development checkouts
10
+ # and should not be included in built tarballs
11
+ prune pyampp/_dev
@@ -0,0 +1,92 @@
1
+ Metadata-Version: 2.1
2
+ Name: pyampp
3
+ Version: 0.1.1.1
4
+ Summary: Automatic Model Suff
5
+ Home-page: https://github.com/suncast-org/pyAMPP
6
+ Author: The SUNCAST team
7
+ Author-email: sijie.yu@njit.edu
8
+ License: Copyright (c) 2024, suncast-org
9
+ All rights reserved.
10
+
11
+ Redistribution and use in source and binary forms, with or without modification,
12
+ are permitted provided that the following conditions are met:
13
+
14
+ * Redistributions of source code must retain the above copyright notice, this
15
+ list of conditions and the following disclaimer.
16
+ * Redistributions in binary form must reproduce the above copyright notice, this
17
+ list of conditions and the following disclaimer in the documentation and/or
18
+ other materials provided with the distribution.
19
+ * Neither the name of the Astropy Team nor the names of its contributors may be
20
+ used to endorse or promote products derived from this software without
21
+ specific prior written permission.
22
+
23
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
24
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
27
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
30
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
+
34
+ Requires-Python: >=3.10
35
+ Description-Content-Type: text/x-rst
36
+ License-File: LICENSE
37
+ Requires-Dist: sunpy[all]
38
+ Provides-Extra: dev
39
+ Requires-Dist: pytest; extra == "dev"
40
+ Requires-Dist: pytest-cov; extra == "dev"
41
+ Provides-Extra: tests
42
+ Requires-Dist: pytest; extra == "tests"
43
+ Requires-Dist: pytest-doctestplus; extra == "tests"
44
+ Requires-Dist: pytest-cov; extra == "tests"
45
+ Provides-Extra: docs
46
+ Requires-Dist: sphinx; extra == "docs"
47
+ Requires-Dist: sphinx-automodapi; extra == "docs"
48
+ Requires-Dist: tomli; python_version < "3.11" and extra == "docs"
49
+
50
+ Automatic Model Suff
51
+ --------------------
52
+
53
+ License
54
+ -------
55
+
56
+ This project is Copyright (c) suncast-org and licensed under
57
+ the terms of the BSD 3-Clause license. This package is based upon
58
+ the `Openastronomy packaging guide <https://github.com/OpenAstronomy/packaging-guide>`_
59
+ which is licensed under the BSD 3-clause licence. See the licenses folder for
60
+ more information.
61
+
62
+ Contributing
63
+ ------------
64
+
65
+ We love contributions! pyAMPP is open source,
66
+ built on open source, and we'd love to have you hang out in our community.
67
+
68
+ **Imposter syndrome disclaimer**: We want your help. No, really.
69
+
70
+ There may be a little voice inside your head that is telling you that you're not
71
+ ready to be an open source contributor; that your skills aren't nearly good
72
+ enough to contribute. What could you possibly offer a project like this one?
73
+
74
+ We assure you - the little voice in your head is wrong. If you can write code at
75
+ all, you can contribute code to open source. Contributing to open source
76
+ projects is a fantastic way to advance one's coding skills. Writing perfect code
77
+ isn't the measure of a good developer (that would disqualify all of us!); it's
78
+ trying to create something, making mistakes, and learning from those
79
+ mistakes. That's how we all improve, and we are happy to help others learn.
80
+
81
+ Being an open source contributor doesn't just mean writing code, either. You can
82
+ help out by writing documentation, tests, or even giving feedback about the
83
+ project (and yes - that includes giving feedback about the contribution
84
+ process). Some of these contributions may be the most valuable to the project as
85
+ a whole, because you're coming to the project with fresh eyes, so you can see
86
+ the errors and assumptions that seasoned contributors have glossed over.
87
+
88
+ Note: This disclaimer was originally written by
89
+ `Adrienne Lowe <https://github.com/adriennefriend>`_ for a
90
+ `PyCon talk <https://www.youtube.com/watch?v=6Uj746j9Heo>`_, and was adapted by
91
+ pyAMPP based on its use in the README file for the
92
+ `MetPy project <https://github.com/Unidata/MetPy>`_.
@@ -0,0 +1,43 @@
1
+ Automatic Model Suff
2
+ --------------------
3
+
4
+ License
5
+ -------
6
+
7
+ This project is Copyright (c) suncast-org and licensed under
8
+ the terms of the BSD 3-Clause license. This package is based upon
9
+ the `Openastronomy packaging guide <https://github.com/OpenAstronomy/packaging-guide>`_
10
+ which is licensed under the BSD 3-clause licence. See the licenses folder for
11
+ more information.
12
+
13
+ Contributing
14
+ ------------
15
+
16
+ We love contributions! pyAMPP is open source,
17
+ built on open source, and we'd love to have you hang out in our community.
18
+
19
+ **Imposter syndrome disclaimer**: We want your help. No, really.
20
+
21
+ There may be a little voice inside your head that is telling you that you're not
22
+ ready to be an open source contributor; that your skills aren't nearly good
23
+ enough to contribute. What could you possibly offer a project like this one?
24
+
25
+ We assure you - the little voice in your head is wrong. If you can write code at
26
+ all, you can contribute code to open source. Contributing to open source
27
+ projects is a fantastic way to advance one's coding skills. Writing perfect code
28
+ isn't the measure of a good developer (that would disqualify all of us!); it's
29
+ trying to create something, making mistakes, and learning from those
30
+ mistakes. That's how we all improve, and we are happy to help others learn.
31
+
32
+ Being an open source contributor doesn't just mean writing code, either. You can
33
+ help out by writing documentation, tests, or even giving feedback about the
34
+ project (and yes - that includes giving feedback about the contribution
35
+ process). Some of these contributions may be the most valuable to the project as
36
+ a whole, because you're coming to the project with fresh eyes, so you can see
37
+ the errors and assumptions that seasoned contributors have glossed over.
38
+
39
+ Note: This disclaimer was originally written by
40
+ `Adrienne Lowe <https://github.com/adriennefriend>`_ for a
41
+ `PyCon talk <https://www.youtube.com/watch?v=6Uj746j9Heo>`_, and was adapted by
42
+ pyAMPP based on its use in the README file for the
43
+ `MetPy project <https://github.com/Unidata/MetPy>`_.
@@ -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)
@@ -0,0 +1,75 @@
1
+ # Configuration file for the Sphinx documentation builder.
2
+ #
3
+ # This file does only contain a selection of the most common options. For a
4
+ # full list see the documentation:
5
+ # http://www.sphinx-doc.org/en/master/config
6
+
7
+
8
+ # -- Project information -----------------------------------------------------
9
+
10
+ # The full version, including alpha/beta/rc tags
11
+ from pyampp import __version__
12
+ release = __version__
13
+
14
+ project = "pyAMPP"
15
+ copyright = "2022, suncast-org"
16
+ author = "suncast-org"
17
+
18
+ # -- General configuration ---------------------------------------------------
19
+
20
+ # Add any Sphinx extension module names here, as strings. They can be
21
+ # extensions coming with Sphinx (named "sphinx.ext.*") or your custom
22
+ # ones.
23
+ extensions = [
24
+ "sphinx.ext.autodoc",
25
+ "sphinx.ext.intersphinx",
26
+ "sphinx.ext.todo",
27
+ "sphinx.ext.coverage",
28
+ "sphinx.ext.inheritance_diagram",
29
+ "sphinx.ext.viewcode",
30
+ "sphinx.ext.napoleon",
31
+ "sphinx.ext.doctest",
32
+ "sphinx.ext.mathjax",
33
+ "sphinx_automodapi.automodapi",
34
+ "sphinx_automodapi.smart_resolver",
35
+ ]
36
+
37
+ # Add any paths that contain templates here, relative to this directory.
38
+ # templates_path = ["_templates"]
39
+
40
+ # List of patterns, relative to source directory, that match files and
41
+ # directories to ignore when looking for source files.
42
+ # This pattern also affects html_static_path and html_extra_path.
43
+ exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
44
+
45
+ # The suffix(es) of source filenames.
46
+ # You can specify multiple suffix as a list of string:
47
+ source_suffix = ".rst"
48
+
49
+ # The master toctree document.
50
+ master_doc = "index"
51
+
52
+ # -- Options for intersphinx extension ---------------------------------------
53
+
54
+ # Example configuration for intersphinx: refer to the Python standard library.
55
+ intersphinx_mapping = {"python": ("https://docs.python.org/", None)}
56
+
57
+ # -- Options for HTML output -------------------------------------------------
58
+
59
+ # The theme to use for HTML and HTML Help pages. See the documentation for
60
+ # a list of builtin themes.
61
+ html_theme = "alabaster"
62
+
63
+ # Add any paths that contain custom static files (such as style sheets) here,
64
+ # relative to this directory. They are copied after the builtin static files,
65
+ # so a file named "default.css" will overwrite the builtin "default.css".
66
+ # html_static_path = ["_static"]
67
+
68
+ # By default, when rendering docstrings for classes, sphinx.ext.autodoc will
69
+ # make docs with the class-level docstring and the class-method docstrings,
70
+ # but not the __init__ docstring, which often contains the parameters to
71
+ # class constructors across the scientific Python ecosystem. The option below
72
+ # will append the __init__ docstring to the class-level docstring when rendering
73
+ # the docs. For more options, see:
74
+ # https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#confval-autoclass_content
75
+ autoclass_content = "both"
@@ -0,0 +1,15 @@
1
+ pyAMPP Documentation
2
+ --------------------
3
+
4
+ This is the documentation for pyAMPP.
5
+
6
+ .. toctree::
7
+ :maxdepth: 2
8
+ :caption: Contents:
9
+
10
+ Indices and tables
11
+ ==================
12
+
13
+ * :ref:`genindex`
14
+ * :ref:`modindex`
15
+ * :ref:`search`