radarx 0.1.dev2__tar.gz → 0.1.3.dev0__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. radarx-0.1.3.dev0/.editorconfig +21 -0
  2. radarx-0.1.3.dev0/.github/ISSUE_TEMPLATE.md +15 -0
  3. radarx-0.1.3.dev0/.github/PULL_REQUEST_TEMPLATE.md +5 -0
  4. radarx-0.1.3.dev0/.github/workflows/ci.yml +197 -0
  5. radarx-0.1.3.dev0/.github/workflows/upload_pypi.yml +34 -0
  6. radarx-0.1.3.dev0/.gitignore +106 -0
  7. radarx-0.1.3.dev0/.pre-commit-config.yaml +32 -0
  8. radarx-0.1.3.dev0/.readthedocs.yaml +7 -0
  9. radarx-0.1.3.dev0/CODE_OF_CONDUCT.rst +84 -0
  10. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/LICENSE +0 -1
  11. radarx-0.1.3.dev0/Makefile +91 -0
  12. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/PKG-INFO +2 -1
  13. radarx-0.1.3.dev0/README.rst +110 -0
  14. radarx-0.1.3.dev0/ci/notebooktests.yml +38 -0
  15. radarx-0.1.3.dev0/ci/unittests.yml +29 -0
  16. radarx-0.1.3.dev0/docs/_static/Radarx_Logo_micro.png +0 -0
  17. radarx-0.1.3.dev0/docs/_static/Radarx_logo.png +0 -0
  18. radarx-0.1.3.dev0/docs/_static/Radarx_logo_favicon.png +0 -0
  19. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/docs/conf.py +18 -15
  20. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/docs/index.rst +4 -0
  21. radarx-0.1.3.dev0/environment.yml +32 -0
  22. radarx-0.1.3.dev0/examples/notebooks/IMD_Radar_Data.ipynb +250 -0
  23. radarx-0.1.3.dev0/examples/notebooks/confest.py +83 -0
  24. radarx-0.1.3.dev0/make.bat +36 -0
  25. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/pyproject.toml +4 -3
  26. radarx-0.1.3.dev0/radarx/__init__.py +17 -0
  27. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/radarx/io/__init__.py +3 -1
  28. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/radarx/io/imd.py +118 -54
  29. radarx-0.1.3.dev0/radarx/testing/test_data_imd.py +58 -0
  30. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/radarx/version.py +2 -2
  31. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/radarx.egg-info/PKG-INFO +2 -1
  32. radarx-0.1.3.dev0/radarx.egg-info/SOURCES.txt +56 -0
  33. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/radarx.egg-info/requires.txt +1 -0
  34. radarx-0.1.3.dev0/requirements.txt +12 -0
  35. radarx-0.1.3.dev0/requirements_dev.txt +15 -0
  36. radarx-0.1.3.dev0/ruff.toml +0 -0
  37. radarx-0.1.3.dev0/tests/io/test_imd.py +448 -0
  38. radarx-0.1.3.dev0/tests/mock_data.py +157 -0
  39. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/tests/test_radarx.py +0 -3
  40. radarx-0.1.3.dev0/tests/testing/test_test_timd_data.py +62 -0
  41. radarx-0.1.3.dev0/tox.ini +19 -0
  42. radarx-0.1.dev2/README.md +0 -1
  43. radarx-0.1.dev2/README.rst +0 -41
  44. radarx-0.1.dev2/radarx/__init__.py +0 -5
  45. radarx-0.1.dev2/radarx.egg-info/SOURCES.txt +0 -30
  46. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/AUTHORS.rst +0 -0
  47. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/CONTRIBUTING.rst +0 -0
  48. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/HISTORY.rst +0 -0
  49. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/MANIFEST.in +0 -0
  50. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/docs/Makefile +0 -0
  51. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/docs/authors.rst +0 -0
  52. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/docs/contributing.rst +0 -0
  53. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/docs/history.rst +0 -0
  54. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/docs/installation.rst +0 -0
  55. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/docs/make.bat +0 -0
  56. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/docs/readme.rst +0 -0
  57. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/docs/usage.rst +0 -0
  58. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/radarx/radarx.py +0 -0
  59. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/radarx.egg-info/dependency_links.txt +0 -0
  60. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/radarx.egg-info/top_level.txt +0 -0
  61. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/setup.cfg +0 -0
  62. {radarx-0.1.dev2 → radarx-0.1.3.dev0}/tests/__init__.py +0 -0
