dask-ms-2 0.2.33__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 (148) hide show
  1. dask_ms_2-0.2.33/.github/ISSUE_TEMPLATE.md +15 -0
  2. dask_ms_2-0.2.33/.github/PULL_REQUEST_TEMPLATE.md +27 -0
  3. dask_ms_2-0.2.33/.github/dependabot.yml +11 -0
  4. dask_ms_2-0.2.33/.github/workflows/ci.yml +116 -0
  5. dask_ms_2-0.2.33/.github/workflows/pre-commit.yml +15 -0
  6. dask_ms_2-0.2.33/.github/workflows/publish-pypi.yaml +33 -0
  7. dask_ms_2-0.2.33/.github/workflows/readthedocs.yml +22 -0
  8. dask_ms_2-0.2.33/.gitignore +106 -0
  9. dask_ms_2-0.2.33/.pre-commit-config.yaml +15 -0
  10. dask_ms_2-0.2.33/.travis/python36.docker +20 -0
  11. dask_ms_2-0.2.33/.travis/python37.docker +20 -0
  12. dask_ms_2-0.2.33/.travis/python38.docker +20 -0
  13. dask_ms_2-0.2.33/.travis.yml +29 -0
  14. dask_ms_2-0.2.33/AUTHORS.rst +13 -0
  15. dask_ms_2-0.2.33/CONTRIBUTING.rst +136 -0
  16. dask_ms_2-0.2.33/HISTORY.rst +331 -0
  17. dask_ms_2-0.2.33/LICENSE +28 -0
  18. dask_ms_2-0.2.33/MANIFEST.in +10 -0
  19. dask_ms_2-0.2.33/Makefile +87 -0
  20. dask_ms_2-0.2.33/PKG-INFO +185 -0
  21. dask_ms_2-0.2.33/README.rst +126 -0
  22. dask_ms_2-0.2.33/conftest.py +42 -0
  23. dask_ms_2-0.2.33/daskms/__init__.py +27 -0
  24. dask_ms_2-0.2.33/daskms/apps/__init__.py +0 -0
  25. dask_ms_2-0.2.33/daskms/apps/application.py +15 -0
  26. dask_ms_2-0.2.33/daskms/apps/conf/logging.ini +23 -0
  27. dask_ms_2-0.2.33/daskms/apps/conftest.py +67 -0
  28. dask_ms_2-0.2.33/daskms/apps/convert.py +280 -0
  29. dask_ms_2-0.2.33/daskms/apps/entrypoint.py +19 -0
  30. dask_ms_2-0.2.33/daskms/apps/formats.py +280 -0
  31. dask_ms_2-0.2.33/daskms/apps/fragments.py +63 -0
  32. dask_ms_2-0.2.33/daskms/apps/katdal_import.py +75 -0
  33. dask_ms_2-0.2.33/daskms/apps/tests/test_chunk_transformer.py +11 -0
  34. dask_ms_2-0.2.33/daskms/apps/tests/test_convert.py +61 -0
  35. dask_ms_2-0.2.33/daskms/array_api_utils.py +63 -0
  36. dask_ms_2-0.2.33/daskms/casacure_backend.py +48 -0
  37. dask_ms_2-0.2.33/daskms/columns.py +301 -0
  38. dask_ms_2-0.2.33/daskms/config.py +3 -0
  39. dask_ms_2-0.2.33/daskms/conftest.py +285 -0
  40. dask_ms_2-0.2.33/daskms/constants.py +3 -0
  41. dask_ms_2-0.2.33/daskms/dask_ms.py +451 -0
  42. dask_ms_2-0.2.33/daskms/dataset.py +536 -0
  43. dask_ms_2-0.2.33/daskms/dataset_schema.py +332 -0
  44. dask_ms_2-0.2.33/daskms/descriptors/__init__.py +0 -0
  45. dask_ms_2-0.2.33/daskms/descriptors/builder.py +202 -0
  46. dask_ms_2-0.2.33/daskms/descriptors/builder_factory.py +151 -0
  47. dask_ms_2-0.2.33/daskms/descriptors/ms.py +309 -0
  48. dask_ms_2-0.2.33/daskms/descriptors/ms_subtable.py +44 -0
  49. dask_ms_2-0.2.33/daskms/descriptors/ratt_ms.py +23 -0
  50. dask_ms_2-0.2.33/daskms/descriptors/register_default_builders.py +5 -0
  51. dask_ms_2-0.2.33/daskms/descriptors/tests/test_builder_factory.py +66 -0
  52. dask_ms_2-0.2.33/daskms/descriptors/tests/test_default_builder.py +91 -0
  53. dask_ms_2-0.2.33/daskms/descriptors/tests/test_ms_builder.py +110 -0
  54. dask_ms_2-0.2.33/daskms/descriptors/tests/test_ms_subtable_builder.py +37 -0
  55. dask_ms_2-0.2.33/daskms/example_data.py +124 -0
  56. dask_ms_2-0.2.33/daskms/experimental/__init__.py +0 -0
  57. dask_ms_2-0.2.33/daskms/experimental/arrow/__init__.py +2 -0
  58. dask_ms_2-0.2.33/daskms/experimental/arrow/arrow_schema.py +190 -0
  59. dask_ms_2-0.2.33/daskms/experimental/arrow/extension_types.py +207 -0
  60. dask_ms_2-0.2.33/daskms/experimental/arrow/reads.py +352 -0
  61. dask_ms_2-0.2.33/daskms/experimental/arrow/require_arrow.py +5 -0
  62. dask_ms_2-0.2.33/daskms/experimental/arrow/tests/__init__.py +0 -0
  63. dask_ms_2-0.2.33/daskms/experimental/arrow/tests/test_extensions.py +65 -0
  64. dask_ms_2-0.2.33/daskms/experimental/arrow/tests/test_parquet.py +220 -0
  65. dask_ms_2-0.2.33/daskms/experimental/arrow/writes.py +178 -0
  66. dask_ms_2-0.2.33/daskms/experimental/fragments/__init__.py +237 -0
  67. dask_ms_2-0.2.33/daskms/experimental/fragments/tests/__init__.py +0 -0
  68. dask_ms_2-0.2.33/daskms/experimental/fragments/tests/test_fragments.py +346 -0
  69. dask_ms_2-0.2.33/daskms/experimental/katdal/__init__.py +1 -0
  70. dask_ms_2-0.2.33/daskms/experimental/katdal/constants.py +19 -0
  71. dask_ms_2-0.2.33/daskms/experimental/katdal/corr_products.py +68 -0
  72. dask_ms_2-0.2.33/daskms/experimental/katdal/katdal_import.py +139 -0
  73. dask_ms_2-0.2.33/daskms/experimental/katdal/meerkat_antennas.py +70 -0
  74. dask_ms_2-0.2.33/daskms/experimental/katdal/mock_dataset.py +88 -0
  75. dask_ms_2-0.2.33/daskms/experimental/katdal/msv2_facade.py +638 -0
  76. dask_ms_2-0.2.33/daskms/experimental/katdal/tests/conftest.py +59 -0
  77. dask_ms_2-0.2.33/daskms/experimental/katdal/tests/test_chunkstore.py +172 -0
  78. dask_ms_2-0.2.33/daskms/experimental/katdal/transpose.py +131 -0
  79. dask_ms_2-0.2.33/daskms/experimental/katdal/uvw.py +77 -0
  80. dask_ms_2-0.2.33/daskms/experimental/tests/__init__.py +0 -0
  81. dask_ms_2-0.2.33/daskms/experimental/tests/test_utils.py +112 -0
  82. dask_ms_2-0.2.33/daskms/experimental/utils.py +218 -0
  83. dask_ms_2-0.2.33/daskms/experimental/zarr/__init__.py +528 -0
  84. dask_ms_2-0.2.33/daskms/experimental/zarr/tests/__init__.py +0 -0
  85. dask_ms_2-0.2.33/daskms/experimental/zarr/tests/conftest.py +56 -0
  86. dask_ms_2-0.2.33/daskms/experimental/zarr/tests/test_zarr.py +466 -0
  87. dask_ms_2-0.2.33/daskms/expressions.py +109 -0
  88. dask_ms_2-0.2.33/daskms/fsspec_store.py +189 -0
  89. dask_ms_2-0.2.33/daskms/multiton.py +182 -0
  90. dask_ms_2-0.2.33/daskms/optimisation.py +349 -0
  91. dask_ms_2-0.2.33/daskms/ordering.py +220 -0
  92. dask_ms_2-0.2.33/daskms/patterns.py +394 -0
  93. dask_ms_2-0.2.33/daskms/query.py +30 -0
  94. dask_ms_2-0.2.33/daskms/reads.py +558 -0
  95. dask_ms_2-0.2.33/daskms/table.py +30 -0
  96. dask_ms_2-0.2.33/daskms/table_executor.py +65 -0
  97. dask_ms_2-0.2.33/daskms/table_proxy.py +436 -0
  98. dask_ms_2-0.2.33/daskms/table_schemas.py +186 -0
  99. dask_ms_2-0.2.33/daskms/testing.py +21 -0
  100. dask_ms_2-0.2.33/daskms/tests/__init__.py +0 -0
  101. dask_ms_2-0.2.33/daskms/tests/test_array_api_utils.py +265 -0
  102. dask_ms_2-0.2.33/daskms/tests/test_columns.py +73 -0
  103. dask_ms_2-0.2.33/daskms/tests/test_dataset.py +648 -0
  104. dask_ms_2-0.2.33/daskms/tests/test_dataset_keywords.py +119 -0
  105. dask_ms_2-0.2.33/daskms/tests/test_dataset_schema.py +53 -0
  106. dask_ms_2-0.2.33/daskms/tests/test_executor.py +73 -0
  107. dask_ms_2-0.2.33/daskms/tests/test_expression.py +27 -0
  108. dask_ms_2-0.2.33/daskms/tests/test_fsspec_store.py +175 -0
  109. dask_ms_2-0.2.33/daskms/tests/test_github.py +31 -0
  110. dask_ms_2-0.2.33/daskms/tests/test_ms_creation.py +335 -0
  111. dask_ms_2-0.2.33/daskms/tests/test_ms_read_and_update.py +766 -0
  112. dask_ms_2-0.2.33/daskms/tests/test_multiton_metaclass.py +156 -0
  113. dask_ms_2-0.2.33/daskms/tests/test_optimisation.py +139 -0
  114. dask_ms_2-0.2.33/daskms/tests/test_optional.py +410 -0
  115. dask_ms_2-0.2.33/daskms/tests/test_ordering.py +224 -0
  116. dask_ms_2-0.2.33/daskms/tests/test_patterns.py +141 -0
  117. dask_ms_2-0.2.33/daskms/tests/test_storage.py +71 -0
  118. dask_ms_2-0.2.33/daskms/tests/test_stress.py +32 -0
  119. dask_ms_2-0.2.33/daskms/tests/test_table.py +15 -0
  120. dask_ms_2-0.2.33/daskms/tests/test_table_proxy.py +236 -0
  121. dask_ms_2-0.2.33/daskms/tests/test_table_schemas.py +40 -0
  122. dask_ms_2-0.2.33/daskms/tests/test_utils.py +111 -0
  123. dask_ms_2-0.2.33/daskms/utils.py +269 -0
  124. dask_ms_2-0.2.33/daskms/writes.py +782 -0
  125. dask_ms_2-0.2.33/docs/Makefile +20 -0
  126. dask_ms_2-0.2.33/docs/api.rst +58 -0
  127. dask_ms_2-0.2.33/docs/authors.rst +1 -0
  128. dask_ms_2-0.2.33/docs/concepts/ms.rst +206 -0
  129. dask_ms_2-0.2.33/docs/concepts/pyarrays.rst +185 -0
  130. dask_ms_2-0.2.33/docs/concepts.rst +8 -0
  131. dask_ms_2-0.2.33/docs/conf.py +137 -0
  132. dask_ms_2-0.2.33/docs/contributing.rst +1 -0
  133. dask_ms_2-0.2.33/docs/history.rst +1 -0
  134. dask_ms_2-0.2.33/docs/index.rst +22 -0
  135. dask_ms_2-0.2.33/docs/installation.rst +73 -0
  136. dask_ms_2-0.2.33/docs/make.bat +36 -0
  137. dask_ms_2-0.2.33/docs/readme.rst +1 -0
  138. dask_ms_2-0.2.33/docs/tutorial/datasets.rst +98 -0
  139. dask_ms_2-0.2.33/docs/tutorial/reads.rst +391 -0
  140. dask_ms_2-0.2.33/docs/tutorial/writes.rst +355 -0
  141. dask_ms_2-0.2.33/docs/tutorial.rst +9 -0
  142. dask_ms_2-0.2.33/docs/usage.rst +7 -0
  143. dask_ms_2-0.2.33/examples/example.py +69 -0
  144. dask_ms_2-0.2.33/examples/ms_subtable_join.py +71 -0
  145. dask_ms_2-0.2.33/examples/sched_context.py +76 -0
  146. dask_ms_2-0.2.33/pyproject.toml +80 -0
  147. dask_ms_2-0.2.33/readthedocs.yml +21 -0
  148. dask_ms_2-0.2.33/tbump.toml +43 -0
