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.
Files changed (107) hide show
  1. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/.github/workflows/ci.yml +52 -60
  2. bed_reader-1.0.6/.github/workflows/docs.yml +45 -0
  3. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/.gitignore +1 -0
  4. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/CHANGELOG.md +4 -0
  5. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/Cargo.lock +531 -414
  6. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/Cargo.toml +25 -24
  7. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/LICENSE.md +1 -0
  8. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/PKG-INFO +24 -9
  9. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/_open_bed.py +170 -186
  10. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/_sample_data.py +10 -12
  11. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/_to_bed.py +66 -53
  12. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/benchmark/benchmark.py +8 -20
  13. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/test_file_dot.py +19 -28
  14. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/test_open_bed.py +190 -207
  15. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/test_open_bed_cloud.py +114 -155
  16. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/test_opt_dep.py +3 -3
  17. bed_reader-1.0.6/pyproject.toml +63 -0
  18. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/bed_cloud.rs +4 -4
  19. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/lib.rs +6 -21
  20. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/supplemental_documents/cloud_urls_etc.md +7 -8
  21. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/supplemental_documents/options_etc.md +3 -3
  22. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/tests.rs +4 -1
  23. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/tests/tests_api_cloud.rs +24 -24
  24. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/useful.md +62 -21
  25. bed_reader-1.0.5b4/.flake8 +0 -2
  26. bed_reader-1.0.5b4/.isort.cfg +0 -9
  27. bed_reader-1.0.5b4/pyproject.toml +0 -37
  28. bed_reader-1.0.5b4/pytest.ini +0 -6
  29. bed_reader-1.0.5b4/requirements-dev.txt +0 -13
  30. bed_reader-1.0.5b4/requirements-min-dev.txt +0 -3
  31. bed_reader-1.0.5b4/requirements.txt +0 -3
  32. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/AUTHORS.txt +0 -0
  33. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/README-rust.md +0 -0
  34. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/README.md +0 -0
  35. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  36. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/basic.css +0 -0
  37. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/doctools.js +0 -0
  38. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/documentation_options.js +0 -0
  39. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/file.png +0 -0
  40. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/jquery-3.4.1.js +0 -0
  41. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/jquery-3.5.1.js +0 -0
  42. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/jquery-3.6.0.js +0 -0
  43. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/jquery.js +0 -0
  44. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/js/badge_only.js +0 -0
  45. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/js/html5shiv-printshiv.min.js +0 -0
  46. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/js/html5shiv.min.js +0 -0
  47. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/js/modernizr.min.js +0 -0
  48. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/js/theme.js +0 -0
  49. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/language_data.js +0 -0
  50. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/minus.png +0 -0
  51. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/plus.png +0 -0
  52. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/pygments.css +0 -0
  53. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/searchtools.js +0 -0
  54. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/sphinx_highlight.js +0 -0
  55. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/underscore-1.12.0.js +0 -0
  56. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/underscore-1.13.1.js +0 -0
  57. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/underscore-1.3.1.js +0 -0
  58. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/_static/underscore.js +0 -0
  59. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/__init__.py +0 -0
  60. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/__init__.py +0 -0
  61. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/benchmark/bench2.ipynb +0 -0
  62. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/500x400_o640_array.memmap +0 -0
  63. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/badfile.bed +0 -0
  64. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/empty.bed +0 -0
  65. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bed +0 -0
  66. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bim +0 -0
  67. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.fam +0 -0
  68. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.bad_bim +0 -0
  69. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.bed +0 -0
  70. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.bim +0 -0
  71. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.bim_bad_positions.bim +0 -0
  72. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.deb +0 -0
  73. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.fam +0 -0
  74. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.fam_bad +0 -0
  75. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.maf +0 -0
  76. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small.mib +0 -0
  77. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small2_array.memmap +0 -0
  78. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_array.memmap +0 -0
  79. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_bim.bed +0 -0
  80. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_bim.fam +0 -0
  81. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_fam.bed +0 -0
  82. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_fam.bim +0 -0
  83. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_too_short.bed +0 -0
  84. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_too_short.bim +0 -0
  85. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/small_too_short.fam +0 -0
  86. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/smallmode0.bed +0 -0
  87. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/smallmode0.bim +0 -0
  88. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/smallmode0.fam +0 -0
  89. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/smallmodebad.bed +0 -0
  90. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.bed +0 -0
  91. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.bim +0 -0
  92. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.fam +0 -0
  93. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.properties.npz +0 -0
  94. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.val.npy +0 -0
  95. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/sparse.bed +0 -0
  96. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/sparse.bim +0 -0
  97. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/sparse.fam +0 -0
  98. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/toydata.5chrom.bed +0 -0
  99. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/toydata.5chrom.bim +0 -0
  100. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/data/toydata.5chrom.fam +0 -0
  101. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/bed_reader/tests/registry.txt +0 -0
  102. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/build.rs +0 -0
  103. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/examples/cloud.rs +0 -0
  104. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/examples/no_cloud.rs +0 -0
  105. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/setpath.bat +0 -0
  106. {bed_reader-1.0.5b4 → bed_reader-1.0.6}/src/python_module.rs +0 -0
  107. {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@v3
30
- - name: Set up Rust
31
- uses: actions-rs/toolchain@v1
29
+ uses: actions/checkout@v4
30
+ - name: Set up Rust (Pinned Version)
31
+ uses: dtolnay/rust-toolchain@1.81.0
32
32
  with:
33
- toolchain: stable
34
- override: true
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.9 -i python3.10 -i python3.11 -i python3.12
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.9 -i python3.10 -i python3.11 -i python3.12
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
- test:
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.9, "3.10", "3.11", "3.12"]
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
- - uses: actions/setup-python@v4
171
+ - name: Install Rust
172
+ uses: actions-rs/toolchain@v1
165
173
  with:
166
- python-version: ${{ matrix.python-version }}
167
- - name: Install flake8, etc
168
- run: |
169
- cd bed_reader
170
- pwd
171
- python -m pip install --upgrade pip
172
- pip install flake8 pytest black isort --upgrade
173
- - name: Lint with flake8, etc
174
- run: |
175
- echo "flake8"
176
- flake8 .
177
- echo "black"
178
- black --version
179
- black --verbose --check .
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
- pip install virtualenv
186
- virtualenv vEnv; source vEnv/bin/activate
187
- python -m pip install --upgrade pip maturin
188
- maturin develop
189
- pip install -r requirements-min-dev.txt
190
- pytest bed_reader/tests/test_opt_dep.py
191
- echo "requirements"
192
- pip install -r requirements.txt
193
- echo "requirements-dev"
194
- pip install -r requirements-dev.txt
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
- pip install virtualenv
200
- virtualenv vEnv; vEnv\Scripts\activate.ps1
201
- echo "pwd"
202
- pwd
203
- python -m pip install --upgrade pip maturin
204
- pip install -r requirements-min-dev.txt
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
@@ -150,3 +150,4 @@ oldCargo.lock
150
150
  bed_reader/Untitled-1.ipynb
151
151
  del.rs
152
152
  src/orig.rs
153
+ uv.lock
@@ -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