shipgrav 1.0.4__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 (62) hide show
  1. shipgrav-1.0.4/.github/test_conda_env.yml +12 -0
  2. shipgrav-1.0.4/.github/workflows/draft-pdf.yml +24 -0
  3. shipgrav-1.0.4/.github/workflows/release-publish.yml +119 -0
  4. shipgrav-1.0.4/.github/workflows/test.yml +50 -0
  5. shipgrav-1.0.4/.gitignore +7 -0
  6. shipgrav-1.0.4/.readthedocs.yml +13 -0
  7. shipgrav-1.0.4/CHANGELOG +50 -0
  8. shipgrav-1.0.4/CONTRIBUTORS.md +27 -0
  9. shipgrav-1.0.4/LICENSE +675 -0
  10. shipgrav-1.0.4/PKG-INFO +55 -0
  11. shipgrav-1.0.4/docs/Makefile +20 -0
  12. shipgrav-1.0.4/docs/_static/SR2312_serial_laptop.png +0 -0
  13. shipgrav-1.0.4/docs/_static/TN400_FAA.png +0 -0
  14. shipgrav-1.0.4/docs/_static/TN400_ccp.png +0 -0
  15. shipgrav-1.0.4/docs/_static/cursor.png +0 -0
  16. shipgrav-1.0.4/docs/_static/rmba.png +0 -0
  17. shipgrav-1.0.4/docs/_static/roll_coherence.png +0 -0
  18. shipgrav-1.0.4/docs/_templates/mynavigation.html +10 -0
  19. shipgrav-1.0.4/docs/conf.py +62 -0
  20. shipgrav-1.0.4/docs/index.rst +39 -0
  21. shipgrav-1.0.4/docs/make.bat +35 -0
  22. shipgrav-1.0.4/docs/requirements.txt +12 -0
  23. shipgrav-1.0.4/example-scripts/RMBA_calc.py +263 -0
  24. shipgrav-1.0.4/example-scripts/dgs_bgm_comp.py +163 -0
  25. shipgrav-1.0.4/example-scripts/dgs_ccp_calc.py +143 -0
  26. shipgrav-1.0.4/example-scripts/dgs_raw_comp.py +256 -0
  27. shipgrav-1.0.4/example-scripts/interactive_line_pick.py +178 -0
  28. shipgrav-1.0.4/example-scripts/mru_coherence.py +166 -0
  29. shipgrav-1.0.4/joss/paper.bib +188 -0
  30. shipgrav-1.0.4/joss/paper.md +62 -0
  31. shipgrav-1.0.4/pyproject.toml +33 -0
  32. shipgrav-1.0.4/readme.md +30 -0
  33. shipgrav-1.0.4/shipgrav/__init__.py +153 -0
  34. shipgrav-1.0.4/shipgrav/database.toml +25 -0
  35. shipgrav-1.0.4/shipgrav/grav.py +1253 -0
  36. shipgrav-1.0.4/shipgrav/io.py +769 -0
  37. shipgrav-1.0.4/shipgrav/nav.py +91 -0
  38. shipgrav-1.0.4/shipgrav/tests/__init__.py +17 -0
  39. shipgrav-1.0.4/shipgrav/tests/__main__.py +3 -0
  40. shipgrav-1.0.4/shipgrav/tests/ex_files/AT01_bgm.BGM +4 -0
  41. shipgrav-1.0.4/shipgrav/tests/ex_files/AT01_nav.gps +8 -0
  42. shipgrav-1.0.4/shipgrav/tests/ex_files/AT05_01_bgm.RGS +4 -0
  43. shipgrav-1.0.4/shipgrav/tests/ex_files/DGStest_laptop.dat +1001 -0
  44. shipgrav-1.0.4/shipgrav/tests/ex_files/IXBlue.yaml +160 -0
  45. shipgrav-1.0.4/shipgrav/tests/ex_files/MGL2003_bgm.y2020d244 +4 -0
  46. shipgrav-1.0.4/shipgrav/tests/ex_files/MGL2003_nav.y2020d244 +12 -0
  47. shipgrav-1.0.4/shipgrav/tests/ex_files/NBP_2301_nav.d013 +22 -0
  48. shipgrav-1.0.4/shipgrav/tests/ex_files/RR2212_bgm.txt +6 -0
  49. shipgrav-1.0.4/shipgrav/tests/ex_files/RR2212_nav.txt +19 -0
  50. shipgrav-1.0.4/shipgrav/tests/ex_files/SR2302_nav.raw +36 -0
  51. shipgrav-1.0.4/shipgrav/tests/ex_files/SR2312_dgs_raw.txt +2 -0
  52. shipgrav-1.0.4/shipgrav/tests/ex_files/SR2312_mru.txt +12 -0
  53. shipgrav-1.0.4/shipgrav/tests/ex_files/TN400_bgm.Raw +2 -0
  54. shipgrav-1.0.4/shipgrav/tests/ex_files/TN400_dgs_proc.Raw +2 -0
  55. shipgrav-1.0.4/shipgrav/tests/ex_files/TN400_dgs_raw.Raw +0 -0
  56. shipgrav-1.0.4/shipgrav/tests/ex_files/TN400_nav.Raw +2 -0
  57. shipgrav-1.0.4/shipgrav/tests/test_grav_data.py +81 -0
  58. shipgrav-1.0.4/shipgrav/tests/test_grav_nodata.py +65 -0
  59. shipgrav-1.0.4/shipgrav/tests/test_io.py +128 -0
  60. shipgrav-1.0.4/shipgrav/tests/test_nav.py +42 -0
  61. shipgrav-1.0.4/shipgrav/tests/test_utils.py +34 -0
  62. shipgrav-1.0.4/shipgrav/utils.py +278 -0
