sammi-cdf 0.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 (59) hide show
  1. sammi_cdf-0.1.1/.devcontainer/devcontainer.json +74 -0
  2. sammi_cdf-0.1.1/.github/workflows/codestyle.yml +40 -0
  3. sammi_cdf-0.1.1/.github/workflows/docs.yml +35 -0
  4. sammi_cdf-0.1.1/.github/workflows/release.yml +69 -0
  5. sammi_cdf-0.1.1/.github/workflows/testing.yml +44 -0
  6. sammi_cdf-0.1.1/.gitignore +144 -0
  7. sammi_cdf-0.1.1/.pre-commit-config.yaml +53 -0
  8. sammi_cdf-0.1.1/.readthedocs.yml +31 -0
  9. sammi_cdf-0.1.1/CHANGELOG.rst +11 -0
  10. sammi_cdf-0.1.1/LICENSE.rst +1 -0
  11. sammi_cdf-0.1.1/MANIFEST.in +17 -0
  12. sammi_cdf-0.1.1/PKG-INFO +141 -0
  13. sammi_cdf-0.1.1/README.rst +99 -0
  14. sammi_cdf-0.1.1/docs/Makefile +24 -0
  15. sammi_cdf-0.1.1/docs/_static/css/custom.css +18 -0
  16. sammi_cdf-0.1.1/docs/api.rst +10 -0
  17. sammi_cdf-0.1.1/docs/conf.py +148 -0
  18. sammi_cdf-0.1.1/docs/dev-guide/code_standards.rst +171 -0
  19. sammi_cdf-0.1.1/docs/dev-guide/dev_env.rst +34 -0
  20. sammi_cdf-0.1.1/docs/dev-guide/docs.rst +88 -0
  21. sammi_cdf-0.1.1/docs/dev-guide/index.rst +17 -0
  22. sammi_cdf-0.1.1/docs/dev-guide/maintainer_workflow.rst +134 -0
  23. sammi_cdf-0.1.1/docs/dev-guide/tests.rst +61 -0
  24. sammi_cdf-0.1.1/docs/index.rst +12 -0
  25. sammi_cdf-0.1.1/docs/logo/favicon.ico +0 -0
  26. sammi_cdf-0.1.1/docs/logo/swxsoc_logo.png +0 -0
  27. sammi_cdf-0.1.1/docs/make.bat +35 -0
  28. sammi_cdf-0.1.1/docs/user-guide/.gitignore +2 -0
  29. sammi_cdf-0.1.1/docs/user-guide/cdf_attribute_management.rst +156 -0
  30. sammi_cdf-0.1.1/docs/user-guide/cdf_format_guide.rst +412 -0
  31. sammi_cdf-0.1.1/docs/user-guide/index.rst +14 -0
  32. sammi_cdf-0.1.1/docs/whatsnew/changelog.rst +7 -0
  33. sammi_cdf-0.1.1/docs/whatsnew/index.rst +8 -0
  34. sammi_cdf-0.1.1/licenses/LICENSE.md +201 -0
  35. sammi_cdf-0.1.1/licenses/README.rst +6 -0
  36. sammi_cdf-0.1.1/pyproject.toml +115 -0
  37. sammi_cdf-0.1.1/sammi/CITATION.rst +16 -0
  38. sammi_cdf-0.1.1/sammi/__init__.py +7 -0
  39. sammi_cdf-0.1.1/sammi/_version.py +16 -0
  40. sammi_cdf-0.1.1/sammi/cdf_attribute_manager.py +611 -0
  41. sammi_cdf-0.1.1/sammi/data/README.rst +6 -0
  42. sammi_cdf-0.1.1/sammi/data/default_global_cdf_attrs_schema.yaml +280 -0
  43. sammi_cdf-0.1.1/sammi/data/default_variable_cdf_attrs_schema.yaml +551 -0
  44. sammi_cdf-0.1.1/sammi/tests/__init__.py +4 -0
  45. sammi_cdf-0.1.1/sammi/tests/test_cdf_attribute_manager.py +519 -0
  46. sammi_cdf-0.1.1/sammi/tests/test_data/default_global_test_cdf_attrs.yaml +8 -0
  47. sammi_cdf-0.1.1/sammi/tests/test_data/imap_default_global_cdf_attrs.yaml +7 -0
  48. sammi_cdf-0.1.1/sammi/tests/test_data/imap_instrument1_global_cdf_attrs.yaml +14 -0
  49. sammi_cdf-0.1.1/sammi/tests/test_data/imap_instrument1_level1_variable_attrs.yaml +23 -0
  50. sammi_cdf-0.1.1/sammi/tests/test_data/imap_instrument2_global_cdf_attrs.yaml +23 -0
  51. sammi_cdf-0.1.1/sammi/tests/test_data/imap_instrument2_level2_variable_attrs.yaml +30 -0
  52. sammi_cdf-0.1.1/sammi/tests/test_data/imap_test_global.yaml +26 -0
  53. sammi_cdf-0.1.1/sammi/tests/test_data/imap_test_variable.yaml +41 -0
  54. sammi_cdf-0.1.1/sammi_cdf.egg-info/PKG-INFO +141 -0
  55. sammi_cdf-0.1.1/sammi_cdf.egg-info/SOURCES.txt +58 -0
  56. sammi_cdf-0.1.1/sammi_cdf.egg-info/dependency_links.txt +1 -0
  57. sammi_cdf-0.1.1/sammi_cdf.egg-info/requires.txt +26 -0
  58. sammi_cdf-0.1.1/sammi_cdf.egg-info/top_level.txt +1 -0
  59. sammi_cdf-0.1.1/setup.cfg +8 -0