@@ -0,0 +1,15 @@
1
+ * dask-ms 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,27 @@
1
+ - [ ] Tests added / passed
2
+
3
+ ```bash
4
+ $ py.test -v -s daskms/tests
5
+ ```
6
+
7
+ If the pep8 tests fail, the quickest way to correct
8
+ this is to run `autopep8` and then `flake8` and
9
+ `pycodestyle` to fix the remaining issues.
10
+
11
+ ```
12
+ $ pip install -U autopep8 flake8 pycodestyle
13
+ $ autopep8 -r -i daskms
14
+ $ flake8 daskms
15
+ $ pycodestyle daskms
16
+ ```
17
+
18
+ - [ ] Fully documented, including `HISTORY.rst` for all changes
19
+ and one of the `docs/*-api.rst` files for new API
20
+
21
+ To build the docs locally:
22
+
23
+ ```
24
+ pip install -r requirements.readthedocs.txt
25
+ cd docs
26
+ READTHEDOCS=True make html
27
+ ```
@@ -0,0 +1,11 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "github-actions" # See documentation for possible values
9
+ directory: "/" # Location of package manifests
10
+ schedule:
11
+ interval: "weekly"
@@ -0,0 +1,116 @@
1
+ name: Ubuntu CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ tags:
8
+ - "*"
9
+ pull_request:
10
+ schedule:
11
+ - cron: '30 2 * * 1,4' # Every Monday and Thursday @ 2h30am UTC
12
+
13
+ jobs:
14
+ check_skip:
15
+ runs-on: ubuntu-latest
16
+ if: |
17
+ !contains(format('{0} {1} {2}', github.event.head_commit.message, github.event.pull_request.title, github.event.pull_request.body), '[skip ci]')
18
+ steps:
19
+ - run: |
20
+ cat <<'MESSAGE'
21
+ github.event_name: ${{ toJson(github.event_name) }}
22
+ github.event:
23
+ ${{ toJson(github.event) }}
24
+ MESSAGE
25
+ test:
26
+ needs: check_skip
27
+ runs-on: ubuntu-latest
28
+ if: "!contains(github.event.head_commit.message, '[skip ci]')"
29
+ strategy:
30
+ fail-fast: false
31
+ matrix:
32
+ python-version: ["3.11", "3.12", "3.13"]
33
+
34
+ steps:
35
+ - name: Set up Python ${{ matrix.python-version }}
36
+ uses: actions/setup-python@v7
37
+ with:
38
+ python-version: ${{ matrix.python-version }}
39
+
40
+ - name: Checkout source
41
+ uses: actions/checkout@v7
42
+ with:
43
+ fetch-depth: 1
44
+
45
+ - name: Install dask-ms base
46
+ run: pip install .[arrow,testing,zarr,casacore]
47
+
48
+ - name: Test dask-ms base
49
+ run: py.test -s -vvv daskms/
50
+
51
+ - name: Install dask-ms complete
52
+ run: pip install .[complete,testing,casacore]
53
+
54
+ - name: Test dask-ms complete
55
+ # xarray >= 2026.x calls zarr.open_group(zarr_format=...), which is
56
+ # a zarr 3 API; the extras still pin zarr<3, so these two
57
+ # experimental-zarr tests fail on any current xarray + zarr 2 pair
58
+ # (dask-ms's own zarr code is unaffected). Deselect until the
59
+ # experimental zarr support migrates to zarr 3.
60
+ run: >
61
+ py.test -s -vvv daskms/
62
+ --deselect daskms/experimental/zarr/tests/test_zarr.py::test_xarray_to_zarr
63
+ --deselect daskms/experimental/zarr/tests/test_zarr.py::test_xarray_reading_daskms_written_dataset
64
+
65
+ # - name: Debug with tmate on failure
66
+ # if: ${{ failure() }}
67
+ # uses: mxschmitt/action-tmate@v3
68
+
69
+ test_apps:
70
+ needs: check_skip
71
+ runs-on: ubuntu-latest
72
+ if: "!contains(github.event.head_commit.message, '[skip ci]')"
73
+ strategy:
74
+ fail-fast: false
75
+ matrix:
76
+ python-version: ["3.13"]
77
+
78
+ steps:
79
+ - name: Create Cache Hash
80
+ run: |
81
+ export HASH=$(sha256sum <<EOT | cut -c -16
82
+ ${{ env.POETRY_VERSION }}
83
+ EOT
84
+ )
85
+ echo "INSTALL_CACHE_HASH=$HASH" >> $GITHUB_ENV
86
+
87
+ - name: Set up Python ${{ matrix.python-version }}
88
+ uses: actions/setup-python@v7
89
+ with:
90
+ python-version: ${{ matrix.python-version }}
91
+
92
+ - name: Cache Installations
93
+ id: cache-installs
94
+ uses: actions/cache@v6
95
+ with:
96
+ path: ~/.local
97
+ key: install-${{ env.INSTALL_CACHE_HASH }}-0
98
+
99
+ - name: Checkout source
100
+ uses: actions/checkout@v7
101
+ with:
102
+ fetch-depth: 1
103
+
104
+ - name: Install dask-ms complete
105
+ run: pip install .[complete,testing,casacore]
106
+
107
+ - name: Test dask-ms applications
108
+ run: py.test -s -vvv --applications daskms/
109
+
110
+ # - name: Debug with tmate on failure
111
+ # if: ${{ failure() }}
112
+ # uses: mxschmitt/action-tmate@v3
113
+
114
+ # Publishing lives in publish-pypi.yaml (PyPI Trusted Publishing is
115
+ # registered against that workflow + environment `pypi`); the deploy job
116
+ # previously here raced with it on tag pushes.
@@ -0,0 +1,15 @@
1
+ name: pre-commit
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ pre-commit:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v7
10
+ with:
11
+ fetch-depth: 1
12
+ - uses: actions/setup-python@v7
13
+ with:
14
+ python-version: 3.11
15
+ - uses: pre-commit/action@v3.0.1
@@ -0,0 +1,33 @@
1
+ name: Publish dask-ms-2 package
2
+
3
+ on:
4
+ push:
5
+ tags: [ 'v*.*.*' ]
6
+
7
+ jobs:
8
+ build-n-publish:
9
+ name: Build and publish dask-ms-2 to PyPI
10
+ runs-on: ubuntu-latest
11
+ environment: pypi
12
+ permissions:
13
+ id-token: write # PyPI Trusted Publishing (OIDC) -- no API token needed
14
+ steps:
15
+ - uses: actions/checkout@main
16
+ - name: Set up Python 3.x
17
+ uses: actions/setup-python@v5
18
+ with:
19
+ python-version: "3.x"
20
+ - name: Install pypa/build
21
+ run: |
22
+ python -m pip install --upgrade pip
23
+ pip install build
24
+ - name: Build a binary wheel and a source tarball
25
+ run: >-
26
+ python -m
27
+ build
28
+ --sdist
29
+ --wheel
30
+ --outdir dist/
31
+ .
32
+ - name: Publish distribution to PyPI
33
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,22 @@
1
+ # .github/workflows/documentation-links.yml
2
+
3
+ name: readthedocs/actions
4
+ on:
5
+ pull_request_target:
6
+ types:
7
+ - opened
8
+ # Execute this action only on PRs that touch
9
+ # documentation files.
10
+ # paths:
11
+ # - "doc/**"
12
+
13
+ permissions:
14
+ pull-requests: write
15
+
16
+ jobs:
17
+ documentation-links:
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - uses: readthedocs/actions/preview@v1
21
+ with:
22
+ project-slug: "dask-ms"
@@ -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
+
49
+ # Translations
50
+ *.mo
51
+ *.pot
52
+
53
+ # Django stuff:
54
+ *.log
55
+ local_settings.py
56
+
57
+ # Flask stuff:
58
+ instance/
59
+ .webassets-cache
60
+
61
+ # Scrapy stuff:
62
+ .scrapy
63
+
64
+ # Sphinx documentation
65
+ docs/_build/
66
+
67
+ # PyBuilder
68
+ target/
69
+
70
+ # Jupyter Notebook
71
+ .ipynb_checkpoints
72
+
73
+ # pyenv
74
+ .python-version
75
+
76
+ # celery beat schedule file
77
+ celerybeat-schedule
78
+
79
+ # SageMath parsed files
80
+ *.sage.py
81
+
82
+ # dotenv
83
+ .env
84
+
85
+ # virtualenv
86
+ .venv
87
+ venv/
88
+ ENV/
89
+
90
+ # Spyder project settings
91
+ .spyderproject
92
+ .spyproject
93
+
94
+ # Visual Studio code settings
95
+ .vscode/
96
+
97
+ # Rope project settings
98
+ .ropeproject
99
+
100
+ # mkdocs documentation
101
+ /site
102
+
103
+ # mypy
104
+ .mypy_cache/
105
+ pixi.lock
106
+ pixi.toml
@@ -0,0 +1,15 @@
1
+ # See https://pre-commit.com for more information
2
+ # See https://pre-commit.com/hooks.html for more hooks
3
+ repos:
4
+ - repo: https://github.com/pre-commit/pre-commit-hooks
5
+ rev: v4.5.0
6
+ hooks:
7
+ - id: trailing-whitespace
8
+ - id: end-of-file-fixer
9
+ - id: check-yaml
10
+ - id: check-added-large-files
11
+ - repo: https://github.com/astral-sh/ruff-pre-commit
12
+ rev: v0.1.3
13
+ hooks:
14
+ - id: ruff-format
15
+ name: ruff format
@@ -0,0 +1,20 @@
1
+ FROM kernsuite/base:5
2
+
3
+ # Install base requirements
4
+ RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:deadsnakes/ppa -y
5
+ RUN DEBIAN_FRONTEND=noninteractive apt update -y
6
+ RUN DEBIAN_FRONTEND=noninteractive apt install -y build-essential curl git python3-distutils python3.6 python3.6-dev
7
+ RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
8
+ RUN python3.6 get-pip.py
9
+ ADD . /code
10
+ WORKDIR /code
11
+
12
+ # Test without xarray
13
+ RUN python3.6 -m pip install .[testing]
14
+ RUN python3.6 -m pip freeze
15
+ RUN python3.6 -m pytest --flake8 -s -vvv /code/daskms
16
+
17
+ # Test with xarray
18
+ RUN python3.6 -m pip install .[testing,xarray]
19
+ RUN python3.6 -m pip freeze
20
+ RUN python3.6 -m pytest --flake8 -s -vvv /code/daskms
@@ -0,0 +1,20 @@
1
+ FROM kernsuite/base:5
2
+
3
+ # Install base requirements
4
+ RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:deadsnakes/ppa -y
5
+ RUN DEBIAN_FRONTEND=noninteractive apt update -y
6
+ RUN DEBIAN_FRONTEND=noninteractive apt install -y build-essential curl git python3-distutils python3.7 python3.7-dev
7
+ RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
8
+ RUN python3.7 get-pip.py
9
+ ADD . /code
10
+ WORKDIR /code
11
+
12
+ # Test without xarray
13
+ RUN python3.7 -m pip install .[testing]
14
+ RUN python3.7 -m pip freeze
15
+ RUN python3.7 -m pytest --flake8 -s -vvv /code/daskms
16
+
17
+ # Test with xarray
18
+ RUN python3.7 -m pip install .[testing,xarray]
19
+ RUN python3.7 -m pip freeze
20
+ RUN python3.7 -m pytest --flake8 -s -vvv /code/daskms
@@ -0,0 +1,20 @@
1
+ FROM kernsuite/base:5
2
+
3
+ # Install base requirements
4
+ RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:deadsnakes/ppa -y
5
+ RUN DEBIAN_FRONTEND=noninteractive apt update -y
6
+ RUN DEBIAN_FRONTEND=noninteractive apt install -y build-essential curl git python3-distutils python3.8 python3.8-dev
7
+ RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
8
+ RUN python3.8 get-pip.py
9
+ ADD . /code
10
+ WORKDIR /code
11
+
12
+ # Test without xarray
13
+ RUN python3.8 -m pip install .[testing]
14
+ RUN python3.8 -m pip freeze
15
+ RUN python3.8 -m pytest --flake8 -s -vvv /code/daskms
16
+
17
+ # Test with xarray
18
+ RUN python3.8 -m pip install .[testing,xarray]
19
+ RUN python3.8 -m pip freeze
20
+ RUN python3.8 -m pytest --flake8 -s -vvv /code/daskms
@@ -0,0 +1,29 @@
1
+ language: python
2
+ matrix:
3
+ include:
4
+ - env: TARGET=python36
5
+ - env: TARGET=python37
6
+ - env: TARGET=python38
7
+ sudo: required
8
+ services:
9
+ - docker
10
+ before_install:
11
+ - true
12
+ install:
13
+ - docker build . -t ${TARGET} -f .travis/${TARGET}.docker
14
+ before_script:
15
+ - true
16
+ script:
17
+ - true
18
+ deploy:
19
+ provider: pypi
20
+ user: sperkins
21
+ distributions: "sdist bdist_wheel"
22
+ skip_existing: true
23
+ skip_cleanup: true
24
+ password:
25
+ secure: BsSox4GDuo9WLRzAaMJ/X2eW56hY5Qus/LcVSOj7ygOa21vaSeAxfXfYyVhJaROtAEMDjDmspI3Xg/aHizFTrliulyzjAVXGEzubHHIYTqEkQ/3ZtZeWim8e9YcclbV+nkZ588RyB73nYFb0Hkk/kHJ3KXtPoapg82qPN0LwIR1Qg41YUlOBpPG9g+78Sz28yNdTu5ynHdItQ0kyqToVFuwJaXKgBtHLHPLirg5kravz7SoKHTaKFEuzW3rxfRsZn8vXYo82yyXLJcpLUjhaQT3WcMMHuS+FoIPre7u1xsYODX+PyCPNVBCMHW97Qmjmwvb7x7TQETsak2fRsA0601s5SDuODFRN+b/MErB7otAmlDOFTtA9XFTWG2F6tkXn7Wq3mGi+yDSTt8eB7dFGRMdZqnsRX4PbysDBYAQ2T5Eh9oRPJA8kP8tzr9uTTrxL0p0bjce0DdEKlLLaqTZ7LsnPSgnpK+16H4MU79oyxqB+9xfbvKVQIwlRKdqcqy8wd/Eeaix6IN5+svpl4hKIeIN8MscW93lpKwocegYE/sd1tBNPlUuO8sIABfHIppPt8k/dEKmH1CiEPyM87VTBdNnj1bJrJU5xKPA1a2Rn20YviwhLl8A9MdEXKBALqNFzhXIyTQe2Wk1Pd2S5FfGhC/XsQqnnuSrKXR2LIZogIUs=
26
+ on:
27
+ tags: true
28
+ branch: master
29
+ repo: ska-sa/dask-ms
@@ -0,0 +1,13 @@
1
+ =======
2
+ Credits
3
+ =======
4
+
5
+ Development Lead
6
+ ----------------
7
+
8
+ * Simon Perkins <sperkins@ska.ac.za>
9
+
10
+ Contributors
11
+ ------------
12
+
13
+ None yet. Why not be the first?
@@ -0,0 +1,136 @@
1
+ .. highlight:: shell
2
+
3
+ ============
4
+ Contributing
5
+ ============
6
+
7
+ Contributions are welcome, and they are greatly appreciated! Every little bit
8
+ helps, and credit will always be given.
9
+
10
+ You can contribute in many ways:
11
+
12
+ Types of Contributions
13
+ ----------------------
14
+
15
+ Report Bugs
16
+ ~~~~~~~~~~~
17
+
18
+ Report bugs at https://github.com/ska-sa/dask-ms/issues.
19
+
20
+ If you are reporting a bug, please include:
21
+
22
+ * Your operating system name and version.
23
+ * Any details about your local setup that might be helpful in troubleshooting.
24
+ * Detailed steps to reproduce the bug.
25
+
26
+ Fix Bugs
27
+ ~~~~~~~~
28
+
29
+ Look through the GitHub issues for bugs. Anything tagged with "bug" and "help
30
+ wanted" is open to whoever wants to implement it.
31
+
32
+ Implement Features
33
+ ~~~~~~~~~~~~~~~~~~
34
+
35
+ Look through the GitHub issues for features. Anything tagged with "enhancement"
36
+ and "help wanted" is open to whoever wants to implement it.
37
+
38
+ Write Documentation
39
+ ~~~~~~~~~~~~~~~~~~~
40
+
41
+ dask-ms could always use more documentation, whether as part of the
42
+ official dask-ms docs, in docstrings, or even on the web in blog posts,
43
+ articles, and such.
44
+
45
+ Submit Feedback
46
+ ~~~~~~~~~~~~~~~
47
+
48
+ The best way to send feedback is to file an issue at https://github.com/ska-sa/dask-ms/issues.
49
+
50
+ If you are proposing a feature:
51
+
52
+ * Explain in detail how it would work.
53
+ * Keep the scope as narrow as possible, to make it easier to implement.
54
+ * Remember that this is a volunteer-driven project, and that contributions
55
+ are welcome :)
56
+
57
+ Get Started!
58
+ ------------
59
+
60
+ Ready to contribute? Here's how to set up `daskms` for local development.
61
+
62
+ 1. Fork the `daskms` repo on GitHub.
63
+ 2. Clone your fork locally::
64
+
65
+ $ git clone git@github.com:your_name_here/daskms.git
66
+
67
+ 3. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development::
68
+
69
+ $ mkvirtualenv daskms
70
+ $ cd daskms/
71
+ $ python setup.py develop
72
+
73
+ 4. Create a branch for local development::
74
+
75
+ $ git checkout -b name-of-your-bugfix-or-feature
76
+
77
+ Now you can make your changes locally.
78
+
79
+ 5. When you're done making changes, check that your changes pass flake8 and the
80
+ tests, including testing other Python versions with tox::
81
+
82
+ $ flake8 daskms tests
83
+ $ python setup.py test or py.test
84
+ $ tox
85
+
86
+ To get flake8 and tox, just pip install them into your virtualenv.
87
+
88
+ 6. Commit your changes and push your branch to GitHub::
89
+
90
+ $ git add .
91
+ $ git commit -m "Your detailed description of your changes."
92
+ $ git push origin name-of-your-bugfix-or-feature
93
+
94
+ 7. Submit a pull request through the GitHub website.
95
+
96
+ Pull Request Guidelines
97
+ -----------------------
98
+
99
+ Before you submit a pull request, check that it meets these guidelines:
100
+
101
+ 1. The pull request should include tests.
102
+ 2. If the pull request adds functionality, the docs should be updated. Put
103
+ your new functionality into a function with a docstring, and add the
104
+ feature to the list in README.rst.
105
+ 3. The pull request should work for Python 2.7, 3.4, 3.5 and 3.6, and for PyPy. Check
106
+ https://travis-ci.org/ska-sa/dask-ms/pull_requests
107
+ and make sure that the tests pass for all supported Python versions.
108
+
109
+ Tips
110
+ ----
111
+
112
+ To run a subset of tests::
113
+
114
+ $ py.test -vvv daskms/tests
115
+
116
+
117
+ Deploying
118
+ ---------
119
+
120
+ A reminder for the maintainers on how to deploy.
121
+
122
+ 1. Update HISTORY.rst with the intended release number Z.Y.X and commit to git.
123
+
124
+ 2. Bump the version number with bump2version. This creates a new git commit,
125
+ as well as an annotated tag Z.Y.X for the release.
126
+ If your current version is Z.Y.W and the new version is Z.Y.X call::
127
+
128
+ $ python -m pip install bump2version
129
+ $ bump2version --current-version Z.Y.W --new-version Z.Y.X patch
130
+
131
+ 3. Push the release commit and new tag up::
132
+
133
+ $ git push --follow-tags
134
+
135
+ 4. Travis should automatically deploy the tagged release to PyPI
136
+ if the automated tests pass.