bed-reader 1.0.5b4__tar.gz → 1.0.6__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.
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/.github/workflows/ci.yml +52 -60
- bed_reader-1.0.6/.github/workflows/docs.yml +45 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/.gitignore +1 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/CHANGELOG.md +4 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/Cargo.lock +531 -414
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/Cargo.toml +25 -24
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/LICENSE.md +1 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/PKG-INFO +24 -9
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/_open_bed.py +170 -186
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/_sample_data.py +10 -12
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/_to_bed.py +66 -53
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/benchmark/benchmark.py +8 -20
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/test_file_dot.py +19 -28
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/test_open_bed.py +190 -207
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/test_open_bed_cloud.py +114 -155
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/test_opt_dep.py +3 -3
- bed_reader-1.0.6/pyproject.toml +63 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/bed_cloud.rs +4 -4
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/lib.rs +6 -21
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/supplemental_documents/cloud_urls_etc.md +7 -8
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/supplemental_documents/options_etc.md +3 -3
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/tests.rs +4 -1
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/tests/tests_api_cloud.rs +24 -24
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/useful.md +62 -21
- bed_reader-1.0.5b4/.flake8 +0 -2
- bed_reader-1.0.5b4/.isort.cfg +0 -9
- bed_reader-1.0.5b4/pyproject.toml +0 -37
- bed_reader-1.0.5b4/pytest.ini +0 -6
- bed_reader-1.0.5b4/requirements-dev.txt +0 -13
- bed_reader-1.0.5b4/requirements-min-dev.txt +0 -3
- bed_reader-1.0.5b4/requirements.txt +0 -3
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/AUTHORS.txt +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/README-rust.md +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/README.md +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/_sphinx_javascript_frameworks_compat.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/basic.css +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/doctools.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/documentation_options.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/file.png +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/jquery-3.4.1.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/jquery-3.5.1.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/jquery-3.6.0.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/jquery.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/js/badge_only.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/js/html5shiv-printshiv.min.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/js/html5shiv.min.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/js/modernizr.min.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/js/theme.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/language_data.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/minus.png +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/plus.png +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/pygments.css +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/searchtools.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/sphinx_highlight.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/underscore-1.12.0.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/underscore-1.13.1.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/underscore-1.3.1.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/underscore.js +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/__init__.py +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/__init__.py +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/benchmark/bench2.ipynb +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/500x400_o640_array.memmap +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/badfile.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/empty.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bim +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.fam +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.bad_bim +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.bim +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.bim_bad_positions.bim +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.deb +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.fam +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.fam_bad +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.maf +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.mib +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small2_array.memmap +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_array.memmap +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_bim.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_bim.fam +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_fam.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_fam.bim +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_too_short.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_too_short.bim +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_too_short.fam +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/smallmode0.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/smallmode0.bim +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/smallmode0.fam +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/smallmodebad.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.bim +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.fam +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.properties.npz +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.val.npy +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/sparse.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/sparse.bim +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/sparse.fam +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/toydata.5chrom.bed +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/toydata.5chrom.bim +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/toydata.5chrom.fam +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/registry.txt +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/build.rs +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/examples/cloud.rs +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/examples/no_cloud.rs +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/setpath.bat +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/python_module.rs +0 -0
- {bed_reader-1.0.5b4 → bed_reader-1.0.6}/tests/tests_api.rs +0 -0
|
@@ -26,12 +26,19 @@ jobs:
|
|
|
26
26
|
runs-on: ${{ matrix.os }}
|
|
27
27
|
steps:
|
|
28
28
|
- name: Checkout
|
|
29
|
-
uses: actions/checkout@
|
|
30
|
-
- name: Set up Rust
|
|
31
|
-
uses:
|
|
29
|
+
uses: actions/checkout@v4
|
|
30
|
+
- name: Set up Rust (Pinned Version)
|
|
31
|
+
uses: dtolnay/rust-toolchain@1.81.0
|
|
32
32
|
with:
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
components: clippy, rustfmt, rust-src
|
|
34
|
+
- name: Run Clippy (strict for this pinned version of Rust)
|
|
35
|
+
run: cargo clippy --all-targets --all-features -- -D warnings
|
|
36
|
+
- name: Set up Rust (Latest Stable)
|
|
37
|
+
uses: dtolnay/rust-toolchain@stable
|
|
38
|
+
with:
|
|
39
|
+
components: clippy, rustfmt, rust-src
|
|
40
|
+
- name: Run Clippy (lenient for latest version)
|
|
41
|
+
run: cargo clippy --all-targets --all-features -- -A warnings || echo "Clippy warnings from the latest version"
|
|
35
42
|
- name: Test Rust no-default-features
|
|
36
43
|
run: cargo test --verbose --no-default-features
|
|
37
44
|
- name: Test Rust default features
|
|
@@ -48,10 +55,10 @@ jobs:
|
|
|
48
55
|
- uses: actions/setup-python@v4
|
|
49
56
|
with:
|
|
50
57
|
python-version: |
|
|
51
|
-
3.9
|
|
52
58
|
3.10
|
|
53
59
|
3.11
|
|
54
60
|
3.12
|
|
61
|
+
3.13
|
|
55
62
|
- name: Build wheels
|
|
56
63
|
uses: PyO3/maturin-action@v1
|
|
57
64
|
with:
|
|
@@ -73,10 +80,10 @@ jobs:
|
|
|
73
80
|
- uses: actions/setup-python@v4
|
|
74
81
|
with:
|
|
75
82
|
python-version: |
|
|
76
|
-
3.9
|
|
77
83
|
3.10
|
|
78
84
|
3.11
|
|
79
85
|
3.12
|
|
86
|
+
3.13
|
|
80
87
|
|
|
81
88
|
- name: Install cross-compilation dependencies
|
|
82
89
|
if: matrix.target == 'aarch64'
|
|
@@ -92,7 +99,7 @@ jobs:
|
|
|
92
99
|
uses: PyO3/maturin-action@v1
|
|
93
100
|
with:
|
|
94
101
|
target: ${{ matrix.target }}
|
|
95
|
-
args: --release --out dist -i python3.
|
|
102
|
+
args: --release --out dist -i python3.10 -i python3.11 -i python3.12 -i python3.13
|
|
96
103
|
manylinux: auto
|
|
97
104
|
|
|
98
105
|
- name: Build wheels for x86_64
|
|
@@ -100,7 +107,7 @@ jobs:
|
|
|
100
107
|
uses: PyO3/maturin-action@v1
|
|
101
108
|
with:
|
|
102
109
|
target: ${{ matrix.target }}
|
|
103
|
-
args: --release --out dist -i python3.
|
|
110
|
+
args: --release --out dist -i -i python3.10 -i python3.11 -i python3.12 -i python3.13
|
|
104
111
|
manylinux: auto
|
|
105
112
|
|
|
106
113
|
- name: Upload wheels
|
|
@@ -119,10 +126,10 @@ jobs:
|
|
|
119
126
|
- uses: actions/setup-python@v4
|
|
120
127
|
with:
|
|
121
128
|
python-version: |
|
|
122
|
-
3.9
|
|
123
129
|
3.10
|
|
124
130
|
3.11
|
|
125
131
|
3.12
|
|
132
|
+
3.13
|
|
126
133
|
architecture: ${{ matrix.target }}
|
|
127
134
|
- name: Build wheels
|
|
128
135
|
uses: PyO3/maturin-action@v1
|
|
@@ -150,64 +157,49 @@ jobs:
|
|
|
150
157
|
name: wheels
|
|
151
158
|
path: dist
|
|
152
159
|
|
|
153
|
-
|
|
154
|
-
name: Test
|
|
160
|
+
test_python:
|
|
161
|
+
name: Test Python
|
|
155
162
|
strategy:
|
|
156
163
|
fail-fast: false
|
|
157
164
|
matrix:
|
|
158
|
-
python-version: [3.
|
|
165
|
+
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
|
159
166
|
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
|
|
160
167
|
runs-on: ${{ matrix.os }}
|
|
161
168
|
steps:
|
|
162
169
|
- name: Checkout
|
|
163
170
|
uses: actions/checkout@v3
|
|
164
|
-
-
|
|
171
|
+
- name: Install Rust
|
|
172
|
+
uses: actions-rs/toolchain@v1
|
|
165
173
|
with:
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
echo "isort"
|
|
181
|
-
isort --check-only .
|
|
182
|
-
- name: Test Python - Non-Windows
|
|
183
|
-
if: runner.os != 'Windows'
|
|
174
|
+
toolchain: stable
|
|
175
|
+
override: true
|
|
176
|
+
- name: Install the latest version of uv
|
|
177
|
+
uses: astral-sh/setup-uv@v3
|
|
178
|
+
- name: Install Python ${{ matrix.python-version }}
|
|
179
|
+
run: uv python install ${{ matrix.python-version }}
|
|
180
|
+
- name: Pinned Ruff
|
|
181
|
+
run: uvx ruff@0.6.9 check bed_reader
|
|
182
|
+
- name: Lastest Ruff (just to check for warnings)
|
|
183
|
+
run: uvx ruff@latest check bed_reader || echo "Ignoring warnings from the latest version of ruff"
|
|
184
|
+
- name: Install minimal dependencies
|
|
185
|
+
run: uv sync --extra min_dev
|
|
186
|
+
- name: Run min tests
|
|
187
|
+
shell: bash
|
|
184
188
|
run: |
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
pytest bed_reader/tests/test_opt_dep.py
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
pytest bed_reader
|
|
196
|
-
- name: Test Python - Windows
|
|
197
|
-
if: runner.os == 'Windows'
|
|
189
|
+
if [[ "$RUNNER_OS" != "Windows" ]]; then
|
|
190
|
+
source .venv/bin/activate
|
|
191
|
+
else
|
|
192
|
+
source .venv/Scripts/activate
|
|
193
|
+
fi
|
|
194
|
+
pytest bed_reader/tests/test_opt_dep.py
|
|
195
|
+
- name: Install all dependencies
|
|
196
|
+
run: uv sync --all-extras
|
|
197
|
+
- name: Run all tests
|
|
198
|
+
shell: bash
|
|
198
199
|
run: |
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
pytest bed_reader/tests/test_opt_dep.py
|
|
206
|
-
echo "requirements"
|
|
207
|
-
pip install -r requirements.txt
|
|
208
|
-
echo "requirements-dev"
|
|
209
|
-
pip install -r requirements-dev.txt
|
|
210
|
-
echo "maturin"
|
|
211
|
-
maturin develop
|
|
212
|
-
echo "pytest"
|
|
213
|
-
pytest bed_reader
|
|
200
|
+
if [[ "$RUNNER_OS" != "Windows" ]]; then
|
|
201
|
+
source .venv/bin/activate
|
|
202
|
+
else
|
|
203
|
+
source .venv/Scripts/activate
|
|
204
|
+
fi
|
|
205
|
+
pytest .
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: Build and Deploy Documentation
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
workflow_dispatch: # This allows manual triggering of the workflow
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build-and-deploy:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout the code
|
|
15
|
+
uses: actions/checkout@v3
|
|
16
|
+
|
|
17
|
+
- name: Install the latest version of uv
|
|
18
|
+
uses: astral-sh/setup-uv@v3
|
|
19
|
+
|
|
20
|
+
- name: Install Python
|
|
21
|
+
run: uv python install
|
|
22
|
+
|
|
23
|
+
- name: Install Rust
|
|
24
|
+
uses: actions-rs/toolchain@v1
|
|
25
|
+
with:
|
|
26
|
+
toolchain: stable
|
|
27
|
+
override: true
|
|
28
|
+
|
|
29
|
+
- name: Setup, Lint, and Test Python
|
|
30
|
+
run: |
|
|
31
|
+
uv sync --extra dev --extra sparse --extra samples
|
|
32
|
+
source .venv/bin/activate
|
|
33
|
+
sphinx-build --version # Verify Sphinx is installed
|
|
34
|
+
|
|
35
|
+
- name: Build the Sphinx documentation
|
|
36
|
+
working-directory: ./doc
|
|
37
|
+
run: |
|
|
38
|
+
source ../.venv/bin/activate
|
|
39
|
+
make html
|
|
40
|
+
|
|
41
|
+
- name: Deploy to GitHub Pages
|
|
42
|
+
uses: peaceiris/actions-gh-pages@v3
|
|
43
|
+
with:
|
|
44
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
45
|
+
publish_dir: doc/build/html
|
|
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.06] - 2024-10-17
|
|
9
|
+
|
|
10
|
+
- Add support for Python 3.13. Fix minor reported bug.
|
|
11
|
+
|
|
8
12
|
## [1.05] - 2024-7-1
|
|
9
13
|
|
|
10
14
|
- Add support for Python's Numpy 2
|