@@ -0,0 +1,74 @@
1
+ // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2
+ // https://github.com/microsoft/vscode-dev-containers/tree/v0.183.0/containers/python-3
3
+ {
4
+ "name": "Ubuntu 20.04 Python 3",
5
+ // Repo where this image's Dockerfile is maintained: https://github.com/HERMES-SOC/docker-lambda-base
6
+ "image": "public.ecr.aws/w5r9l1c8/dev-swsoc-docker-lambda-base:latest",
7
+ "initializeCommand": "docker logout public.ecr.aws && docker pull public.ecr.aws/w5r9l1c8/dev-swsoc-docker-lambda-base:latest",
8
+ // If you want to run the production version of the container, comment out the image and initializeCommand lines above and uncomment the line below.
9
+ // "image": "public.ecr.aws/w5r9l1c8/swsoc-docker-lambda-base:latest",
10
+ // "initializeCommand": "docker logout public.ecr.aws && docker pull public.ecr.aws/w5r9l1c8/swsoc-docker-lambda-base:latest",
11
+ "customizations": {
12
+ "vscode": {
13
+ // Set *default* container specific settings.json values on container create.
14
+ "settings": {
15
+ "python.pythonPath": "/usr/bin/python3",
16
+ "python.testing.unittestEnabled": false,
17
+ "python.testing.pytestEnabled": true,
18
+ "python.languageServer": "Pylance",
19
+ //PyLint Settings
20
+ "pylint.enabled": true,
21
+ "pylint.path": [
22
+ "/usr/bin/pylint"
23
+ ],
24
+ "pylint.lintOnChange": true,
25
+ // Black Settings
26
+ "python.editor.defaultFormatter": "ms-python.black-formatter",
27
+ "python.editor.formatOnSave": true,
28
+ "black-formatter.path": [
29
+ "/usr/local/bin/black"
30
+ ],
31
+ "black-formatter.args": [
32
+ "--line-length",
33
+ "100"
34
+ ],
35
+ // Flake8 Settings
36
+ "flake8.path": [
37
+ "/usr/local/bin/flake8"
38
+ ],
39
+ "flake8.lintOnChange": true,
40
+ // Terminal Settings
41
+ "terminal.integrated.defaultProfile.linux": "bash (login)",
42
+ "terminal.integrated.profiles.linux": {
43
+ "bash (login)": {
44
+ "path": "bash"
45
+ }
46
+ }
47
+ },
48
+ // Add the IDs of extensions you want installed when the container is created.
49
+ "extensions": [
50
+ "ms-python.python",
51
+ "ms-python.vscode-pylance",
52
+ "ms-python.pylint",
53
+ "ms-python.black-formatter",
54
+ "ms-python.flake8",
55
+ "marklarah.pre-commit-vscode",
56
+ "ms-toolsai.jupyter",
57
+ "ms-toolsai.jupyter-renderers",
58
+ "ms-toolsai.jupyter-keymap",
59
+ "jithurjacob.nbpreviewer"
60
+ ],
61
+ }
62
+ },
63
+ // Mount to a volume if you'd like to persist data to your disk
64
+ "mounts": [
65
+ // Mounds your local bach_profile to the container's bashrc
66
+ "source=${localEnv:HOME}/.bash_profile,target=/home/vscode/.bashrc,type=bind,consistency=cached"
67
+ ],
68
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
69
+ // "forwardPorts": [],
70
+ // package is uninstalled from the container image after it is created to avoid circular import errors during development
71
+ "postCreateCommand": "sudo pip3 uninstall sammi -y",
72
+ // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
73
+ "remoteUser": "vscode"
74
+ }
@@ -0,0 +1,40 @@
1
+ # This workflow will install Python dependencies, run tests, run linting, and test building docs
2
+ name: Codestyle and Linting
3
+
4
+ on:
5
+ push:
6
+ branches:
7
+ - main
8
+ pull_request:
9
+ branches:
10
+ - main
11
+ workflow_dispatch: # For on demand runs
12
+ schedule:
13
+ - cron: 0 0 * * * # Scheduled run every day at midnight
14
+ jobs:
15
+ build:
16
+
17
+ runs-on: ${{ matrix.platform }}
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ platform: [ubuntu-latest]
22
+ python-version: [3.9]
23
+
24
+ steps:
25
+ - uses: actions/checkout@v2
26
+ - name: Set up Python ${{ matrix.python-version }}
27
+ uses: actions/setup-python@v2
28
+ with:
29
+ python-version: ${{ matrix.python-version }}
30
+ - name: Install dependencies
31
+ run: |
32
+ pip install pip setuptools wheel --upgrade
33
+ python -m pip install -e '.[style]'
34
+ - name: Lint with Black
35
+ run: |
36
+ black --check --diff sammi
37
+ - name: flake8
38
+ run: |
39
+ flake8 --count sammi
40
+
@@ -0,0 +1,35 @@
1
+ # This workflow will install Python dependencies, run tests, run linting, and build docs
2
+ name: Building Docs
3
+
4
+ on:
5
+ push:
6
+ branches:
7
+ - main
8
+ pull_request:
9
+ branches:
10
+ - main
11
+ workflow_dispatch: # For on demand runs
12
+ schedule:
13
+ - cron: 0 0 * * * # Scheduled run every day at midnight
14
+ jobs:
15
+ build:
16
+
17
+ runs-on: ${{ matrix.platform }}
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ platform: [ubuntu-latest]
22
+ python-version: [3.9]
23
+
24
+ steps:
25
+ - uses: actions/checkout@v2
26
+ - name: Set up Python ${{ matrix.python-version }}
27
+ uses: actions/setup-python@v2
28
+ with:
29
+ python-version: ${{ matrix.python-version }}
30
+ - name: rstcheck
31
+ run: |
32
+ pip install -e .[style,docs,all]
33
+ rstcheck -r docs
34
+ - name: Build docs
35
+ run: sphinx-build docs docs/_build/html -W -b html
@@ -0,0 +1,69 @@
1
+ name: Build and upload to PyPI
2
+
3
+ concurrency:
4
+ group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }}
5
+ cancel-in-progress: true
6
+
7
+ on:
8
+ release:
9
+ types:
10
+ - published
11
+
12
+ jobs:
13
+
14
+ build_sdist:
15
+ name: Build source distribution
16
+ runs-on: ubuntu-latest
17
+ outputs:
18
+ SDIST_NAME: ${{ steps.sdist.outputs.SDIST_NAME }}
19
+
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+ with:
23
+ # We need the full history to generate the proper version number
24
+ fetch-depth: 0
25
+
26
+ - uses: actions/setup-python@v4
27
+ name: Install Python
28
+ with:
29
+ python-version: '3.11'
30
+
31
+ - name: Install dependencies
32
+ run: python -m pip install build twine
33
+
34
+ - name: Build sdist
35
+ id: sdist
36
+ run: |
37
+ python -m build --sdist
38
+ # Get the name of the build sdist file for later use
39
+ echo "SDIST_NAME=$(ls -1 dist)" >> $GITHUB_OUTPUT
40
+
41
+ - name: Check README rendering for PyPI
42
+ run: twine check dist/*
43
+
44
+ - name: Upload sdist result
45
+ uses: actions/upload-artifact@v3
46
+ with:
47
+ name: sdist
48
+ path: dist/*.tar.gz
49
+ if-no-files-found: error
50
+
51
+ pypi-publish:
52
+ name: Upload release to PyPI
53
+ runs-on: ubuntu-latest
54
+ needs: build_sdist
55
+ environment:
56
+ name: pypi
57
+ url: https://pypi.org/p/sammi-cdf
58
+ permissions:
59
+ id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
60
+
61
+ steps:
62
+ - name: Download sdist
63
+ uses: actions/download-artifact@v3
64
+ with:
65
+ name: sdist
66
+ path: dist
67
+
68
+ - name: Publish package distributions to PyPI
69
+ uses: pypa/gh-action-pypi-publish@v1.8.10
@@ -0,0 +1,44 @@
1
+ # This workflow will install Python dependencies, run tests, run linting, and test building docs
2
+ name: Testing
3
+
4
+ on:
5
+ push:
6
+ branches:
7
+ - main
8
+ pull_request:
9
+ branches:
10
+ - main
11
+ workflow_dispatch: # For on demand runs
12
+ schedule:
13
+ - cron: 0 0 * * * # Scheduled run every day at midnight
14
+ jobs:
15
+ build:
16
+
17
+ runs-on: ${{ matrix.platform }}
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ platform: [ubuntu-latest, macos-latest, windows-latest]
22
+ python-version: [3.9, '3.10', '3.11']
23
+
24
+ steps:
25
+ - uses: actions/checkout@v2
26
+ - name: Set up Python ${{ matrix.python-version }}
27
+ uses: actions/setup-python@v2
28
+ with:
29
+ python-version: ${{ matrix.python-version }}
30
+
31
+ - name: Install dependencies
32
+ run: |
33
+ pip install pip setuptools wheel --upgrade
34
+ pip install -e .[test]
35
+
36
+ - name: Run Tests
37
+ run: pytest --pyargs sammi --cov sammi
38
+ env:
39
+ PLATFORM: ${{ matrix.platform }}
40
+
41
+ - name: Upload coverage reports to Codecov
42
+ uses: codecov/codecov-action@v4.0.1
43
+ with:
44
+ token: ${{ secrets.CODECOV_TOKEN }}
@@ -0,0 +1,144 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ pip-wheel-metadata/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ target/
76
+
77
+ # Jupyter Notebook
78
+ .ipynb_checkpoints
79
+ *.ipynb
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ .python-version
87
+
88
+ # pylint / pyreverse
89
+ *.dot
90
+ *.png
91
+
92
+ # pipenv
93
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
94
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
95
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
96
+ # install all needed dependencies.
97
+ #Pipfile.lock
98
+
99
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
100
+ __pypackages__/
101
+
102
+ # Celery stuff
103
+ celerybeat-schedule
104
+ celerybeat.pid
105
+
106
+ # SageMath parsed files
107
+ *.sage.py
108
+
109
+ # Environments
110
+ .env
111
+ .venv
112
+ env/
113
+ venv/
114
+ ENV/
115
+ env.bak/
116
+ venv.bak/
117
+ .vscode
118
+
119
+ # Spyder project settings
120
+ .spyderproject
121
+ .spyproject
122
+
123
+ # Rope project settings
124
+ .ropeproject
125
+
126
+ # mkdocs documentation
127
+ /site
128
+
129
+ # mypy
130
+ .mypy_cache/
131
+ .dmypy.json
132
+ dmypy.json
133
+
134
+ # Pyre type checker
135
+ .pyre/
136
+ swxschema/version.py
137
+
138
+ # Mac hidden files
139
+ .DS_Store
140
+
141
+ # files generated by sphinx
142
+ docs/generated
143
+
144
+ _version.py
@@ -0,0 +1,53 @@
1
+ exclude: '.git|.tox'
2
+
3
+ repos:
4
+ # The warnings/errors we check for here are:
5
+ # E101 - mix of tabs and spaces
6
+ # W191 - use of tabs
7
+ # W291 - trailing whitespace
8
+ # W292 - no newline at end of file
9
+ # W293 - trailing whitespace
10
+ # W391 - blank line at end of file
11
+ # E111 - 4 spaces per indentation level
12
+ # E112 - 4 spaces per indentation level
13
+ # E113 - 4 spaces per indentation level
14
+ # E303 - too many blank lines (3)
15
+ # E304 - blank lines found after function decorator
16
+ # E305 - expected 2 blank lines after class or function definition
17
+ # E306 - expected 1 blank line before a nested definition
18
+ # E502 - the backslash is redundant between brackets
19
+ # E722 - do not use bare except
20
+ # E901 - SyntaxError or IndentationError
21
+ # E902 - IOError
22
+ # F822: undefined name in __all__
23
+ # F823: local variable name referenced before assignment
24
+ - repo: https://github.com/pycqa/flake8
25
+ rev: 7.0.0
26
+ hooks:
27
+ - id: flake8
28
+ args: ['--count', '--select', 'E101,E11,E111,E112,E113,E121,E122,E123,E124,E125,E126,E127,E128,E129,E131,E133,E20,E211,E231,E241,E242,E251,E252,E26,E265,E266,E27,E301,E302,E303,E304,E305,E306,E401,E402,E502,E701,E711,E712,E713,E714,E722,E731,E901,E902,F822,F823,W191,W291,W292,W293,W391,W601,W602,W603,W604,W605,W690']
29
+
30
+ - repo: https://github.com/psf/black
31
+ rev: 24.1.1
32
+ hooks:
33
+ - id: black
34
+
35
+ - repo: https://github.com/rstcheck/rstcheck
36
+ rev: v6.2.0
37
+ hooks:
38
+ - id: rstcheck
39
+
40
+ - repo: https://github.com/pre-commit/pre-commit-hooks
41
+ rev: v2.4.0
42
+ hooks:
43
+ - id: check-ast
44
+ - id: check-case-conflict
45
+ - id: trailing-whitespace
46
+ exclude: ".*(.fits|.fts|.fit|.txt)$"
47
+ - id: check-yaml
48
+ - id: debug-statements
49
+ - id: check-added-large-files
50
+ # - id: end-of-file-fixer uncommenting this will break the testing of the cookiecutter template
51
+ # exclude: ".*(.fits|.fts|.fit|.txt|tca.*)$"
52
+ - id: mixed-line-ending
53
+ exclude: ".*(.fits|.fts|.fit|.txt|tca.*)$"
@@ -0,0 +1,31 @@
1
+ # Read the Docs configuration file for Sphinx projects
2
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3
+
4
+ # Required
5
+ version: 2
6
+
7
+ # Set the OS, Python version and other tools you might need
8
+ build:
9
+ os: ubuntu-22.04
10
+ tools:
11
+ python: "3.9"
12
+ jobs:
13
+ pre_build:
14
+ - pip install pip setuptools wheel --upgrade
15
+ - pip install -e .[docs,all]
16
+
17
+ # Optionally build your docs in additional formats such as PDF and ePub
18
+ formats:
19
+ - pdf
20
+ - epub
21
+
22
+ # Optional but recommended, declare the Python requirements required
23
+ # to build your documentation
24
+ # See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
25
+ # python:
26
+ # install:
27
+ # - method: pip
28
+ # path: .
29
+ # extra_requirements:
30
+ # - docs
31
+ # - all
@@ -0,0 +1,11 @@
1
+ This project uses `semantic versioning <https://semver.org>`_.
2
+
3
+ Latest
4
+ ======
5
+ * Added Functionality from HERMES partner package.
6
+
7
+ 0.0.0 (2023-03-22)
8
+ ==================
9
+ Initial project release
10
+
11
+ - Initial Release
@@ -0,0 +1 @@
1
+ see licenses/LICENSE.md
@@ -0,0 +1,17 @@
1
+ include README.rst
2
+ include CHANGES.rst
3
+ include setup.cfg
4
+ include LICENSE.rst
5
+ include pyproject.toml
6
+
7
+ recursive-include swxschema *.pyx *.c *.pxd
8
+ recursive-include docs *
9
+ recursive-include licenses *
10
+ recursive-include cextern *
11
+ recursive-include scripts *
12
+
13
+ prune build
14
+ prune docs/_build
15
+ prune docs/api
16
+
17
+ global-exclude *.pyc *.o
@@ -0,0 +1,141 @@
1
+ Metadata-Version: 2.1
2
+ Name: sammi-cdf
3
+ Version: 0.1.1
4
+ Summary: A Python package to support metadata attriubte management for Space Weather data processing pipelines.
5
+ Author-email: Andrew Robbertz <a.robbertz@gmail.com>, IMAP SDC Developers <imap.sdc@lists.lasp.colorado.edu>
6
+ License: see licenses/LICENSE.md
7
+ Project-URL: Homepage, https://github.com/swxsoc/sammi
8
+ Keywords: sammi,nasa mission,space weather
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Natural Language :: English
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: Topic :: Scientific/Engineering
16
+ Classifier: Topic :: Scientific/Engineering :: Physics
17
+ Requires-Python: >=3.9
18
+ Description-Content-Type: text/x-rst
19
+ License-File: LICENSE.rst
20
+ Requires-Dist: pyyaml>=5.3.1
21
+ Provides-Extra: dev
22
+ Requires-Dist: coverage>=5.0.3; extra == "dev"
23
+ Requires-Dist: pytest==8.0.0; extra == "dev"
24
+ Requires-Dist: pytest-astropy==0.11.0; extra == "dev"
25
+ Requires-Dist: pytest-cov==4.1.0; extra == "dev"
26
+ Requires-Dist: black==24.1.1; extra == "dev"
27
+ Requires-Dist: flake8==7.0.0; extra == "dev"
28
+ Requires-Dist: coverage[toml]==7.4.1; extra == "dev"
29
+ Provides-Extra: docs
30
+ Requires-Dist: sphinx==7.2.6; extra == "docs"
31
+ Requires-Dist: sphinx-automodapi==0.16.0; extra == "docs"
32
+ Requires-Dist: sphinx-copybutton==0.5.2; extra == "docs"
33
+ Provides-Extra: test
34
+ Requires-Dist: pytest==8.0.0; extra == "test"
35
+ Requires-Dist: pytest-astropy==0.11.0; extra == "test"
36
+ Requires-Dist: pytest-cov==4.1.0; extra == "test"
37
+ Requires-Dist: coverage[toml]==7.4.1; extra == "test"
38
+ Provides-Extra: style
39
+ Requires-Dist: black==24.1.1; extra == "style"
40
+ Requires-Dist: flake8==7.0.0; extra == "style"
41
+ Requires-Dist: rstcheck==6.2.0; extra == "style"
42
+
43
+ ========
44
+ Overview
45
+ ========
46
+
47
+ SAMMI (Shared Attribute and Metadata Management Interface) is a python package that provides a schema for metadata attributes within space weather data products.
48
+ This package is a SWxSOC project and can be used in conjunction with other SWxSOC projects, or as a standalone package.
49
+
50
+ .. start-badges
51
+
52
+ .. list-table::
53
+ :stub-columns: 1
54
+
55
+ * - docs
56
+ - |docs| |readthedocs|
57
+ * - build status
58
+ - |testing| |codestyle| |coverage|
59
+
60
+ .. |docs| image:: https://github.com/swxsoc/swxschema/actions/workflows/docs.yml/badge.svg
61
+ :target: https://github.com/swxsoc/swxschema/actions/workflows/docs.yml
62
+ :alt: Documentation Build Status
63
+
64
+ .. |testing| image:: https://github.com/swxsoc/swxschema/actions/workflows/testing.yml/badge.svg
65
+ :target: https://github.com/swxsoc/swxschema/actions/workflows/testing.yml
66
+ :alt: Build Status
67
+
68
+ .. |codestyle| image:: https://github.com/swxsoc/swxschema/actions/workflows/codestyle.yml/badge.svg
69
+ :target: https://github.com/swxsoc/swxschema/actions/workflows/codestyle.yml
70
+ :alt: Codestyle and linting using flake8
71
+
72
+ .. |coverage| image:: https://codecov.io/gh/swxsoc/swxschema/branch/main/graph/badge.svg?token=C6JLIWZRBU
73
+ :target: https://codecov.io/gh/swxsoc/swxschema
74
+ :alt: Testing coverage
75
+
76
+ .. |readthedocs| image:: https://readthedocs.org/projects/swxschema/badge/?version=latest
77
+ :target: https://swxschema.readthedocs.io/en/latest/?badge=latest
78
+ :alt: Documentation Status
79
+
80
+ .. end-badges
81
+
82
+ Documentation
83
+ -------------
84
+ The documentation is hosted on readthedocs and is available `here <https://swxschema.readthedocs.io/en/latest/>`_.
85
+
86
+ License
87
+ -------
88
+
89
+ See the license/LICENSE file for more information.
90
+
91
+
92
+ Contributing
93
+ ------------
94
+
95
+ We love contributions! This project is open source,
96
+ built on open source, and we'd love to have you hang out in our community.
97
+
98
+ **Imposter syndrome disclaimer**: We want your help. No, really.
99
+
100
+ There may be a little voice inside your head that is telling you that you're not
101
+ ready to be an open source contributor; that your skills aren't nearly good
102
+ enough to contribute. What could you possibly offer a project like this one?
103
+
104
+ We assure you - the little voice in your head is wrong. If you can write code at
105
+ all, you can contribute code to open source. Contributing to open source
106
+ projects is a fantastic way to advance one's coding skills. Writing perfect code
107
+ isn't the measure of a good developer (that would disqualify all of us!); it's
108
+ trying to create something, making mistakes, and learning from those
109
+ mistakes. That's how we all improve, and we are happy to help others learn.
110
+
111
+ Being an open source contributor doesn't just mean writing code, either. You can
112
+ help out by writing documentation, tests, or even giving feedback about the
113
+ project (and yes - that includes giving feedback about the contribution
114
+ process). Some of these contributions may be the most valuable to the project as
115
+ a whole, because you're coming to the project with fresh eyes, so you can see
116
+ the errors and assumptions that seasoned contributors have glossed over.
117
+
118
+ Note: This disclaimer was originally written by
119
+ `Adrienne Lowe <https://github.com/adriennefriend>`_ for a
120
+ `PyCon talk <https://www.youtube.com/watch?v=6Uj746j9Heo>`_, and was adapted by
121
+ by this project based on its use in the README file for the
122
+ `MetPy project <https://github.com/Unidata/MetPy>`_.
123
+
124
+ Code of Conduct
125
+ ---------------
126
+ When you are interacting with the SWxSOC community you are asked to follow
127
+ our `Code of Conduct <https://github.com/swxsoc/code-of-conduct/blob/main/CODE_OF_CONDUCT.md>`_.
128
+
129
+ Acknowledgements
130
+ ----------------
131
+ The package template used by this package is based on the one developed by the
132
+ `OpenAstronomy community <https://openastronomy.org>`_ and the `SunPy Project <https://sunpy.org/>`_.
133
+
134
+ Public Domain
135
+ -------------
136
+
137
+ This project constitutes a work of the United States Government and is not subject to domestic copyright protection under `17 USC § 105 <https://www.govinfo.gov/app/details/USCODE-2010-title17/USCODE-2010-title17-chap1-sec105>`__. Additionally, we waive copyright and related rights in the work worldwide through the `CC0 1.0 Universal public domain dedication <https://creativecommons.org/publicdomain/zero/1.0/>`__.
138
+
139
+ All contributions to this project will be released under the CC0
140
+ dedication. By submitting a pull request, you are agreeing to comply
141
+ with this waiver of copyright interest.