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.
- dask_ms_2-0.2.33/.github/ISSUE_TEMPLATE.md +15 -0
- dask_ms_2-0.2.33/.github/PULL_REQUEST_TEMPLATE.md +27 -0
- dask_ms_2-0.2.33/.github/dependabot.yml +11 -0
- dask_ms_2-0.2.33/.github/workflows/ci.yml +116 -0
- dask_ms_2-0.2.33/.github/workflows/pre-commit.yml +15 -0
- dask_ms_2-0.2.33/.github/workflows/publish-pypi.yaml +33 -0
- dask_ms_2-0.2.33/.github/workflows/readthedocs.yml +22 -0
- dask_ms_2-0.2.33/.gitignore +106 -0
- dask_ms_2-0.2.33/.pre-commit-config.yaml +15 -0
- dask_ms_2-0.2.33/.travis/python36.docker +20 -0
- dask_ms_2-0.2.33/.travis/python37.docker +20 -0
- dask_ms_2-0.2.33/.travis/python38.docker +20 -0
- dask_ms_2-0.2.33/.travis.yml +29 -0
- dask_ms_2-0.2.33/AUTHORS.rst +13 -0
- dask_ms_2-0.2.33/CONTRIBUTING.rst +136 -0
- dask_ms_2-0.2.33/HISTORY.rst +331 -0
- dask_ms_2-0.2.33/LICENSE +28 -0
- dask_ms_2-0.2.33/MANIFEST.in +10 -0
- dask_ms_2-0.2.33/Makefile +87 -0
- dask_ms_2-0.2.33/PKG-INFO +185 -0
- dask_ms_2-0.2.33/README.rst +126 -0
- dask_ms_2-0.2.33/conftest.py +42 -0
- dask_ms_2-0.2.33/daskms/__init__.py +27 -0
- dask_ms_2-0.2.33/daskms/apps/__init__.py +0 -0
- dask_ms_2-0.2.33/daskms/apps/application.py +15 -0
- dask_ms_2-0.2.33/daskms/apps/conf/logging.ini +23 -0
- dask_ms_2-0.2.33/daskms/apps/conftest.py +67 -0
- dask_ms_2-0.2.33/daskms/apps/convert.py +280 -0
- dask_ms_2-0.2.33/daskms/apps/entrypoint.py +19 -0
- dask_ms_2-0.2.33/daskms/apps/formats.py +280 -0
- dask_ms_2-0.2.33/daskms/apps/fragments.py +63 -0
- dask_ms_2-0.2.33/daskms/apps/katdal_import.py +75 -0
- dask_ms_2-0.2.33/daskms/apps/tests/test_chunk_transformer.py +11 -0
- dask_ms_2-0.2.33/daskms/apps/tests/test_convert.py +61 -0
- dask_ms_2-0.2.33/daskms/array_api_utils.py +63 -0
- dask_ms_2-0.2.33/daskms/casacure_backend.py +48 -0
- dask_ms_2-0.2.33/daskms/columns.py +301 -0
- dask_ms_2-0.2.33/daskms/config.py +3 -0
- dask_ms_2-0.2.33/daskms/conftest.py +285 -0
- dask_ms_2-0.2.33/daskms/constants.py +3 -0
- dask_ms_2-0.2.33/daskms/dask_ms.py +451 -0
- dask_ms_2-0.2.33/daskms/dataset.py +536 -0
- dask_ms_2-0.2.33/daskms/dataset_schema.py +332 -0
- dask_ms_2-0.2.33/daskms/descriptors/__init__.py +0 -0
- dask_ms_2-0.2.33/daskms/descriptors/builder.py +202 -0
- dask_ms_2-0.2.33/daskms/descriptors/builder_factory.py +151 -0
- dask_ms_2-0.2.33/daskms/descriptors/ms.py +309 -0
- dask_ms_2-0.2.33/daskms/descriptors/ms_subtable.py +44 -0
- dask_ms_2-0.2.33/daskms/descriptors/ratt_ms.py +23 -0
- dask_ms_2-0.2.33/daskms/descriptors/register_default_builders.py +5 -0
- dask_ms_2-0.2.33/daskms/descriptors/tests/test_builder_factory.py +66 -0
- dask_ms_2-0.2.33/daskms/descriptors/tests/test_default_builder.py +91 -0
- dask_ms_2-0.2.33/daskms/descriptors/tests/test_ms_builder.py +110 -0
- dask_ms_2-0.2.33/daskms/descriptors/tests/test_ms_subtable_builder.py +37 -0
- dask_ms_2-0.2.33/daskms/example_data.py +124 -0
- dask_ms_2-0.2.33/daskms/experimental/__init__.py +0 -0
- dask_ms_2-0.2.33/daskms/experimental/arrow/__init__.py +2 -0
- dask_ms_2-0.2.33/daskms/experimental/arrow/arrow_schema.py +190 -0
- dask_ms_2-0.2.33/daskms/experimental/arrow/extension_types.py +207 -0
- dask_ms_2-0.2.33/daskms/experimental/arrow/reads.py +352 -0
- dask_ms_2-0.2.33/daskms/experimental/arrow/require_arrow.py +5 -0
- dask_ms_2-0.2.33/daskms/experimental/arrow/tests/__init__.py +0 -0
- dask_ms_2-0.2.33/daskms/experimental/arrow/tests/test_extensions.py +65 -0
- dask_ms_2-0.2.33/daskms/experimental/arrow/tests/test_parquet.py +220 -0
- dask_ms_2-0.2.33/daskms/experimental/arrow/writes.py +178 -0
- dask_ms_2-0.2.33/daskms/experimental/fragments/__init__.py +237 -0
- dask_ms_2-0.2.33/daskms/experimental/fragments/tests/__init__.py +0 -0
- dask_ms_2-0.2.33/daskms/experimental/fragments/tests/test_fragments.py +346 -0
- dask_ms_2-0.2.33/daskms/experimental/katdal/__init__.py +1 -0
- dask_ms_2-0.2.33/daskms/experimental/katdal/constants.py +19 -0
- dask_ms_2-0.2.33/daskms/experimental/katdal/corr_products.py +68 -0
- dask_ms_2-0.2.33/daskms/experimental/katdal/katdal_import.py +139 -0
- dask_ms_2-0.2.33/daskms/experimental/katdal/meerkat_antennas.py +70 -0
- dask_ms_2-0.2.33/daskms/experimental/katdal/mock_dataset.py +88 -0
- dask_ms_2-0.2.33/daskms/experimental/katdal/msv2_facade.py +638 -0
- dask_ms_2-0.2.33/daskms/experimental/katdal/tests/conftest.py +59 -0
- dask_ms_2-0.2.33/daskms/experimental/katdal/tests/test_chunkstore.py +172 -0
- dask_ms_2-0.2.33/daskms/experimental/katdal/transpose.py +131 -0
- dask_ms_2-0.2.33/daskms/experimental/katdal/uvw.py +77 -0
- dask_ms_2-0.2.33/daskms/experimental/tests/__init__.py +0 -0
- dask_ms_2-0.2.33/daskms/experimental/tests/test_utils.py +112 -0
- dask_ms_2-0.2.33/daskms/experimental/utils.py +218 -0
- dask_ms_2-0.2.33/daskms/experimental/zarr/__init__.py +528 -0
- dask_ms_2-0.2.33/daskms/experimental/zarr/tests/__init__.py +0 -0
- dask_ms_2-0.2.33/daskms/experimental/zarr/tests/conftest.py +56 -0
- dask_ms_2-0.2.33/daskms/experimental/zarr/tests/test_zarr.py +466 -0
- dask_ms_2-0.2.33/daskms/expressions.py +109 -0
- dask_ms_2-0.2.33/daskms/fsspec_store.py +189 -0
- dask_ms_2-0.2.33/daskms/multiton.py +182 -0
- dask_ms_2-0.2.33/daskms/optimisation.py +349 -0
- dask_ms_2-0.2.33/daskms/ordering.py +220 -0
- dask_ms_2-0.2.33/daskms/patterns.py +394 -0
- dask_ms_2-0.2.33/daskms/query.py +30 -0
- dask_ms_2-0.2.33/daskms/reads.py +558 -0
- dask_ms_2-0.2.33/daskms/table.py +30 -0
- dask_ms_2-0.2.33/daskms/table_executor.py +65 -0
- dask_ms_2-0.2.33/daskms/table_proxy.py +436 -0
- dask_ms_2-0.2.33/daskms/table_schemas.py +186 -0
- dask_ms_2-0.2.33/daskms/testing.py +21 -0
- dask_ms_2-0.2.33/daskms/tests/__init__.py +0 -0
- dask_ms_2-0.2.33/daskms/tests/test_array_api_utils.py +265 -0
- dask_ms_2-0.2.33/daskms/tests/test_columns.py +73 -0
- dask_ms_2-0.2.33/daskms/tests/test_dataset.py +648 -0
- dask_ms_2-0.2.33/daskms/tests/test_dataset_keywords.py +119 -0
- dask_ms_2-0.2.33/daskms/tests/test_dataset_schema.py +53 -0
- dask_ms_2-0.2.33/daskms/tests/test_executor.py +73 -0
- dask_ms_2-0.2.33/daskms/tests/test_expression.py +27 -0
- dask_ms_2-0.2.33/daskms/tests/test_fsspec_store.py +175 -0
- dask_ms_2-0.2.33/daskms/tests/test_github.py +31 -0
- dask_ms_2-0.2.33/daskms/tests/test_ms_creation.py +335 -0
- dask_ms_2-0.2.33/daskms/tests/test_ms_read_and_update.py +766 -0
- dask_ms_2-0.2.33/daskms/tests/test_multiton_metaclass.py +156 -0
- dask_ms_2-0.2.33/daskms/tests/test_optimisation.py +139 -0
- dask_ms_2-0.2.33/daskms/tests/test_optional.py +410 -0
- dask_ms_2-0.2.33/daskms/tests/test_ordering.py +224 -0
- dask_ms_2-0.2.33/daskms/tests/test_patterns.py +141 -0
- dask_ms_2-0.2.33/daskms/tests/test_storage.py +71 -0
- dask_ms_2-0.2.33/daskms/tests/test_stress.py +32 -0
- dask_ms_2-0.2.33/daskms/tests/test_table.py +15 -0
- dask_ms_2-0.2.33/daskms/tests/test_table_proxy.py +236 -0
- dask_ms_2-0.2.33/daskms/tests/test_table_schemas.py +40 -0
- dask_ms_2-0.2.33/daskms/tests/test_utils.py +111 -0
- dask_ms_2-0.2.33/daskms/utils.py +269 -0
- dask_ms_2-0.2.33/daskms/writes.py +782 -0
- dask_ms_2-0.2.33/docs/Makefile +20 -0
- dask_ms_2-0.2.33/docs/api.rst +58 -0
- dask_ms_2-0.2.33/docs/authors.rst +1 -0
- dask_ms_2-0.2.33/docs/concepts/ms.rst +206 -0
- dask_ms_2-0.2.33/docs/concepts/pyarrays.rst +185 -0
- dask_ms_2-0.2.33/docs/concepts.rst +8 -0
- dask_ms_2-0.2.33/docs/conf.py +137 -0
- dask_ms_2-0.2.33/docs/contributing.rst +1 -0
- dask_ms_2-0.2.33/docs/history.rst +1 -0
- dask_ms_2-0.2.33/docs/index.rst +22 -0
- dask_ms_2-0.2.33/docs/installation.rst +73 -0
- dask_ms_2-0.2.33/docs/make.bat +36 -0
- dask_ms_2-0.2.33/docs/readme.rst +1 -0
- dask_ms_2-0.2.33/docs/tutorial/datasets.rst +98 -0
- dask_ms_2-0.2.33/docs/tutorial/reads.rst +391 -0
- dask_ms_2-0.2.33/docs/tutorial/writes.rst +355 -0
- dask_ms_2-0.2.33/docs/tutorial.rst +9 -0
- dask_ms_2-0.2.33/docs/usage.rst +7 -0
- dask_ms_2-0.2.33/examples/example.py +69 -0
- dask_ms_2-0.2.33/examples/ms_subtable_join.py +71 -0
- dask_ms_2-0.2.33/examples/sched_context.py +76 -0
- dask_ms_2-0.2.33/pyproject.toml +80 -0
- dask_ms_2-0.2.33/readthedocs.yml +21 -0
- 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,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,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.
|