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.
- sammi_cdf-0.1.1/.devcontainer/devcontainer.json +74 -0
- sammi_cdf-0.1.1/.github/workflows/codestyle.yml +40 -0
- sammi_cdf-0.1.1/.github/workflows/docs.yml +35 -0
- sammi_cdf-0.1.1/.github/workflows/release.yml +69 -0
- sammi_cdf-0.1.1/.github/workflows/testing.yml +44 -0
- sammi_cdf-0.1.1/.gitignore +144 -0
- sammi_cdf-0.1.1/.pre-commit-config.yaml +53 -0
- sammi_cdf-0.1.1/.readthedocs.yml +31 -0
- sammi_cdf-0.1.1/CHANGELOG.rst +11 -0
- sammi_cdf-0.1.1/LICENSE.rst +1 -0
- sammi_cdf-0.1.1/MANIFEST.in +17 -0
- sammi_cdf-0.1.1/PKG-INFO +141 -0
- sammi_cdf-0.1.1/README.rst +99 -0
- sammi_cdf-0.1.1/docs/Makefile +24 -0
- sammi_cdf-0.1.1/docs/_static/css/custom.css +18 -0
- sammi_cdf-0.1.1/docs/api.rst +10 -0
- sammi_cdf-0.1.1/docs/conf.py +148 -0
- sammi_cdf-0.1.1/docs/dev-guide/code_standards.rst +171 -0
- sammi_cdf-0.1.1/docs/dev-guide/dev_env.rst +34 -0
- sammi_cdf-0.1.1/docs/dev-guide/docs.rst +88 -0
- sammi_cdf-0.1.1/docs/dev-guide/index.rst +17 -0
- sammi_cdf-0.1.1/docs/dev-guide/maintainer_workflow.rst +134 -0
- sammi_cdf-0.1.1/docs/dev-guide/tests.rst +61 -0
- sammi_cdf-0.1.1/docs/index.rst +12 -0
- sammi_cdf-0.1.1/docs/logo/favicon.ico +0 -0
- sammi_cdf-0.1.1/docs/logo/swxsoc_logo.png +0 -0
- sammi_cdf-0.1.1/docs/make.bat +35 -0
- sammi_cdf-0.1.1/docs/user-guide/.gitignore +2 -0
- sammi_cdf-0.1.1/docs/user-guide/cdf_attribute_management.rst +156 -0
- sammi_cdf-0.1.1/docs/user-guide/cdf_format_guide.rst +412 -0
- sammi_cdf-0.1.1/docs/user-guide/index.rst +14 -0
- sammi_cdf-0.1.1/docs/whatsnew/changelog.rst +7 -0
- sammi_cdf-0.1.1/docs/whatsnew/index.rst +8 -0
- sammi_cdf-0.1.1/licenses/LICENSE.md +201 -0
- sammi_cdf-0.1.1/licenses/README.rst +6 -0
- sammi_cdf-0.1.1/pyproject.toml +115 -0
- sammi_cdf-0.1.1/sammi/CITATION.rst +16 -0
- sammi_cdf-0.1.1/sammi/__init__.py +7 -0
- sammi_cdf-0.1.1/sammi/_version.py +16 -0
- sammi_cdf-0.1.1/sammi/cdf_attribute_manager.py +611 -0
- sammi_cdf-0.1.1/sammi/data/README.rst +6 -0
- sammi_cdf-0.1.1/sammi/data/default_global_cdf_attrs_schema.yaml +280 -0
- sammi_cdf-0.1.1/sammi/data/default_variable_cdf_attrs_schema.yaml +551 -0
- sammi_cdf-0.1.1/sammi/tests/__init__.py +4 -0
- sammi_cdf-0.1.1/sammi/tests/test_cdf_attribute_manager.py +519 -0
- sammi_cdf-0.1.1/sammi/tests/test_data/default_global_test_cdf_attrs.yaml +8 -0
- sammi_cdf-0.1.1/sammi/tests/test_data/imap_default_global_cdf_attrs.yaml +7 -0
- sammi_cdf-0.1.1/sammi/tests/test_data/imap_instrument1_global_cdf_attrs.yaml +14 -0
- sammi_cdf-0.1.1/sammi/tests/test_data/imap_instrument1_level1_variable_attrs.yaml +23 -0
- sammi_cdf-0.1.1/sammi/tests/test_data/imap_instrument2_global_cdf_attrs.yaml +23 -0
- sammi_cdf-0.1.1/sammi/tests/test_data/imap_instrument2_level2_variable_attrs.yaml +30 -0
- sammi_cdf-0.1.1/sammi/tests/test_data/imap_test_global.yaml +26 -0
- sammi_cdf-0.1.1/sammi/tests/test_data/imap_test_variable.yaml +41 -0
- sammi_cdf-0.1.1/sammi_cdf.egg-info/PKG-INFO +141 -0
- sammi_cdf-0.1.1/sammi_cdf.egg-info/SOURCES.txt +58 -0
- sammi_cdf-0.1.1/sammi_cdf.egg-info/dependency_links.txt +1 -0
- sammi_cdf-0.1.1/sammi_cdf.egg-info/requires.txt +26 -0
- sammi_cdf-0.1.1/sammi_cdf.egg-info/top_level.txt +1 -0
- 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 @@
|
|
|
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
|
sammi_cdf-0.1.1/PKG-INFO
ADDED
|
@@ -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.
|