echoshader 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- echoshader-0.2.0/.github/ISSUE_TEMPLATE/gsoc2026.yml +25 -0
- echoshader-0.2.0/.github/dependabot.yml +7 -0
- echoshader-0.2.0/.github/workflows/pypi.yaml +109 -0
- echoshader-0.2.0/.github/workflows/pytest.yaml +36 -0
- echoshader-0.2.0/.github/workflows/update-spec0.yml +23 -0
- echoshader-0.2.0/.gitignore +36 -0
- echoshader-0.2.0/.markdownlint.yaml +239 -0
- echoshader-0.2.0/.markdownlintignore +1 -0
- echoshader-0.2.0/.pre-commit-config.yaml +33 -0
- echoshader-0.2.0/.readthedocs.yaml +39 -0
- echoshader-0.2.0/LICENSE +21 -0
- echoshader-0.2.0/MANIFEST.in +2 -0
- echoshader-0.2.0/PKG-INFO +177 -0
- echoshader-0.2.0/README.md +103 -0
- echoshader-0.2.0/docs/Makefile +20 -0
- echoshader-0.2.0/docs/make.bat +35 -0
- echoshader-0.2.0/docs/source/_config.yml +28 -0
- echoshader-0.2.0/docs/source/_toc.yml +8 -0
- echoshader-0.2.0/docs/source/app.md +98 -0
- echoshader-0.2.0/docs/source/conf.py +35 -0
- echoshader-0.2.0/docs/source/elements.md +106 -0
- echoshader-0.2.0/docs/source/index.md +21 -0
- echoshader-0.2.0/echoshader/__init__.py +6 -0
- echoshader-0.2.0/echoshader/_echoshader_version.py +24 -0
- echoshader-0.2.0/echoshader/app/__init__.py +6 -0
- echoshader-0.2.0/echoshader/app/builder.py +93 -0
- echoshader-0.2.0/echoshader/app/config.py +17 -0
- echoshader-0.2.0/echoshader/app/holoviz.py +685 -0
- echoshader-0.2.0/echoshader/app/launcher.py +61 -0
- echoshader-0.2.0/echoshader/app/registry.py +18 -0
- echoshader-0.2.0/echoshader/core.py +95 -0
- echoshader-0.2.0/echoshader/elements/curtain.py +229 -0
- echoshader-0.2.0/echoshader/elements/curve.py +13 -0
- echoshader-0.2.0/echoshader/elements/echogram.py +298 -0
- echoshader-0.2.0/echoshader/elements/hist.py +43 -0
- echoshader-0.2.0/echoshader/elements/nasc.py +36 -0
- echoshader-0.2.0/echoshader/elements/table.py +65 -0
- echoshader-0.2.0/echoshader/elements/track.py +203 -0
- echoshader-0.2.0/echoshader/test_data/concatenated_MVBS.nc +0 -0
- echoshader-0.2.0/echoshader/tests/app/test_app.py +117 -0
- echoshader-0.2.0/echoshader/tests/elements/test_curtain.py +76 -0
- echoshader-0.2.0/echoshader/tests/elements/test_curve.py +17 -0
- echoshader-0.2.0/echoshader/tests/elements/test_echogram.py +108 -0
- echoshader-0.2.0/echoshader/tests/elements/test_hist.py +59 -0
- echoshader-0.2.0/echoshader/tests/elements/test_nasc.py +43 -0
- echoshader-0.2.0/echoshader/tests/elements/test_table.py +28 -0
- echoshader-0.2.0/echoshader/tests/elements/test_track.py +54 -0
- echoshader-0.2.0/echoshader/utils.py +2 -0
- echoshader-0.2.0/echoshader/validation.py +170 -0
- echoshader-0.2.0/echoshader.egg-info/PKG-INFO +177 -0
- echoshader-0.2.0/echoshader.egg-info/SOURCES.txt +60 -0
- echoshader-0.2.0/echoshader.egg-info/dependency_links.txt +1 -0
- echoshader-0.2.0/echoshader.egg-info/requires.txt +55 -0
- echoshader-0.2.0/echoshader.egg-info/scm_file_list.json +56 -0
- echoshader-0.2.0/echoshader.egg-info/scm_version.json +8 -0
- echoshader-0.2.0/echoshader.egg-info/top_level.txt +1 -0
- echoshader-0.2.0/examples/app/app_config.yaml +17 -0
- echoshader-0.2.0/examples/notebooks/echogram_vertical_coordinates.ipynb +2500 -0
- echoshader-0.2.0/examples/notebooks/element_examples.ipynb +2835 -0
- echoshader-0.2.0/pyproject.toml +121 -0
- echoshader-0.2.0/pytest.ini +2 -0
- echoshader-0.2.0/setup.cfg +4 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name: GSoC 2026 discussion
|
|
2
|
+
description: Use this if you want to discuss anything related to GSoC 2026
|
|
3
|
+
title: "[GSoC 2026] ..."
|
|
4
|
+
labels: ["GSoC 2026"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: Welcome to GSoC 2026!
|
|
9
|
+
- type: textarea
|
|
10
|
+
attributes:
|
|
11
|
+
label: Discussion topic
|
|
12
|
+
description: |
|
|
13
|
+
What question do you have? What idea do you want to propose?
|
|
14
|
+
Please raise only one topic in each issue.
|
|
15
|
+
placeholder: I am wondering about ...
|
|
16
|
+
validations:
|
|
17
|
+
required: true
|
|
18
|
+
- type: textarea
|
|
19
|
+
attributes:
|
|
20
|
+
label: Related existing issues or PRs
|
|
21
|
+
description: |
|
|
22
|
+
Take a look at the current [issues](https://github.com/OSOceanAcoustics/echoshader/issues) and [PRs](https://github.com/OSOceanAcoustics/echoshader/pulls) and link anything related here.
|
|
23
|
+
placeholder: "This topic is related to #XXX; or: I have not seen related issues/PRs"
|
|
24
|
+
validations:
|
|
25
|
+
required: true
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Publish archives to PyPI and TestPyPI using GitHub Actions
|
|
2
|
+
name: Publish to PyPI
|
|
3
|
+
|
|
4
|
+
# Only run for tagged releases
|
|
5
|
+
on:
|
|
6
|
+
release:
|
|
7
|
+
types:
|
|
8
|
+
- released
|
|
9
|
+
push:
|
|
10
|
+
branches:
|
|
11
|
+
- main
|
|
12
|
+
workflow_dispatch:
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
build-artifact:
|
|
16
|
+
name: Build echoshader package
|
|
17
|
+
runs-on: ubuntu-22.04
|
|
18
|
+
if: github.repository == 'echostack-org/echoshader' && !startsWith(github.ref, 'refs/tags/example-data-')
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout
|
|
21
|
+
uses: actions/checkout@v7
|
|
22
|
+
with:
|
|
23
|
+
# fetch all history so that setuptools-scm works
|
|
24
|
+
fetch-depth: 0
|
|
25
|
+
|
|
26
|
+
- name: Set up Python
|
|
27
|
+
uses: actions/setup-python@v7
|
|
28
|
+
with:
|
|
29
|
+
python-version: 3.13
|
|
30
|
+
|
|
31
|
+
- name: Install dependencies
|
|
32
|
+
run: python -m pip install --upgrade pip build
|
|
33
|
+
|
|
34
|
+
# This step is only necessary for testing purposes and for TestPyPI
|
|
35
|
+
- name: Fix up version string for TestPyPI
|
|
36
|
+
if: ${{ !startsWith(github.ref, 'refs/tags') }}
|
|
37
|
+
run: |
|
|
38
|
+
# Change setuptools-scm local_scheme to "no-local-version" so the
|
|
39
|
+
# local part of the version isn't included, making the version string
|
|
40
|
+
# compatible with PyPI.
|
|
41
|
+
sed --in-place "s/node-and-date/no-local-version/g" pyproject.toml
|
|
42
|
+
|
|
43
|
+
- name: Build source and wheel distributions
|
|
44
|
+
run: |
|
|
45
|
+
python -m build
|
|
46
|
+
echo ""
|
|
47
|
+
echo "Generated files:"
|
|
48
|
+
ls -lh dist/
|
|
49
|
+
- uses: actions/upload-artifact@v7
|
|
50
|
+
with:
|
|
51
|
+
name: releases
|
|
52
|
+
path: dist
|
|
53
|
+
|
|
54
|
+
test-built-dist:
|
|
55
|
+
name: Test echoshader package
|
|
56
|
+
needs: build-artifact
|
|
57
|
+
runs-on: ubuntu-22.04
|
|
58
|
+
steps:
|
|
59
|
+
- uses: actions/setup-python@v7
|
|
60
|
+
name: Install Python
|
|
61
|
+
with:
|
|
62
|
+
python-version: 3.13
|
|
63
|
+
- uses: actions/download-artifact@v8
|
|
64
|
+
with:
|
|
65
|
+
name: releases
|
|
66
|
+
path: dist
|
|
67
|
+
- name: List contents of built dist
|
|
68
|
+
run: |
|
|
69
|
+
ls -ltrh
|
|
70
|
+
ls -ltrh dist
|
|
71
|
+
- name: Publish to Test PyPI
|
|
72
|
+
uses: pypa/gh-action-pypi-publish@v1.14.3
|
|
73
|
+
with:
|
|
74
|
+
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
|
|
75
|
+
repository-url: https://test.pypi.org/legacy/
|
|
76
|
+
verbose: true
|
|
77
|
+
skip-existing: true
|
|
78
|
+
- name: Check pypi packages
|
|
79
|
+
run: |
|
|
80
|
+
sleep 3
|
|
81
|
+
python -m pip install --upgrade pip
|
|
82
|
+
|
|
83
|
+
echo "=== Testing wheel file ==="
|
|
84
|
+
# Install wheel to get dependencies and check import
|
|
85
|
+
python -m pip install --extra-index-url https://test.pypi.org/simple --upgrade --pre echoshader
|
|
86
|
+
python -c "import echoshader; print(echoshader.__version__)"
|
|
87
|
+
echo "=== Done testing wheel file ==="
|
|
88
|
+
|
|
89
|
+
echo "=== Testing source tar file ==="
|
|
90
|
+
# Install tar gz and check import
|
|
91
|
+
python -m pip uninstall --yes echoshader
|
|
92
|
+
python -m pip install --extra-index-url https://test.pypi.org/simple --upgrade --pre --no-binary=:all: echoshader
|
|
93
|
+
python -c "import echoshader; print(echoshader.__version__)"
|
|
94
|
+
echo "=== Done testing source tar file ==="
|
|
95
|
+
|
|
96
|
+
publish-pypi:
|
|
97
|
+
name: Push echoshader to production pypi
|
|
98
|
+
needs: test-built-dist
|
|
99
|
+
if: startsWith(github.ref, 'refs/tags')
|
|
100
|
+
runs-on: ubuntu-22.04
|
|
101
|
+
steps:
|
|
102
|
+
- uses: actions/download-artifact@v8
|
|
103
|
+
with:
|
|
104
|
+
name: releases
|
|
105
|
+
path: dist
|
|
106
|
+
- name: Publish to PyPI
|
|
107
|
+
uses: pypa/gh-action-pypi-publish@v1.14.3
|
|
108
|
+
with:
|
|
109
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# .github/workflows/pytest.yml
|
|
2
|
+
name: PyTest
|
|
3
|
+
|
|
4
|
+
on: [push, pull_request, workflow_dispatch]
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
test:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
strategy:
|
|
10
|
+
fail-fast: false
|
|
11
|
+
matrix:
|
|
12
|
+
python-version: ["3.13", "3.14"]
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- name: Check out repository code
|
|
16
|
+
uses: actions/checkout@v7
|
|
17
|
+
|
|
18
|
+
- name: Setup Python
|
|
19
|
+
uses: actions/setup-python@v7
|
|
20
|
+
with:
|
|
21
|
+
python-version: ${{ matrix.python-version }}
|
|
22
|
+
|
|
23
|
+
- name: Install dependencies
|
|
24
|
+
run: |
|
|
25
|
+
python -m pip install --upgrade pip
|
|
26
|
+
python -m pip install -e ".[dev,test]"
|
|
27
|
+
python -m pip check
|
|
28
|
+
python -c "import echopype; print('Echopype:', echopype.__version__)"
|
|
29
|
+
|
|
30
|
+
- name: Run Coverage Pytest
|
|
31
|
+
run: pytest --cov=./ --cov-report=xml
|
|
32
|
+
|
|
33
|
+
- name: Upload coverage reports to Codecov
|
|
34
|
+
uses: codecov/codecov-action@v7
|
|
35
|
+
env:
|
|
36
|
+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
name: Update dependency versions to meet SPEC 0
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
# Day 3 of each quarter, after the quarterly SPEC 0 update
|
|
6
|
+
- cron: "0 0 3 1,4,7,10 *"
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: write
|
|
11
|
+
pull-requests: write
|
|
12
|
+
|
|
13
|
+
concurrency:
|
|
14
|
+
group: ${{ github.workflow }}
|
|
15
|
+
cancel-in-progress: true
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
update:
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
steps:
|
|
21
|
+
- uses: scientific-python/spec0-action@7c875bc60508e9aab2bdb851e99bfcc53b283e94 # v1.6
|
|
22
|
+
with:
|
|
23
|
+
update_all: 2
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.egg-info/
|
|
5
|
+
.eggs/
|
|
6
|
+
|
|
7
|
+
# Build outputs and generated version
|
|
8
|
+
build/
|
|
9
|
+
dist/
|
|
10
|
+
_build/
|
|
11
|
+
echoshader/_echoshader_version.py
|
|
12
|
+
|
|
13
|
+
# Tests and tooling
|
|
14
|
+
.pytest_cache/
|
|
15
|
+
.mypy_cache/
|
|
16
|
+
.ruff_cache/
|
|
17
|
+
.coverage*
|
|
18
|
+
coverage.xml
|
|
19
|
+
htmlcov/
|
|
20
|
+
|
|
21
|
+
# Local environments and editor settings
|
|
22
|
+
.env
|
|
23
|
+
.venv/
|
|
24
|
+
venv/
|
|
25
|
+
.idea/
|
|
26
|
+
.vscode/
|
|
27
|
+
.DS_Store
|
|
28
|
+
|
|
29
|
+
# Notebook checkpoints and downloaded example data
|
|
30
|
+
.ipynb_checkpoints/
|
|
31
|
+
examples/notebooks/*.zarr/
|
|
32
|
+
examples/notebooks/*.zip
|
|
33
|
+
examples/notebooks/concatenated_MVBS.nc
|
|
34
|
+
|
|
35
|
+
docs/source/element_examples.ipynb
|
|
36
|
+
docs/source/echogram_vertical_coordinates.ipynb
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
# Example markdownlint YAML configuration with all properties set to their default value
|
|
2
|
+
|
|
3
|
+
# Default state for all rules
|
|
4
|
+
default: true
|
|
5
|
+
|
|
6
|
+
# Path to configuration file to extend
|
|
7
|
+
extends: null
|
|
8
|
+
|
|
9
|
+
# MD001/heading-increment/header-increment - Heading levels should only increment by one level at a time
|
|
10
|
+
MD001: true
|
|
11
|
+
|
|
12
|
+
# MD002/first-heading-h1/first-header-h1 - First heading should be a top-level heading
|
|
13
|
+
MD002:
|
|
14
|
+
# Heading level
|
|
15
|
+
level: 1
|
|
16
|
+
|
|
17
|
+
# MD003/heading-style/header-style - Heading style
|
|
18
|
+
MD003:
|
|
19
|
+
# Heading style
|
|
20
|
+
style: "consistent"
|
|
21
|
+
|
|
22
|
+
# MD004/ul-style - Unordered list style
|
|
23
|
+
MD004:
|
|
24
|
+
# List style
|
|
25
|
+
style: "consistent"
|
|
26
|
+
|
|
27
|
+
# MD005/list-indent - Inconsistent indentation for list items at the same level
|
|
28
|
+
MD005: true
|
|
29
|
+
|
|
30
|
+
# MD006/ul-start-left - Consider starting bulleted lists at the beginning of the line
|
|
31
|
+
MD006: true
|
|
32
|
+
|
|
33
|
+
# MD007/ul-indent - Unordered list indentation
|
|
34
|
+
MD007:
|
|
35
|
+
# Spaces for indent
|
|
36
|
+
indent: 2
|
|
37
|
+
# Whether to indent the first level of the list
|
|
38
|
+
start_indented: false
|
|
39
|
+
# Spaces for first level indent (when start_indented is set)
|
|
40
|
+
start_indent: 2
|
|
41
|
+
|
|
42
|
+
# MD009/no-trailing-spaces - Trailing spaces
|
|
43
|
+
MD009:
|
|
44
|
+
# Spaces for line break
|
|
45
|
+
br_spaces: 2
|
|
46
|
+
# Allow spaces for empty lines in list items
|
|
47
|
+
list_item_empty_lines: false
|
|
48
|
+
# Include unnecessary breaks
|
|
49
|
+
strict: false
|
|
50
|
+
|
|
51
|
+
# MD010/no-hard-tabs - Hard tabs
|
|
52
|
+
MD010:
|
|
53
|
+
# Include code blocks
|
|
54
|
+
code_blocks: true
|
|
55
|
+
# Number of spaces for each hard tab
|
|
56
|
+
spaces_per_tab: 1
|
|
57
|
+
|
|
58
|
+
# MD011/no-reversed-links - Reversed link syntax
|
|
59
|
+
MD011: true
|
|
60
|
+
|
|
61
|
+
# MD012/no-multiple-blanks - Multiple consecutive blank lines
|
|
62
|
+
MD012:
|
|
63
|
+
# Consecutive blank lines
|
|
64
|
+
maximum: 1
|
|
65
|
+
|
|
66
|
+
# MD013/line-length - Line length
|
|
67
|
+
MD013:
|
|
68
|
+
# Number of characters
|
|
69
|
+
line_length: 90
|
|
70
|
+
# Number of characters for headings
|
|
71
|
+
heading_line_length: 90
|
|
72
|
+
# Number of characters for code blocks
|
|
73
|
+
code_block_line_length: 90
|
|
74
|
+
# Include code blocks
|
|
75
|
+
code_blocks: true
|
|
76
|
+
# Include tables
|
|
77
|
+
tables: true
|
|
78
|
+
# Include headings
|
|
79
|
+
headings: true
|
|
80
|
+
# Include headings
|
|
81
|
+
headers: true
|
|
82
|
+
# Strict length checking
|
|
83
|
+
strict: false
|
|
84
|
+
# Stern length checking
|
|
85
|
+
stern: false
|
|
86
|
+
|
|
87
|
+
# MD014/commands-show-output - Dollar signs used before commands without showing output
|
|
88
|
+
MD014: true
|
|
89
|
+
|
|
90
|
+
# MD018/no-missing-space-atx - No space after hash on atx style heading
|
|
91
|
+
MD018: true
|
|
92
|
+
|
|
93
|
+
# MD019/no-multiple-space-atx - Multiple spaces after hash on atx style heading
|
|
94
|
+
MD019: true
|
|
95
|
+
|
|
96
|
+
# MD020/no-missing-space-closed-atx - No space inside hashes on closed atx style heading
|
|
97
|
+
MD020: true
|
|
98
|
+
|
|
99
|
+
# MD021/no-multiple-space-closed-atx - Multiple spaces inside hashes on closed atx style heading
|
|
100
|
+
MD021: true
|
|
101
|
+
|
|
102
|
+
# MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines
|
|
103
|
+
MD022:
|
|
104
|
+
# Blank lines above heading
|
|
105
|
+
lines_above: 1
|
|
106
|
+
# Blank lines below heading
|
|
107
|
+
lines_below: 1
|
|
108
|
+
|
|
109
|
+
# MD023/heading-start-left/header-start-left - Headings must start at the beginning of the line
|
|
110
|
+
MD023: true
|
|
111
|
+
|
|
112
|
+
# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content
|
|
113
|
+
MD024:
|
|
114
|
+
# Only check sibling headings
|
|
115
|
+
allow_different_nesting: false
|
|
116
|
+
# Only check sibling headings
|
|
117
|
+
siblings_only: false
|
|
118
|
+
|
|
119
|
+
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
|
120
|
+
MD025:
|
|
121
|
+
# Heading level
|
|
122
|
+
level: 1
|
|
123
|
+
# RegExp for matching title in front matter
|
|
124
|
+
front_matter_title: "^\\s*title\\s*[:=]"
|
|
125
|
+
|
|
126
|
+
# MD026/no-trailing-punctuation - Trailing punctuation in heading
|
|
127
|
+
MD026:
|
|
128
|
+
# Punctuation characters
|
|
129
|
+
punctuation: ".,;:!。,;:!"
|
|
130
|
+
|
|
131
|
+
# MD027/no-multiple-space-blockquote - Multiple spaces after blockquote symbol
|
|
132
|
+
MD027: true
|
|
133
|
+
|
|
134
|
+
# MD028/no-blanks-blockquote - Blank line inside blockquote
|
|
135
|
+
MD028: true
|
|
136
|
+
|
|
137
|
+
# MD029/ol-prefix - Ordered list item prefix
|
|
138
|
+
MD029:
|
|
139
|
+
# List style
|
|
140
|
+
style: "one_or_ordered"
|
|
141
|
+
|
|
142
|
+
# MD030/list-marker-space - Spaces after list markers
|
|
143
|
+
MD030:
|
|
144
|
+
# Spaces for single-line unordered list items
|
|
145
|
+
ul_single: 1
|
|
146
|
+
# Spaces for single-line ordered list items
|
|
147
|
+
ol_single: 1
|
|
148
|
+
# Spaces for multi-line unordered list items
|
|
149
|
+
ul_multi: 1
|
|
150
|
+
# Spaces for multi-line ordered list items
|
|
151
|
+
ol_multi: 1
|
|
152
|
+
|
|
153
|
+
# MD031/blanks-around-fences - Fenced code blocks should be surrounded by blank lines
|
|
154
|
+
MD031:
|
|
155
|
+
# Include list items
|
|
156
|
+
list_items: true
|
|
157
|
+
|
|
158
|
+
# MD032/blanks-around-lists - Lists should be surrounded by blank lines
|
|
159
|
+
MD032: true
|
|
160
|
+
|
|
161
|
+
# MD033/no-inline-html - Inline HTML
|
|
162
|
+
MD033:
|
|
163
|
+
# Allowed elements
|
|
164
|
+
allowed_elements: []
|
|
165
|
+
|
|
166
|
+
# MD034/no-bare-urls - Bare URL used
|
|
167
|
+
MD034: true
|
|
168
|
+
|
|
169
|
+
# MD035/hr-style - Horizontal rule style
|
|
170
|
+
MD035:
|
|
171
|
+
# Horizontal rule style
|
|
172
|
+
style: "consistent"
|
|
173
|
+
|
|
174
|
+
# MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading
|
|
175
|
+
MD036:
|
|
176
|
+
# Punctuation characters
|
|
177
|
+
punctuation: ".,;:!?。,;:!?"
|
|
178
|
+
|
|
179
|
+
# MD037/no-space-in-emphasis - Spaces inside emphasis markers
|
|
180
|
+
MD037: true
|
|
181
|
+
|
|
182
|
+
# MD038/no-space-in-code - Spaces inside code span elements
|
|
183
|
+
MD038: true
|
|
184
|
+
|
|
185
|
+
# MD039/no-space-in-links - Spaces inside link text
|
|
186
|
+
MD039: true
|
|
187
|
+
|
|
188
|
+
# MD040/fenced-code-language - Fenced code blocks should have a language specified
|
|
189
|
+
MD040: true
|
|
190
|
+
|
|
191
|
+
# MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading
|
|
192
|
+
MD041:
|
|
193
|
+
# Heading level
|
|
194
|
+
level: 1
|
|
195
|
+
# RegExp for matching title in front matter
|
|
196
|
+
front_matter_title: "^\\s*title\\s*[:=]"
|
|
197
|
+
|
|
198
|
+
# MD042/no-empty-links - No empty links
|
|
199
|
+
MD042: true
|
|
200
|
+
|
|
201
|
+
# MD043/required-headings/required-headers - Required heading structure
|
|
202
|
+
MD043:
|
|
203
|
+
# List of headings
|
|
204
|
+
headings: []
|
|
205
|
+
# List of headings
|
|
206
|
+
headers: []
|
|
207
|
+
|
|
208
|
+
# MD044/proper-names - Proper names should have the correct capitalization
|
|
209
|
+
MD044:
|
|
210
|
+
# List of proper names
|
|
211
|
+
names: []
|
|
212
|
+
# Include code blocks
|
|
213
|
+
code_blocks: true
|
|
214
|
+
|
|
215
|
+
# MD045/no-alt-text - Images should have alternate text (alt text)
|
|
216
|
+
MD045: true
|
|
217
|
+
|
|
218
|
+
# MD046/code-block-style - Code block style
|
|
219
|
+
MD046:
|
|
220
|
+
# Block style
|
|
221
|
+
style: "consistent"
|
|
222
|
+
|
|
223
|
+
# MD047/single-trailing-newline - Files should end with a single newline character
|
|
224
|
+
MD047: true
|
|
225
|
+
|
|
226
|
+
# MD048/code-fence-style - Code fence style
|
|
227
|
+
MD048:
|
|
228
|
+
# Code fence style
|
|
229
|
+
style: "consistent"
|
|
230
|
+
|
|
231
|
+
# MD049/emphasis-style - Emphasis style should be consistent
|
|
232
|
+
MD049:
|
|
233
|
+
# Emphasis style should be consistent
|
|
234
|
+
style: "consistent"
|
|
235
|
+
|
|
236
|
+
# MD050/strong-style - Strong style should be consistent
|
|
237
|
+
MD050:
|
|
238
|
+
# Strong style should be consistent
|
|
239
|
+
style: "consistent"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
docs/source/proposal-template.md
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
exclude: |
|
|
2
|
+
(?x)^(
|
|
3
|
+
.github/|
|
|
4
|
+
notebooks/|
|
|
5
|
+
docs/source/conf.py
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
repos:
|
|
9
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
10
|
+
rev: v6.0.0
|
|
11
|
+
hooks:
|
|
12
|
+
- id: trailing-whitespace
|
|
13
|
+
- id: end-of-file-fixer
|
|
14
|
+
- id: check-docstring-first
|
|
15
|
+
- id: check-json
|
|
16
|
+
- id: check-yaml
|
|
17
|
+
- id: pretty-format-json
|
|
18
|
+
args: ["--autofix", "--indent=2", "--no-sort-keys"]
|
|
19
|
+
|
|
20
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
21
|
+
rev: v0.17.2
|
|
22
|
+
hooks:
|
|
23
|
+
- id: ruff-check
|
|
24
|
+
args: ["--fix"]
|
|
25
|
+
exclude: '\.ipynb$'
|
|
26
|
+
- id: ruff-format
|
|
27
|
+
exclude: '\.ipynb$'
|
|
28
|
+
|
|
29
|
+
- repo: https://github.com/igorshubovych/markdownlint-cli
|
|
30
|
+
rev: v0.50.0
|
|
31
|
+
hooks:
|
|
32
|
+
- id: markdownlint
|
|
33
|
+
args: ["**/**/*.md", "--ignore", "docs/source/gsoc", "--enable", "MD013", "--disable", "MD043", "line_length", "--fix"]
|
|
@@ -0,0 +1,39 @@
|
|
|
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.13"
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
pre_build:
|
|
15
|
+
- cp examples/notebooks/element_examples.ipynb docs/source/element_examples.ipynb
|
|
16
|
+
- cp examples/notebooks/echogram_vertical_coordinates.ipynb docs/source/echogram_vertical_coordinates.ipynb
|
|
17
|
+
|
|
18
|
+
# Build documentation in the "docs/" directory with Sphinx
|
|
19
|
+
sphinx:
|
|
20
|
+
configuration: docs/source/conf.py
|
|
21
|
+
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
|
|
22
|
+
# builder: "dirhtml"
|
|
23
|
+
# Fail on all warnings to avoid broken references
|
|
24
|
+
# fail_on_warning: true
|
|
25
|
+
|
|
26
|
+
# Optionally build your docs in additional formats such as PDF and ePub
|
|
27
|
+
# formats:
|
|
28
|
+
# - pdf
|
|
29
|
+
# - epub
|
|
30
|
+
|
|
31
|
+
# Optional but recommended, declare the Python requirements required
|
|
32
|
+
# to build your documentation
|
|
33
|
+
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
|
|
34
|
+
python:
|
|
35
|
+
install:
|
|
36
|
+
- method: pip
|
|
37
|
+
path: .
|
|
38
|
+
extra_requirements:
|
|
39
|
+
- docs
|
echoshader-0.2.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 Open-Source Ocean Acoustics
|
|
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.
|