bed-reader 1.0.6__tar.gz → 1.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. {bed_reader-1.0.6 → bed_reader-1.1.0}/.github/workflows/ci.yml +78 -49
  2. {bed_reader-1.0.6 → bed_reader-1.1.0}/CHANGELOG.md +4 -0
  3. {bed_reader-1.0.6 → bed_reader-1.1.0}/Cargo.lock +450 -150
  4. {bed_reader-1.0.6 → bed_reader-1.1.0}/Cargo.toml +6 -6
  5. {bed_reader-1.0.6 → bed_reader-1.1.0}/PKG-INFO +22 -25
  6. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/_open_bed.py +36 -36
  7. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/_sample_data.py +4 -4
  8. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/test_open_bed_cloud.py +10 -8
  9. {bed_reader-1.0.6 → bed_reader-1.1.0}/pyproject.toml +7 -1
  10. {bed_reader-1.0.6 → bed_reader-1.1.0}/src/bed_cloud.rs +5 -3
  11. {bed_reader-1.0.6 → bed_reader-1.1.0}/src/lib.rs +54 -74
  12. {bed_reader-1.0.6 → bed_reader-1.1.0}/src/python_module.rs +75 -48
  13. {bed_reader-1.0.6 → bed_reader-1.1.0}/src/supplemental_documents/cloud_urls_etc.md +1 -1
  14. {bed_reader-1.0.6 → bed_reader-1.1.0}/tests/tests_api_cloud.rs +2 -0
  15. bed_reader-1.1.0/useful.md +316 -0
  16. bed_reader-1.0.6/useful.md +0 -133
  17. {bed_reader-1.0.6 → bed_reader-1.1.0}/.github/workflows/docs.yml +0 -0
  18. {bed_reader-1.0.6 → bed_reader-1.1.0}/.gitignore +0 -0
  19. {bed_reader-1.0.6 → bed_reader-1.1.0}/AUTHORS.txt +0 -0
  20. {bed_reader-1.0.6 → bed_reader-1.1.0}/LICENSE.md +0 -0
  21. {bed_reader-1.0.6 → bed_reader-1.1.0}/README-rust.md +0 -0
  22. {bed_reader-1.0.6 → bed_reader-1.1.0}/README.md +0 -0
  23. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  24. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/basic.css +0 -0
  25. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/doctools.js +0 -0
  26. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/documentation_options.js +0 -0
  27. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/file.png +0 -0
  28. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/jquery-3.4.1.js +0 -0
  29. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/jquery-3.5.1.js +0 -0
  30. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/jquery-3.6.0.js +0 -0
  31. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/jquery.js +0 -0
  32. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/js/badge_only.js +0 -0
  33. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/js/html5shiv-printshiv.min.js +0 -0
  34. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/js/html5shiv.min.js +0 -0
  35. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/js/modernizr.min.js +0 -0
  36. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/js/theme.js +0 -0
  37. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/language_data.js +0 -0
  38. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/minus.png +0 -0
  39. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/plus.png +0 -0
  40. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/pygments.css +0 -0
  41. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/searchtools.js +0 -0
  42. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/sphinx_highlight.js +0 -0
  43. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/underscore-1.12.0.js +0 -0
  44. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/underscore-1.13.1.js +0 -0
  45. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/underscore-1.3.1.js +0 -0
  46. {bed_reader-1.0.6 → bed_reader-1.1.0}/_static/underscore.js +0 -0
  47. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/__init__.py +0 -0
  48. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/_to_bed.py +0 -0
  49. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/__init__.py +0 -0
  50. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/benchmark/bench2.ipynb +0 -0
  51. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/benchmark/benchmark.py +0 -0
  52. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/500x400_o640_array.memmap +0 -0
  53. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/badfile.bed +0 -0
  54. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/empty.bed +0 -0
  55. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bed +0 -0
  56. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bim +0 -0
  57. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.fam +0 -0
  58. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small.bad_bim +0 -0
  59. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small.bed +0 -0
  60. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small.bim +0 -0
  61. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small.bim_bad_positions.bim +0 -0
  62. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small.deb +0 -0
  63. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small.fam +0 -0
  64. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small.fam_bad +0 -0
  65. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small.maf +0 -0
  66. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small.mib +0 -0
  67. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small2_array.memmap +0 -0
  68. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small_array.memmap +0 -0
  69. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small_no_bim.bed +0 -0
  70. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small_no_bim.fam +0 -0
  71. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small_no_fam.bed +0 -0
  72. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small_no_fam.bim +0 -0
  73. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small_too_short.bed +0 -0
  74. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small_too_short.bim +0 -0
  75. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/small_too_short.fam +0 -0
  76. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/smallmode0.bed +0 -0
  77. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/smallmode0.bim +0 -0
  78. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/smallmode0.fam +0 -0
  79. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/smallmodebad.bed +0 -0
  80. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/some_missing.bed +0 -0
  81. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/some_missing.bim +0 -0
  82. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/some_missing.fam +0 -0
  83. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/some_missing.properties.npz +0 -0
  84. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/some_missing.val.npy +0 -0
  85. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/sparse.bed +0 -0
  86. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/sparse.bim +0 -0
  87. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/sparse.fam +0 -0
  88. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/toydata.5chrom.bed +0 -0
  89. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/toydata.5chrom.bim +0 -0
  90. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/data/toydata.5chrom.fam +0 -0
  91. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/registry.txt +0 -0
  92. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/test_file_dot.py +0 -0
  93. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/test_open_bed.py +0 -0
  94. {bed_reader-1.0.6 → bed_reader-1.1.0}/bed_reader/tests/test_opt_dep.py +0 -0
  95. {bed_reader-1.0.6 → bed_reader-1.1.0}/build.rs +0 -0
  96. {bed_reader-1.0.6 → bed_reader-1.1.0}/examples/cloud.rs +0 -0
  97. {bed_reader-1.0.6 → bed_reader-1.1.0}/examples/no_cloud.rs +0 -0
  98. {bed_reader-1.0.6 → bed_reader-1.1.0}/setpath.bat +0 -0
  99. {bed_reader-1.0.6 → bed_reader-1.1.0}/src/supplemental_documents/options_etc.md +0 -0
  100. {bed_reader-1.0.6 → bed_reader-1.1.0}/src/tests.rs +0 -0
  101. {bed_reader-1.0.6 → bed_reader-1.1.0}/tests/tests_api.rs +0 -0
