bed-reader 1.0.5b3__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 (108) hide show
  1. bed_reader-1.0.6/.github/workflows/ci.yml +205 -0
  2. bed_reader-1.0.6/.github/workflows/docs.yml +45 -0
  3. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/.gitignore +1 -0
  4. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/CHANGELOG.md +4 -0
  5. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/Cargo.lock +531 -414
  6. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/Cargo.toml +25 -24
  7. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/LICENSE.md +1 -0
  8. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/PKG-INFO +24 -9
  9. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/_open_bed.py +170 -188
  10. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/_sample_data.py +10 -12
  11. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/_to_bed.py +66 -53
  12. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/benchmark/benchmark.py +8 -20
  13. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/test_file_dot.py +19 -28
  14. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/test_open_bed.py +190 -207
  15. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/test_open_bed_cloud.py +114 -155
  16. {bed_reader-1.0.5b3 → 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.5b3 → bed_reader-1.0.6}/src/bed_cloud.rs +4 -4
  19. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/src/lib.rs +6 -21
  20. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/src/python_module.rs +5 -5
  21. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/src/supplemental_documents/cloud_urls_etc.md +7 -8
  22. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/src/supplemental_documents/options_etc.md +3 -3
  23. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/src/tests.rs +4 -1
  24. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/tests/tests_api_cloud.rs +24 -24
  25. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/useful.md +62 -22
  26. bed_reader-1.0.5b3/.flake8 +0 -2
  27. bed_reader-1.0.5b3/.github/workflows/ci.yml +0 -199
  28. bed_reader-1.0.5b3/.isort.cfg +0 -9
  29. bed_reader-1.0.5b3/pyproject.toml +0 -37
  30. bed_reader-1.0.5b3/pytest.ini +0 -6
  31. bed_reader-1.0.5b3/requirements-dev.txt +0 -13
  32. bed_reader-1.0.5b3/requirements-min-dev.txt +0 -3
  33. bed_reader-1.0.5b3/requirements.txt +0 -3
  34. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/AUTHORS.txt +0 -0
  35. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/README-rust.md +0 -0
  36. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/README.md +0 -0
  37. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  38. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/basic.css +0 -0
  39. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/doctools.js +0 -0
  40. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/documentation_options.js +0 -0
  41. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/file.png +0 -0
  42. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/jquery-3.4.1.js +0 -0
  43. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/jquery-3.5.1.js +0 -0
  44. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/jquery-3.6.0.js +0 -0
  45. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/jquery.js +0 -0
  46. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/js/badge_only.js +0 -0
  47. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/js/html5shiv-printshiv.min.js +0 -0
  48. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/js/html5shiv.min.js +0 -0
  49. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/js/modernizr.min.js +0 -0
  50. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/js/theme.js +0 -0
  51. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/language_data.js +0 -0
  52. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/minus.png +0 -0
  53. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/plus.png +0 -0
  54. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/pygments.css +0 -0
  55. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/searchtools.js +0 -0
  56. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/sphinx_highlight.js +0 -0
  57. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/underscore-1.12.0.js +0 -0
  58. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/underscore-1.13.1.js +0 -0
  59. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/underscore-1.3.1.js +0 -0
  60. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/_static/underscore.js +0 -0
  61. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/__init__.py +0 -0
  62. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/__init__.py +0 -0
  63. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/benchmark/bench2.ipynb +0 -0
  64. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/500x400_o640_array.memmap +0 -0
  65. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/badfile.bed +0 -0
  66. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/empty.bed +0 -0
  67. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bed +0 -0
  68. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bim +0 -0
  69. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.fam +0 -0
  70. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small.bad_bim +0 -0
  71. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small.bed +0 -0
  72. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small.bim +0 -0
  73. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small.bim_bad_positions.bim +0 -0
  74. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small.deb +0 -0
  75. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small.fam +0 -0
  76. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small.fam_bad +0 -0
  77. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small.maf +0 -0
  78. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small.mib +0 -0
  79. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small2_array.memmap +0 -0
  80. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small_array.memmap +0 -0
  81. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_bim.bed +0 -0
  82. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_bim.fam +0 -0
  83. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_fam.bed +0 -0
  84. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small_no_fam.bim +0 -0
  85. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small_too_short.bed +0 -0
  86. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small_too_short.bim +0 -0
  87. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/small_too_short.fam +0 -0
  88. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/smallmode0.bed +0 -0
  89. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/smallmode0.bim +0 -0
  90. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/smallmode0.fam +0 -0
  91. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/smallmodebad.bed +0 -0
  92. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.bed +0 -0
  93. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.bim +0 -0
  94. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.fam +0 -0
  95. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.properties.npz +0 -0
  96. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/some_missing.val.npy +0 -0
  97. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/sparse.bed +0 -0
  98. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/sparse.bim +0 -0
  99. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/sparse.fam +0 -0
  100. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/toydata.5chrom.bed +0 -0
  101. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/toydata.5chrom.bim +0 -0
  102. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/data/toydata.5chrom.fam +0 -0
  103. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/bed_reader/tests/registry.txt +0 -0
  104. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/build.rs +0 -0
  105. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/examples/cloud.rs +0 -0
  106. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/examples/no_cloud.rs +0 -0
  107. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/setpath.bat +0 -0
  108. {bed_reader-1.0.5b3 → bed_reader-1.0.6}/tests/tests_api.rs +0 -0