@@ -0,0 +1,21 @@
1
+ # http://editorconfig.org
2
+
3
+ root = true
4
+
5
+ [*]
6
+ indent_style = space
7
+ indent_size = 4
8
+ trim_trailing_whitespace = true
9
+ insert_final_newline = true
10
+ charset = utf-8
11
+ end_of_line = lf
12
+
13
+ [*.bat]
14
+ indent_style = tab
15
+ end_of_line = crlf
16
+
17
+ [LICENSE]
18
+ insert_final_newline = false
19
+
20
+ [Makefile]
21
+ indent_style = tab
@@ -0,0 +1,15 @@
1
+ * radarx version:
2
+ * Python version:
3
+ * Operating System:
4
+
5
+ ### Description
6
+
7
+ Describe what you were trying to get done.
8
+ Tell us what happened, what went wrong, and what you expected to happen.
9
+
10
+ ### What I Did
11
+
12
+ ```
13
+ Paste the command(s) you ran and the output.
14
+ If there was a crash, please include the traceback here.
15
+ ```
@@ -0,0 +1,5 @@
1
+ <!-- Please remove check-list items that aren't relevant to your changes -->
2
+
3
+ - [ ] Closes #xxxx
4
+ - [ ] Tests added
5
+ - [ ] Changes are documented in `history.md`
@@ -0,0 +1,197 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ workflow_dispatch:
10
+
11
+ jobs:
12
+ lint:
13
+ name: lint and style checks
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - name: Set up Python
18
+ uses: actions/setup-python@v5
19
+ with:
20
+ python-version: "3.12"
21
+ - name: Install dependencies
22
+ run: |
23
+ python -m pip install --upgrade pip
24
+ pip install black black[jupyter] ruff
25
+ - name: Black style check
26
+ run: |
27
+ black --check .
28
+ - name: Lint with ruff
29
+ run: |
30
+ ruff check .
31
+
32
+ build_0:
33
+ name: radarx unit tests - linux
34
+ runs-on: ubuntu-latest
35
+ needs: [lint]
36
+ defaults:
37
+ run:
38
+ shell: bash -l {0}
39
+ env:
40
+ CONDA_ENV_FILE: ci/unittests.yml
41
+ strategy:
42
+ fail-fast: false
43
+ matrix:
44
+ python-version: ["3.10", "3.12"]
45
+ numpy-version: ["1", "2"]
46
+ steps:
47
+ - uses: actions/checkout@v4
48
+ with:
49
+ fetch-depth: 0
50
+ - name: Install micromamba environment
51
+ uses: mamba-org/setup-micromamba@v1
52
+ with:
53
+ environment-name: radarx-unit-tests
54
+ environment-file: ${{env.CONDA_ENV_FILE}}
55
+ cache-environment: true
56
+ cache-environment-key: "${{runner.os}}-${{runner.arch}}-py${{env.PYTHON_VERSION}}-${{env.TODAY}}-${{hashFiles(env.CONDA_ENV_FILE)}}"
57
+ create-args: >-
58
+ python=${{matrix.python-version}}
59
+ numpy=${{matrix.numpy-version}}
60
+ conda
61
+ - name: Install radarx
62
+ run: |
63
+ python -m pip install . --no-deps
64
+ - name: Version Info
65
+ run: |
66
+ python -c "import radarx; print(radarx.version.version)"
67
+ - name: Test with pytest
68
+ run: |
69
+ pytest -n auto --dist loadfile --verbose --durations=15 --cov-report xml:coverage_unit.xml --cov=radarx --pyargs tests
70
+ - name: Upload coverage to Codecov
71
+ uses: codecov/codecov-action@v4
72
+ with:
73
+ file: ./coverage_unit.xml
74
+ flags: unittests
75
+ env_vars: RUNNER_OS,PYTHON_VERSION
76
+ name: codecov-gha
77
+ fail_ci_if_error: false
78
+ token: ${{ secrets.CODECOV_TOKEN }}
79
+
80
+ build_1:
81
+ name: radarx notebook tests - linux
82
+ runs-on: ubuntu-latest
83
+ needs: [lint]
84
+ defaults:
85
+ run:
86
+ shell: bash -l {0}
87
+ env:
88
+ CONDA_ENV_FILE: ci/notebooktests.yml
89
+ strategy:
90
+ fail-fast: false
91
+ matrix:
92
+ python-version: ["3.12"]
93
+ numpy-version: ["2"]
94
+ steps:
95
+ - uses: actions/checkout@v4
96
+ with:
97
+ fetch-depth: 0
98
+ - name: Install micromamba environment
99
+ uses: mamba-org/setup-micromamba@v1
100
+ with:
101
+ environment-name: radarx-notebook-tests
102
+ environment-file: ${{env.CONDA_ENV_FILE}}
103
+ cache-environment: true
104
+ cache-environment-key: "${{runner.os}}-${{runner.arch}}-py${{env.PYTHON_VERSION}}-${{env.TODAY}}-${{hashFiles(env.CONDA_ENV_FILE)}}"
105
+ create-args: >-
106
+ python=${{matrix.python-version}}
107
+ numpy=${{matrix.numpy-version}}
108
+ conda
109
+ - name: Install radarx
110
+ run: |
111
+ python -m pip install . --no-deps
112
+ - name: Version Info
113
+ run: |
114
+ python -c "import radarx; print(radarx.version.version)"
115
+ # - name: Test with pytest
116
+ # run: |
117
+ # pytest -n auto --dist loadfile --verbose --durations=15 --cov-report xml:coverage_notebook.xml --cov=radarx --pyargs examples/notebooks
118
+ - name: Test with pytest and collect coverage
119
+ run: |
120
+ pytest --nbval --verbose --durations=15 --cov=radarx --cov-report=xml:coverage_notebook.xml examples/notebooks
121
+ - name: Upload coverage to Codecov
122
+ uses: codecov/codecov-action@v4
123
+ with:
124
+ file: ./coverage_notebook.xml
125
+ flags: notebooktests
126
+ env_vars: RUNNER_OS,PYTHON_VERSION
127
+ name: codecov-gha
128
+ fail_ci_if_error: false
129
+ token: ${{ secrets.CODECOV_TOKEN }}
130
+
131
+ test_build_distribution_testpypi:
132
+ name: test build distribution for testpypi
133
+ needs: [lint, build_0]
134
+ runs-on: ubuntu-latest
135
+ defaults:
136
+ run:
137
+ shell: bash -l {0}
138
+ steps:
139
+ - uses: actions/checkout@v4
140
+ with:
141
+ fetch-depth: 0
142
+ - name: Set up Python
143
+ uses: actions/setup-python@v5
144
+ with:
145
+ python-version: "3.12"
146
+ - name: Install dependencies
147
+ run: |
148
+ python -m pip install --upgrade pip
149
+ pip install build setuptools wheel twine toml-cli
150
+ - name: Package
151
+ run: |
152
+ toml set --toml-path pyproject.toml tool.setuptools_scm.local_scheme "no-local-version"
153
+ git update-index --assume-unchanged pyproject.toml
154
+ python -m build
155
+ cp dist/radarx*.gz dist/radarx1.gz
156
+ - name: Upload artifact
157
+ uses: actions/upload-artifact@v4
158
+ with:
159
+ name: radarx-1-${{github.event.number}}
160
+ path: dist/radarx1.gz
161
+ - name: Upload to TestPyPI
162
+ if: ${{ github.event_name == 'push' }}
163
+ env:
164
+ TWINE_USERNAME: __token__
165
+ TWINE_PASSWORD: ${{ secrets.TESTPYPI_API_TOKEN }}
166
+ run: |
167
+ rm -f dist/radarx1.gz
168
+ twine upload --repository testpypi dist/*
169
+
170
+ test_build_distribution_pypi:
171
+ name: test build distribution
172
+ needs: [lint, build_0, test_build_distribution_testpypi]
173
+ runs-on: ubuntu-latest
174
+ defaults:
175
+ run:
176
+ shell: bash -l {0}
177
+ steps:
178
+ - uses: actions/checkout@v4
179
+ with:
180
+ fetch-depth: 0
181
+ - name: Set up Python
182
+ uses: actions/setup-python@v5
183
+ with:
184
+ python-version: "3.12"
185
+ - name: Install dependencies
186
+ run: |
187
+ python -m pip install --upgrade pip
188
+ pip install build setuptools wheel
189
+ - name: Package
190
+ run: |
191
+ python -m build
192
+ cp dist/radarx*.gz dist/radarx0.gz
193
+ - name: Upload artifact
194
+ uses: actions/upload-artifact@v4
195
+ with:
196
+ name: radarx-0-${{github.event.number}}
197
+ path: dist/radarx0.gz
@@ -0,0 +1,34 @@
1
+ name: Build and Upload to PyPI
2
+
3
+ on:
4
+ release:
5
+ types:
6
+ - created
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ upload_pypi:
11
+ name: Deploy to PyPI
12
+ runs-on: ubuntu-latest
13
+ defaults:
14
+ run:
15
+ shell: bash -l {0}
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 0
20
+ - name: Set up Python
21
+ uses: actions/setup-python@v5
22
+ with:
23
+ python-version: "3.12"
24
+ - name: Install dependencies
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ pip install build setuptools wheel twine
28
+ - name: Package and Upload to PyPI
29
+ env:
30
+ TWINE_USERNAME: __token__
31
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
32
+ run: |
33
+ python -m build
34
+ twine upload dist/*
@@ -0,0 +1,106 @@
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
+ env/
12
+ build/
13
+ develop-eggs/
14
+ dist/
15
+ downloads/
16
+ eggs/
17
+ .eggs/
18
+ lib/
19
+ lib64/
20
+ parts/
21
+ sdist/
22
+ var/
23
+ wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+
28
+ # PyInstaller
29
+ # Usually these files are written by a python script from a template
30
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
31
+ *.manifest
32
+ *.spec
33
+
34
+ # Installer logs
35
+ pip-log.txt
36
+ pip-delete-this-directory.txt
37
+
38
+ # Unit test / coverage reports
39
+ htmlcov/
40
+ .tox/
41
+ .coverage
42
+ .coverage.*
43
+ .cache
44
+ nosetests.xml
45
+ coverage.xml
46
+ *.cover
47
+ .hypothesis/
48
+ .pytest_cache/
49
+
50
+ # Translations
51
+ *.mo
52
+ *.pot
53
+
54
+ # Django stuff:
55
+ *.log
56
+ local_settings.py
57
+
58
+ # Flask stuff:
59
+ instance/
60
+ .webassets-cache
61
+
62
+ # Scrapy stuff:
63
+ .scrapy
64
+
65
+ # Sphinx documentation
66
+ docs/_build/
67
+
68
+ # PyBuilder
69
+ target/
70
+
71
+ # Jupyter Notebook
72
+ .ipynb_checkpoints
73
+
74
+ # pyenv
75
+ .python-version
76
+
77
+ # celery beat schedule file
78
+ celerybeat-schedule
79
+
80
+ # SageMath parsed files
81
+ *.sage.py
82
+
83
+ # dotenv
84
+ .env
85
+
86
+ # virtualenv
87
+ .venv
88
+ venv/
89
+ ENV/
90
+
91
+ # Spyder project settings
92
+ .spyderproject
93
+ .spyproject
94
+
95
+ # Rope project settings
96
+ .ropeproject
97
+
98
+ # mkdocs documentation
99
+ /site
100
+
101
+ # mypy
102
+ .mypy_cache/
103
+
104
+ # IDE settings
105
+ .vscode/
106
+ .idea/
@@ -0,0 +1,32 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v4.5.0
4
+ hooks:
5
+ - id: trailing-whitespace
6
+ - id: end-of-file-fixer
7
+ - id: check-docstring-first
8
+ - id: check-json
9
+ - id: check-yaml
10
+ - id: debug-statements
11
+ - id: mixed-line-ending
12
+ - repo: https://github.com/asottile/pyupgrade
13
+ rev: v3.15.1
14
+ hooks:
15
+ - id: pyupgrade
16
+ args:
17
+ - '--py38-plus'
18
+ - repo: https://github.com/kynan/nbstripout
19
+ rev: 0.7.1
20
+ hooks:
21
+ - id: nbstripout
22
+ args: ['--extra-keys', 'metadata.kernelspec cell.metadata.pycharm cell.metadata.tags']
23
+ - repo: https://github.com/charliermarsh/ruff-pre-commit
24
+ rev: 'v0.2.2'
25
+ hooks:
26
+ - id: ruff
27
+ args: ['--fix']
28
+ - repo: https://github.com/psf/black
29
+ rev: 24.2.0
30
+ hooks:
31
+ - id: black
32
+ - id: black-jupyter
@@ -0,0 +1,7 @@
1
+ version: 2
2
+ conda:
3
+ environment: environment.yml
4
+ build:
5
+ os: 'ubuntu-20.04'
6
+ tools:
7
+ python: 'mambaforge-latest'
@@ -0,0 +1,84 @@
1
+ ====================================
2
+ Contributor Covenant Code of Conduct
3
+ ====================================
4
+
5
+ Our Pledge
6
+ ----------
7
+
8
+ In the interest of fostering an open and welcoming environment, we as
9
+ contributors and maintainers pledge to make participation in our project and
10
+ our community a harassment-free experience for everyone, regardless of age, body
11
+ size, disability, ethnicity, sex characteristics, gender identity and expression,
12
+ level of experience, education, socio-economic status, nationality, personal
13
+ appearance, race, religion, or sexual identity and orientation.
14
+
15
+ Our Standards
16
+ -------------
17
+
18
+ Examples of behavior that contributes to creating a positive environment
19
+ include:
20
+
21
+ * Using welcoming and inclusive language
22
+ * Being respectful of differing viewpoints and experiences
23
+ * Gracefully accepting constructive criticism
24
+ * Focusing on what is best for the community
25
+ * Showing empathy towards other community members
26
+
27
+ Examples of unacceptable behavior by participants include:
28
+
29
+ * The use of sexualized language or imagery and unwelcome sexual attention or
30
+ advances
31
+ * Trolling, insulting/derogatory comments, and personal or political attacks
32
+ * Public or private harassment
33
+ * Publishing others' private information, such as a physical or electronic
34
+ address, without explicit permission
35
+ * Other conduct which could reasonably be considered inappropriate in a
36
+ professional setting
37
+
38
+ Our Responsibilities
39
+ --------------------
40
+
41
+ Project maintainers are responsible for clarifying the standards of acceptable
42
+ behavior and are expected to take appropriate and fair corrective action in
43
+ response to any instances of unacceptable behavior.
44
+
45
+ Project maintainers have the right and responsibility to remove, edit, or
46
+ reject comments, commits, code, wiki edits, issues, and other contributions
47
+ that are not aligned to this Code of Conduct, or to ban temporarily or
48
+ permanently any contributor for other behaviors that they deem inappropriate,
49
+ threatening, offensive, or harmful.
50
+
51
+ Scope
52
+ -----
53
+
54
+ This Code of Conduct applies within all project spaces, and it also applies when
55
+ an individual is representing the project or its community in public spaces.
56
+ Examples of representing a project or community include using an official
57
+ project e-mail address, posting via an official social media account, or acting
58
+ as an appointed representative at an online or offline event. Representation of
59
+ a project may be further defined and clarified by project maintainers.
60
+
61
+ Enforcement
62
+ -----------
63
+
64
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
65
+ reported by contacting the project team at [INSERT EMAIL ADDRESS]. All
66
+ complaints will be reviewed and investigated and will result in a response that
67
+ is deemed necessary and appropriate to the circumstances. The project team is
68
+ obligated to maintain confidentiality with regard to the reporter of an incident.
69
+ Further details of specific enforcement policies may be posted separately.
70
+
71
+ Project maintainers who do not follow or enforce the Code of Conduct in good
72
+ faith may face temporary or permanent repercussions as determined by other
73
+ members of the project's leadership.
74
+
75
+ Attribution
76
+ -----------
77
+
78
+ This Code of Conduct is adapted from the `Contributor Covenant`_, version 1.4,
79
+ available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
80
+
81
+ For answers to common questions about this code of conduct, see
82
+ https://www.contributor-covenant.org/faq
83
+
84
+ .. _`Contributor Covenant`: https://www.contributor-covenant.org
@@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
22
-
@@ -0,0 +1,91 @@
1
+ .PHONY: clean clean-build clean-pyc clean-test coverage dist docs help install lint lint/flake8
2
+
3
+ .DEFAULT_GOAL := help
4
+
5
+ define BROWSER_PYSCRIPT
6
+ import os, webbrowser, sys
7
+
8
+ from urllib.request import pathname2url
9
+
10
+ webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1])))
11
+ endef
12
+ export BROWSER_PYSCRIPT
13
+
14
+ define PRINT_HELP_PYSCRIPT
15
+ import re, sys
16
+
17
+ for line in sys.stdin:
18
+ match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line)
19
+ if match:
20
+ target, help = match.groups()
21
+ print("%-20s %s" % (target, help))
22
+ endef
23
+ export PRINT_HELP_PYSCRIPT
24
+
25
+ BROWSER := python -c "$$BROWSER_PYSCRIPT"
26
+
27
+ help:
28
+ @python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST)
29
+
30
+ clean: clean-build clean-pyc clean-test ## remove all build, test, coverage and Python artifacts
31
+
32
+ clean-build: ## remove build artifacts
33
+ rm -fr build/
34
+ rm -fr dist/
35
+ rm -fr .eggs/
36
+ find . -name '*.egg-info' -exec rm -fr {} +
37
+ find . -name '*.egg' -exec rm -f {} +
38
+
39
+ clean-pyc: ## remove Python file artifacts
40
+ find . -name '*.pyc' -exec rm -f {} +
41
+ find . -name '*.pyo' -exec rm -f {} +
42
+ find . -name '*~' -exec rm -f {} +
43
+ find . -name '__pycache__' -exec rm -fr {} +
44
+
45
+ clean-test: ## remove test and coverage artifacts
46
+ rm -fr .tox/
47
+ rm -f .coverage
48
+ rm -fr htmlcov/
49
+ rm -fr .pytest_cache
50
+
51
+ lint/flake8: ## check style with flake8
52
+ flake8 radarx tests
53
+ lint/black: ## check style with black
54
+ black --check radarx tests
55
+
56
+
57
+ lint: lint/flake8 lint/black ## check style
58
+
59
+ test: ## run tests quickly with the default Python
60
+ pytest
61
+
62
+ test-all: ## run tests on every Python version with tox
63
+ tox
64
+
65
+ coverage: ## check code coverage quickly with the default Python
66
+ coverage run --source radarx -m pytest
67
+ coverage report -m
68
+ coverage html
69
+ $(BROWSER) htmlcov/index.html
70
+
71
+ docs: ## generate Sphinx HTML documentation, including API docs
72
+ rm -f docs/radarx.rst
73
+ rm -f docs/modules.rst
74
+ sphinx-apidoc -o docs/ radarx
75
+ $(MAKE) -C docs clean
76
+ $(MAKE) -C docs html
77
+ $(BROWSER) docs/_build/html/index.html
78
+
79
+ servedocs: docs ## compile the docs watching for changes
80
+ watchmedo shell-command -p '*.rst' -c '$(MAKE) -C docs html' -R -D .
81
+
82
+ release: dist ## package and upload a release
83
+ twine upload dist/*
84
+
85
+ dist: clean ## builds source and wheel package
86
+ python setup.py sdist
87
+ python setup.py bdist_wheel
88
+ ls -l dist
89
+
90
+ install: clean ## install the package to the active Python's site-packages
91
+ python setup.py install
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: radarx
3
- Version: 0.1.dev2
3
+ Version: 0.1.3.dev0
4
4
  Summary: Xarray based radar toolkit
5
5
  Author-email: Hamid Ali Syed <hamidsyed37@gmail.com>
6
6
  Maintainer-email: Hamid Ali Syed <hamidsyed37@gmail.com>
@@ -28,3 +28,4 @@ Requires-Dist: coverage; extra == "dev"
28
28
  Requires-Dist: mypy; extra == "dev"
29
29
  Requires-Dist: pytest; extra == "dev"
30
30
  Requires-Dist: ruff; extra == "dev"
31
+ Requires-Dist: pooch; extra == "dev"