@@ -11,6 +11,13 @@ on:
11
11
 
12
12
  env:
13
13
  CARGO_TERM_COLOR: always
14
+ PYTHON_VERSIONS: |
15
+ 3.10
16
+ 3.11
17
+ 3.12
18
+ 3.13
19
+ 3.14
20
+ PYTHON_VERSIONS_ARGS: "-i python3.10 -i python3.11 -i python3.12 -i python3.13 -i python3.14"
14
21
 
15
22
  permissions:
16
23
  contents: read
@@ -22,13 +29,13 @@ jobs:
22
29
  strategy:
23
30
  fail-fast: false
24
31
  matrix:
25
- os: [ubuntu-latest, windows-latest, macos-13, macos-14]
32
+ os: [ubuntu-latest, windows-latest, macos-15, macos-15-intel]
26
33
  runs-on: ${{ matrix.os }}
27
34
  steps:
28
35
  - name: Checkout
29
36
  uses: actions/checkout@v4
30
37
  - name: Set up Rust (Pinned Version)
31
- uses: dtolnay/rust-toolchain@1.81.0
38
+ uses: dtolnay/rust-toolchain@1.83.0
32
39
  with:
33
40
  components: clippy, rustfmt, rust-src
34
41
  - name: Run Clippy (strict for this pinned version of Rust)
@@ -46,28 +53,32 @@ jobs:
46
53
 
47
54
 
48
55
  macos:
49
- runs-on: macos-13
50
56
  strategy:
51
57
  matrix:
52
- target: [x86_64, aarch64]
58
+ include:
59
+ - target: x86_64
60
+ os: macos-15-intel
61
+ deployment-target: "10.12"
62
+ - target: aarch64
63
+ os: macos-15
64
+ deployment-target: "11.0"
65
+ runs-on: ${{ matrix.os }}
53
66
  steps:
54
- - uses: actions/checkout@v3
55
- - uses: actions/setup-python@v4
56
- with:
57
- python-version: |
58
- 3.10
59
- 3.11
60
- 3.12
61
- 3.13
67
+ - uses: actions/checkout@v4
68
+ - uses: actions/setup-python@v5
69
+ with:
70
+ python-version: ${{ env.PYTHON_VERSIONS }}
62
71
  - name: Build wheels
72
+ env:
73
+ MACOSX_DEPLOYMENT_TARGET: ${{ matrix.deployment-target }}
63
74
  uses: PyO3/maturin-action@v1
64
75
  with:
65
76
  target: ${{ matrix.target }}
66
- args: --release --out dist --find-interpreter
77
+ args: --release --out dist ${{ env.PYTHON_VERSIONS_ARGS }}
67
78
  - name: Upload wheels
68
- uses: actions/upload-artifact@v3
79
+ uses: actions/upload-artifact@v4
69
80
  with:
70
- name: wheels
81
+ name: wheels-macos-${{ matrix.target }}
71
82
  path: dist
72
83
 
73
84
  linux:
@@ -76,14 +87,10 @@ jobs:
76
87
  matrix:
77
88
  target: [x86_64, aarch64]
78
89
  steps:
79
- - uses: actions/checkout@v3
80
- - uses: actions/setup-python@v4
81
- with:
82
- python-version: |
83
- 3.10
84
- 3.11
85
- 3.12
86
- 3.13
90
+ - uses: actions/checkout@v4
91
+ - uses: actions/setup-python@v5
92
+ with:
93
+ python-version: ${{ env.PYTHON_VERSIONS }}
87
94
 
88
95
  - name: Install cross-compilation dependencies
89
96
  if: matrix.target == 'aarch64'
@@ -99,7 +106,7 @@ jobs:
99
106
  uses: PyO3/maturin-action@v1
100
107
  with:
101
108
  target: ${{ matrix.target }}
102
- args: --release --out dist -i python3.10 -i python3.11 -i python3.12 -i python3.13
109
+ args: --release --out dist ${{ env.PYTHON_VERSIONS_ARGS }}
103
110
  manylinux: auto
104
111
 
105
112
  - name: Build wheels for x86_64
@@ -107,13 +114,13 @@ jobs:
107
114
  uses: PyO3/maturin-action@v1
108
115
  with:
109
116
  target: ${{ matrix.target }}
110
- args: --release --out dist -i -i python3.10 -i python3.11 -i python3.12 -i python3.13
117
+ args: --release --out dist ${{ env.PYTHON_VERSIONS_ARGS }}
111
118
  manylinux: auto
112
119
 
113
120
  - name: Upload wheels
114
- uses: actions/upload-artifact@v3
121
+ uses: actions/upload-artifact@v4
115
122
  with:
116
- name: wheels
123
+ name: wheels-linux-${{ matrix.target }}
117
124
  path: dist
118
125
 
119
126
  windows:
@@ -122,64 +129,86 @@ jobs:
122
129
  matrix:
123
130
  target: [x64]
124
131
  steps:
125
- - uses: actions/checkout@v3
126
- - uses: actions/setup-python@v4
127
- with:
128
- python-version: |
129
- 3.10
130
- 3.11
131
- 3.12
132
- 3.13
132
+ - uses: actions/checkout@v4
133
+ - uses: actions/setup-python@v5
134
+ with:
135
+ python-version: ${{ env.PYTHON_VERSIONS }}
133
136
  architecture: ${{ matrix.target }}