@@ -0,0 +1,205 @@
1
+ # This file was originally generated by maturin v0.14.17
2
+
3
+ name: CI3
4
+
5
+ on:
6
+ push:
7
+ schedule:
8
+ - cron: '0 0 1 * *'
9
+ pull_request:
10
+ workflow_dispatch:
11
+
12
+ env:
13
+ CARGO_TERM_COLOR: always
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ jobs:
19
+
20
+ test_rust:
21
+ name: Test Rust
22
+ strategy:
23
+ fail-fast: false
24
+ matrix:
25
+ os: [ubuntu-latest, windows-latest, macos-13, macos-14]
26
+ runs-on: ${{ matrix.os }}
27
+ steps:
28
+ - name: Checkout
29
+ uses: actions/checkout@v4
30
+ - name: Set up Rust (Pinned Version)
31
+ uses: dtolnay/rust-toolchain@1.81.0
32
+ with:
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"
42
+ - name: Test Rust no-default-features
43
+ run: cargo test --verbose --no-default-features
44
+ - name: Test Rust default features
45
+ run: cargo test --verbose
46
+
47
+
48
+ macos:
49
+ runs-on: macos-13
50
+ strategy:
51
+ matrix:
52
+ target: [x86_64, aarch64]
53
+ 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
62
+ - name: Build wheels
63
+ uses: PyO3/maturin-action@v1
64
+ with:
65
+ target: ${{ matrix.target }}
66
+ args: --release --out dist --find-interpreter
67
+ - name: Upload wheels
68
+ uses: actions/upload-artifact@v3
69
+ with:
70
+ name: wheels
71
+ path: dist
72
+
73
+ linux:
74
+ runs-on: ubuntu-latest
75
+ strategy:
76
+ matrix:
77
+ target: [x86_64, aarch64]
78
+ 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
87
+
88
+ - name: Install cross-compilation dependencies
89
+ if: matrix.target == 'aarch64'
90
+ run: |
91
+ sudo apt-get update
92
+ sudo apt-get install -y gcc-aarch64-linux-gnu
93
+
94
+ - name: Build wheels for aarch64
95
+ if: matrix.target == 'aarch64'
96
+ env:
97
+ CC: aarch64-linux-gnu-gcc
98
+ CFLAGS: -march=armv8-a -D__ARM_ARCH=8
99
+ uses: PyO3/maturin-action@v1
100
+ with:
101
+ target: ${{ matrix.target }}
102
+ args: --release --out dist -i python3.10 -i python3.11 -i python3.12 -i python3.13
103
+ manylinux: auto
104
+
105
+ - name: Build wheels for x86_64
106
+ if: matrix.target == 'x86_64'
107
+ uses: PyO3/maturin-action@v1
108
+ with:
109
+ target: ${{ matrix.target }}
110
+ args: --release --out dist -i -i python3.10 -i python3.11 -i python3.12 -i python3.13
111
+ manylinux: auto
112
+
113
+ - name: Upload wheels
114
+ uses: actions/upload-artifact@v3
115
+ with:
116
+ name: wheels
117
+ path: dist
118
+
119
+ windows:
120
+ runs-on: windows-latest
121
+ strategy:
122
+ matrix:
123
+ target: [x64]
124
+ 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
133
+ architecture: ${{ matrix.target }}
134
+ - name: Build wheels
135
+ uses: PyO3/maturin-action@v1
136
+ with:
137
+ target: ${{ matrix.target }}
138
+ args: --release --out dist --find-interpreter
139
+ - name: Upload wheels
140
+ uses: actions/upload-artifact@v3
141
+ with:
142
+ name: wheels
143
+ path: dist
144
+
145
+ sdist:
146
+ runs-on: ubuntu-latest
147
+ steps:
148
+ - uses: actions/checkout@v3
149
+ - name: Build sdist
150
+ uses: PyO3/maturin-action@v1
151
+ with:
152
+ command: sdist
153
+ args: --out dist
154
+ - name: Upload sdist
155
+ uses: actions/upload-artifact@v3
156
+ with:
157
+ name: wheels
158
+ path: dist
159
+
160
+ test_python:
161
+ name: Test Python
162
+ strategy:
163
+ fail-fast: false
164
+ matrix:
165
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
166
+ os: [ubuntu-latest, windows-latest, macos-13, macos-14]
167
+ runs-on: ${{ matrix.os }}
168
+ steps:
169
+ - name: Checkout
170
+ uses: actions/checkout@v3
171
+ - name: Install Rust
172
+ uses: actions-rs/toolchain@v1
173
+ with:
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
188
+ run: |
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
199
+ run: |
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