@@ -0,0 +1,12 @@
1
+ name: test
2
+ channels:
3
+ - conda-forge
4
+ dependencies:
5
+ - numpy
6
+ - scipy
7
+ - pandas
8
+ - statsmodels
9
+ - tomli
10
+ - pyyaml
11
+ - coverage
12
+ - tqdm
@@ -0,0 +1,24 @@
1
+ name: Draft PDF
2
+ on: [workflow_dispatch]
3
+
4
+ jobs:
5
+ paper:
6
+ runs-on: ubuntu-latest
7
+ name: Paper Draft
8
+ steps:
9
+ - name: Checkout
10
+ uses: actions/checkout@v4
11
+ - name: Build draft PDF
12
+ uses: openjournals/openjournals-draft-action@master
13
+ with:
14
+ journal: joss
15
+ # This should be the path to the paper within your repo.
16
+ paper-path: joss/paper.md
17
+ - name: Upload
18
+ uses: actions/upload-artifact@v4
19
+ with:
20
+ name: paper
21
+ # This is the output path where Pandoc will write the compiled
22
+ # PDF. Note, this should be the same directory as the input
23
+ # paper.md
24
+ path: joss/paper.pdf
@@ -0,0 +1,119 @@
1
+ name: Publish Python 🐍 distribution 📦 to TestPyPI
2
+
3
+ on: push
4
+
5
+ jobs:
6
+ build:
7
+ name: Build distribution 📦
8
+ runs-on: ubuntu-latest
9
+
10
+ steps:
11
+ - uses: actions/checkout@v4
12
+ - name: Set up Python
13
+ uses: actions/setup-python@v5
14
+ with:
15
+ python-version: "3.x"
16
+ - name: Install pypa/build
17
+ run: >-
18
+ python3 -m
19
+ pip install
20
+ build
21
+ --user
22
+ - name: Build a binary wheel and a source tarball
23
+ run: python3 -m build
24
+ - name: Store the distribution packages
25
+ uses: actions/upload-artifact@v4
26
+ with:
27
+ name: python-package-distributions
28
+ path: dist/
29
+
30
+ publish-to-pypi:
31
+ name: >-
32
+ Publish Python 🐍 distribution 📦 to TestPyPI
33
+ if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
34
+ needs:
35
+ - build
36
+ runs-on: ubuntu-latest
37
+ environment:
38
+ name: pypi
39
+ url: https://pypi.org/p/shipgrav
40
+ permissions:
41
+ id-token: write # IMPORTANT: mandatory for trusted publishing
42
+
43
+ steps:
44
+ - name: Download all the dists
45
+ uses: actions/download-artifact@v4
46
+ with:
47
+ name: python-package-distributions
48
+ path: dist/
49
+ - name: Publish distribution 📦 to PyPI
50
+ uses: pypa/gh-action-pypi-publish@release/v1
51
+
52
+ github-release:
53
+ name: >-
54
+ Sign the Python 🐍 distribution 📦 with Sigstore
55
+ and upload them to GitHub Release
56
+ if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
57
+ needs:
58
+ - build
59
+ runs-on: ubuntu-latest
60
+
61
+ permissions:
62
+ contents: write # IMPORTANT: mandatory for making GitHub Releases
63
+ id-token: write # IMPORTANT: mandatory for sigstore
64
+
65
+ steps:
66
+ - name: Download all the dists
67
+ uses: actions/download-artifact@v4
68
+ with:
69
+ name: python-package-distributions
70
+ path: dist/
71
+ - name: Sign the dists with Sigstore
72
+ uses: sigstore/gh-action-sigstore-python@v2.1.1
73
+ with:
74
+ inputs: >-
75
+ ./dist/*.tar.gz
76
+ ./dist/*.whl
77
+ - name: Create GitHub Release
78
+ env:
79
+ GITHUB_TOKEN: ${{ github.token }}
80
+ run: >-
81
+ gh release create
82
+ '${{ github.ref_name }}'
83
+ --repo '${{ github.repository }}'
84
+ --notes ""
85
+ - name: Upload artifact signatures to GitHub Release
86
+ env:
87
+ GITHUB_TOKEN: ${{ github.token }}
88
+ # Upload to GitHub Release using the `gh` CLI.
89
+ # `dist/` contains the built packages, and the
90
+ # sigstore-produced signatures and certificates.
91
+ run: >-
92
+ gh release upload
93
+ '${{ github.ref_name }}' dist/**
94
+ --repo '${{ github.repository }}'
95
+
96
+ publish-to-testpypi:
97
+ name: Publish Python 🐍 distribution 📦 to TestPyPI
98
+ if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
99
+ needs:
100
+ - build
101
+ runs-on: ubuntu-latest
102
+
103
+ environment:
104
+ name: testpypi
105
+ url: https://test.pypi.org/p/shipgrav
106
+
107
+ permissions:
108
+ id-token: write # IMPORTANT: mandatory for trusted publishing
109
+
110
+ steps:
111
+ - name: Download all the dists
112
+ uses: actions/download-artifact@v4
113
+ with:
114
+ name: python-package-distributions
115
+ path: dist/
116
+ - name: Publish distribution 📦 to TestPyPI
117
+ uses: pypa/gh-action-pypi-publish@release/v1
118
+ with:
119
+ repository-url: https://test.pypi.org/legacy/
@@ -0,0 +1,50 @@
1
+ name: tests
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ #workflow_dispatch:
7
+ pull_request:
8
+ branches:
9
+ - main
10
+ schedule:
11
+ - cron: '42 0 * * 6'
12
+ jobs:
13
+ run_tests:
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ os: [ubuntu-latest, macos-latest, windows-latest]
18
+ python: [3.9, "3.10","3.13"]
19
+ add_package: [""]
20
+ continue-on-error: [false]
21
+ runs-on: ${{ matrix.os }}
22
+ continue-on-error: ${{ matrix.continue-on-error }}
23
+ defaults:
24
+ run:
25
+ shell: bash -l {0}
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+ - name: Setup conda
29
+ uses: conda-incubator/setup-miniconda@v3
30
+ with:
31
+ python-version: ${{ matrix.python }}
32
+ environment-file: .github/test_conda_env.yml
33
+ - name: print conda environment info
34
+ run: |
35
+ conda info -a
36
+ conda list
37
+ - name: install package
38
+ run: |
39
+ pip install -v --no-deps .
40
+ conda list
41
+ - name: run test suite
42
+ run: |
43
+ mkdir empty; cd empty
44
+ cp -r ../shipgrav/tests/ex_files .
45
+ coverage run --include='*/shipgrav/*' -m shipgrav.tests
46
+ coverage xml -o ../coverage.xml
47
+ - name: upload coverage
48
+ uses: codecov/codecov-action@v4
49
+ env:
50
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -0,0 +1,7 @@
1
+ *.swp
2
+ shipgrav/__pycache__/
3
+ example-scripts/data*/
4
+ shipgrav/tests/__pycache__/
5
+ shipgrav/tests/.coverage
6
+ docs/_build/
7
+ *.code-workspace
@@ -0,0 +1,13 @@
1
+ version: "2"
2
+
3
+ build:
4
+ os: "ubuntu-22.04"
5
+ tools:
6
+ python: "3.10"
7
+
8
+ python:
9
+ install:
10
+ - requirements: docs/requirements.txt
11
+
12
+ sphinx:
13
+ configuration: docs/conf.py
@@ -0,0 +1,50 @@
1
+ 2024-11-01 Hannah F Mark <hmark@whoi.edu>
2
+
3
+ * update dependencies and docs
4
+ * add a flag to turn progress bars on/off so tests are cleaner
5
+ * add more tests for better coverage, fix bugs discovered by tests
6
+ * format example scripts for jupytext, update docs and optional dependencies
7
+ * update example scripts to use pooch for download, delete data_download script
8
+ * add progress bars for things (mostly file reads) and tqdm dependency
9
+
10
+ 2024-10-29 Hannah F Mark <hmark@whoi.edu>
11
+
12
+ * clean/format code with isort and flake8
13
+ * update triggers for test workflow: run on push and on PR
14
+ * use abs path for example files so tests can be run from outside tests/ dir
15
+
16
+ v1.0.3
17
+
18
+ 2024-10-25 Hannah F Mark <hmark@whoi.edu>
19
+
20
+ * update pkg_resources (deprecated from 3.13) to importlib.resources for test suite
21
+ * fix download_data.sh curl by adding -L to follow R2R links
22
+ * fix SyntaxWarning for regular expressions in io.py by making raw strings
23
+ * fix DeprecationWarning for parse_dates with nested sequences, sub in pd.to_datetime
24
+ * fix FutureWarning for to_numeric, apply by column instead of whole DataFrame
25
+ * add geographiclib as dependency for RMBA example script (used for line extension)
26
+ * set tests to run on push (keeping scheduled ones too)
27
+ * add Python 3.13 to the test matrix, simplify the os matrix logic
28
+ * update codecov action to v4 for nodejs version
29
+ * update CONTRIBUTORS -> to markdown, with info on who did what prior to github upload
30
+ * fix indexing in one part of RMBA example script for future deprecation of chained assignment
31
+ * add detail to contributor guidelines
32
+
33
+ v1.0.2
34
+
35
+ 2024-09-17 Hannah F Mark <hmark@whoi.edu>
36
+
37
+ * update docs and optional dependencies
38
+
39
+ v1.0.1
40
+
41
+ 2024-07-15 Hannah F Mark <hmark@whoi.edu>
42
+
43
+ * PEP8 reformat, typos
44
+ * include some 2D functions for Parker method, rename the 1D one
45
+ * repo is now in PFPE org instead of WHOIGit
46
+
47
+ 2024-04-23 Hannah F Mark <hmark@whoi.edu>
48
+
49
+ * docs/conf.py, readme.md, shipgrav/__init__.py: updated repo URLS
50
+ after repo tranfered to WHOIGit
@@ -0,0 +1,27 @@
1
+ # Contributors
2
+ Contributors to shipgrav are listed and described using the [Contributor Role Taxonomoy (CRediT)](https://credit.niso.org/)
3
+
4
+ ## Hannah F. Mark
5
+ - Conceptualization
6
+ - Data curation
7
+ - Software
8
+ - Visualization
9
+ - Writing -- original draft (JOSS)
10
+ - Writing -- review and editing (JOSS)
11
+
12
+ ## Masako Tominaga
13
+ - Conceptualization
14
+ - Funding acquisition
15
+ - Supervision
16
+ - Validation
17
+ - Writing -- review and editing (JOSS)
18
+
19
+ ## Jasmine Zhu
20
+ - Software
21
+
22
+ ## Maurice Tivey
23
+ - Funding acquisition
24
+ - Writing -- review and editing (JOSS)
25
+
26
+ ## Daniel Aliod
27
+ - Software