134
137
  - name: Build wheels
135
138
  uses: PyO3/maturin-action@v1
136
139
  with:
137
140
  target: ${{ matrix.target }}
138
- args: --release --out dist --find-interpreter
141
+ args: --release --out dist ${{ env.PYTHON_VERSIONS_ARGS }}
139
142
  - name: Upload wheels
140
- uses: actions/upload-artifact@v3
143
+ uses: actions/upload-artifact@v4
141
144
  with:
142
- name: wheels
145
+ name: wheels-windows-${{ matrix.target }}
143
146
  path: dist
144
147
 
145
148
  sdist:
146
149
  runs-on: ubuntu-latest
147
150
  steps:
148
- - uses: actions/checkout@v3
151
+ - uses: actions/checkout@v4
149
152
  - name: Build sdist
150
153
  uses: PyO3/maturin-action@v1
151
154
  with:
152
155
  command: sdist
153
156
  args: --out dist
154
157
  - name: Upload sdist
155
- uses: actions/upload-artifact@v3
158
+ uses: actions/upload-artifact@v4
156
159
  with:
157
- name: wheels
160
+ name: wheels-sdist
158
161
  path: dist
159
162
 
163
+ merge_artifacts:
164
+ name: Merge Artifacts
165
+ needs: [macos, linux, windows, sdist]
166
+ runs-on: ubuntu-latest
167
+ steps:
168
+ - name: Create merged directory
169
+ run: mkdir -p merged_dist
170
+
171
+ - name: Download all artifacts
172
+ uses: actions/download-artifact@v4
173
+ with:
174
+ path: artifacts
175
+ pattern: wheels-*
176
+ merge-multiple: true
177
+
178
+ - name: List downloaded artifacts
179
+ run: find artifacts -type f | sort
180
+
181
+ - name: Copy artifacts to merged directory
182
+ run: cp -r artifacts/* merged_dist/
183
+
184
+ - name: Upload merged artifacts
185
+ uses: actions/upload-artifact@v4
186
+ with:
187
+ name: wheels-all
188
+ path: merged_dist
189
+
160
190
  test_python:
161
191
  name: Test Python
162
192
  strategy:
163
193
  fail-fast: false
164
194
  matrix:
165
- python-version: ["3.10", "3.11", "3.12", "3.13"]
166
- os: [ubuntu-latest, windows-latest, macos-13, macos-14]
195
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
196
+ os: [ubuntu-latest, windows-latest, macos-15, macos-15-intel]
167
197
  runs-on: ${{ matrix.os }}
168
198
  steps:
169
199
  - name: Checkout
170
- uses: actions/checkout@v3
200
+ uses: actions/checkout@v4
171
201
  - name: Install Rust
172
- uses: actions-rs/toolchain@v1
202
+ uses: dtolnay/rust-toolchain@stable
173
203
  with:
174
- toolchain: stable
175
- override: true
204
+ components: clippy, rustfmt, rust-src
176
205
  - name: Install the latest version of uv
177
206
  uses: astral-sh/setup-uv@v3
178
207
  - name: Install Python ${{ matrix.python-version }}
179
208
  run: uv python install ${{ matrix.python-version }}
180
209
  - name: Pinned Ruff
181
- run: uvx ruff@0.6.9 check bed_reader
182
- - name: Lastest Ruff (just to check for warnings)
210
+ run: uvx ruff@0.15.16 check bed_reader
211
+ - name: Latest Ruff (just to check for warnings)
183
212
  run: uvx ruff@latest check bed_reader || echo "Ignoring warnings from the latest version of ruff"
184
213
  - name: Install minimal dependencies
185
214
  run: uv sync --extra min_dev
@@ -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.1.0] - 2026-06-04
9
+
10
+ - Add support for Python 3.14.
11
+
8
12
  ## [1.06] - 2024-10-17
9
13
 
10
14
  - Add support for Python 3.13. Fix minor reported bug.