bed-reader 1.0.5__tar.gz → 1.0.5b2__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 (105) hide show
  1. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/.github/workflows/ci.yml +13 -27
  2. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/Cargo.lock +1 -1
  3. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/Cargo.toml +1 -1
  4. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/PKG-INFO +1 -1
  5. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/_open_bed.py +7 -1
  6. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/src/python_module.rs +5 -5
  7. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/useful.md +1 -0
  8. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/.flake8 +0 -0
  9. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/.gitignore +0 -0
  10. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/.isort.cfg +0 -0
  11. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/AUTHORS.txt +0 -0
  12. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/CHANGELOG.md +0 -0
  13. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/LICENSE.md +0 -0
  14. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/README-rust.md +0 -0
  15. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/README.md +0 -0
  16. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  17. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/basic.css +0 -0
  18. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/doctools.js +0 -0
  19. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/documentation_options.js +0 -0
  20. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/file.png +0 -0
  21. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/jquery-3.4.1.js +0 -0
  22. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/jquery-3.5.1.js +0 -0
  23. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/jquery-3.6.0.js +0 -0
  24. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/jquery.js +0 -0
  25. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/js/badge_only.js +0 -0
  26. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/js/html5shiv-printshiv.min.js +0 -0
  27. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/js/html5shiv.min.js +0 -0
  28. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/js/modernizr.min.js +0 -0
  29. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/js/theme.js +0 -0
  30. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/language_data.js +0 -0
  31. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/minus.png +0 -0
  32. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/plus.png +0 -0
  33. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/pygments.css +0 -0
  34. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/searchtools.js +0 -0
  35. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/sphinx_highlight.js +0 -0
  36. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/underscore-1.12.0.js +0 -0
  37. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/underscore-1.13.1.js +0 -0
  38. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/underscore-1.3.1.js +0 -0
  39. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/_static/underscore.js +0 -0
  40. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/__init__.py +0 -0
  41. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/_sample_data.py +0 -0
  42. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/_to_bed.py +0 -0
  43. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/__init__.py +0 -0
  44. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/benchmark/bench2.ipynb +0 -0
  45. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/benchmark/benchmark.py +0 -0
  46. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/500x400_o640_array.memmap +0 -0
  47. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/badfile.bed +0 -0
  48. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/empty.bed +0 -0
  49. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bed +0 -0
  50. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bim +0 -0
  51. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.fam +0 -0
  52. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small.bad_bim +0 -0
  53. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small.bed +0 -0
  54. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small.bim +0 -0
  55. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small.bim_bad_positions.bim +0 -0
  56. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small.deb +0 -0
  57. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small.fam +0 -0
  58. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small.fam_bad +0 -0
  59. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small.maf +0 -0
  60. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small.mib +0 -0
  61. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small2_array.memmap +0 -0
  62. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small_array.memmap +0 -0
  63. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small_no_bim.bed +0 -0
  64. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small_no_bim.fam +0 -0
  65. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small_no_fam.bed +0 -0
  66. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small_no_fam.bim +0 -0
  67. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small_too_short.bed +0 -0
  68. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small_too_short.bim +0 -0
  69. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/small_too_short.fam +0 -0
  70. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/smallmode0.bed +0 -0
  71. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/smallmode0.bim +0 -0
  72. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/smallmode0.fam +0 -0
  73. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/smallmodebad.bed +0 -0
  74. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/some_missing.bed +0 -0
  75. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/some_missing.bim +0 -0
  76. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/some_missing.fam +0 -0
  77. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/some_missing.properties.npz +0 -0
  78. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/some_missing.val.npy +0 -0
  79. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/sparse.bed +0 -0
  80. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/sparse.bim +0 -0
  81. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/sparse.fam +0 -0
  82. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/toydata.5chrom.bed +0 -0
  83. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/toydata.5chrom.bim +0 -0
  84. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/data/toydata.5chrom.fam +0 -0
  85. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/registry.txt +0 -0
  86. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/test_file_dot.py +0 -0
  87. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/test_open_bed.py +0 -0
  88. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/test_open_bed_cloud.py +0 -0
  89. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/bed_reader/tests/test_opt_dep.py +0 -0
  90. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/build.rs +0 -0
  91. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/examples/cloud.rs +0 -0
  92. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/examples/no_cloud.rs +0 -0
  93. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/pyproject.toml +0 -0
  94. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/pytest.ini +0 -0
  95. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/requirements-dev.txt +0 -0
  96. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/requirements-min-dev.txt +0 -0
  97. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/requirements.txt +0 -0
  98. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/setpath.bat +0 -0
  99. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/src/bed_cloud.rs +0 -0
  100. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/src/lib.rs +0 -0
  101. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/src/supplemental_documents/cloud_urls_etc.md +0 -0
  102. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/src/supplemental_documents/options_etc.md +0 -0
  103. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/src/tests.rs +0 -0
  104. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/tests/tests_api.rs +0 -0
  105. {bed_reader-1.0.5 → bed_reader-1.0.5b2}/tests/tests_api_cloud.rs +0 -0
@@ -22,7 +22,7 @@ jobs:
22
22
  strategy:
23
23
  fail-fast: false
24
24
  matrix:
25
- os: [ubuntu-latest, windows-latest, macos-13, macos-14]
25
+ os: [ubuntu-latest, macos-12, windows-latest]
26
26
  runs-on: ${{ matrix.os }}
27
27
  steps:
28
28
  - name: Checkout
@@ -39,7 +39,7 @@ jobs:
39
39
 
40
40
 
41
41
  macos:
42
- runs-on: macos-13
42
+ runs-on: macos-12
43
43
  strategy:
44
44
  matrix:
45
45
  target: [x86_64, aarch64]
@@ -48,6 +48,7 @@ jobs:
48
48
  - uses: actions/setup-python@v4
49
49
  with:
50
50
  python-version: |
51
+ 3.8
51
52
  3.9
52
53
  3.10
53
54
  3.11
@@ -57,6 +58,7 @@ jobs:
57
58
  with:
58
59
  target: ${{ matrix.target }}
59
60
  args: --release --out dist --find-interpreter
61
+ sccache: 'true'
60
62
  - name: Upload wheels
61
63
  uses: actions/upload-artifact@v3
62
64
  with:
@@ -67,42 +69,24 @@ jobs:
67
69
  runs-on: ubuntu-latest
68
70
  strategy:
69
71
  matrix:
70
- target: [x86_64, aarch64]
72
+ target: [x86_64]
71
73
  steps:
72
74
  - uses: actions/checkout@v3
73
75
  - uses: actions/setup-python@v4
74
76
  with:
75
77
  python-version: |
78
+ 3.8
76
79
  3.9
77
80
  3.10
78
81
  3.11
79
82
  3.12
80
-
81
- - name: Install cross-compilation dependencies
82
- if: matrix.target == 'aarch64'
83
- run: |
84
- sudo apt-get update
85
- sudo apt-get install -y gcc-aarch64-linux-gnu
86
-
87
- - name: Build wheels for aarch64
88
- if: matrix.target == 'aarch64'
89
- env:
90
- CC: aarch64-linux-gnu-gcc
91
- CFLAGS: -march=armv8-a -D__ARM_ARCH=8
92
- uses: PyO3/maturin-action@v1
93
- with:
94
- target: ${{ matrix.target }}
95
- args: --release --out dist -i python3.9 -i python3.10 -i python3.11 -i python3.12
96
- manylinux: auto
97
-
98
- - name: Build wheels for x86_64
99
- if: matrix.target == 'x86_64'
83
+ - name: Build wheels
100
84
  uses: PyO3/maturin-action@v1
101
85
  with:
102
86
  target: ${{ matrix.target }}
103
- args: --release --out dist -i python3.9 -i python3.10 -i python3.11 -i python3.12
87
+ args: --release --out dist --find-interpreter
88
+ sccache: 'true'
104
89
  manylinux: auto
105
-
106
90
  - name: Upload wheels
107
91
  uses: actions/upload-artifact@v3
108
92
  with:
@@ -119,6 +103,7 @@ jobs:
119
103
  - uses: actions/setup-python@v4
120
104
  with:
121
105
  python-version: |
106
+ 3.8
122
107
  3.9
123
108
  3.10
124
109
  3.11
@@ -129,6 +114,7 @@ jobs:
129
114
  with:
130
115
  target: ${{ matrix.target }}
131
116
  args: --release --out dist --find-interpreter
117
+ sccache: 'true'
132
118
  - name: Upload wheels
133
119
  uses: actions/upload-artifact@v3
134
120
  with:
@@ -155,8 +141,8 @@ jobs:
155
141
  strategy:
156
142
  fail-fast: false
157
143
  matrix:
158
- python-version: [3.9, "3.10", "3.11", "3.12"]
159
- os: [ubuntu-latest, windows-latest, macos-13, macos-14]
144
+ python-version: [3.8, 3.9, "3.10", "3.11", "3.12"]
145
+ os: [ubuntu-latest, macos-12, windows-latest]
160
146
  runs-on: ${{ matrix.os }}
161
147
  steps:
162
148
  - name: Checkout
@@ -142,7 +142,7 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
142
142
 
143
143
  [[package]]
144
144
  name = "bed-reader"
145
- version = "1.0.5"
145
+ version = "1.0.5-beta.2"
146
146
  dependencies = [
147
147
  "anyhow",
148
148
  "anyinput",
@@ -1,5 +1,5 @@
1
1
  [package]
2
- version = "1.0.5"
2
+ version = "1.0.5-beta.2"
3
3
  name = "bed-reader"
4
4
  description = "Read and write the PLINK BED format, simply and efficiently."
5
5
  repository = "https://github.com/fastlmm/bed-reader"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bed-reader
3
- Version: 1.0.5
3
+ Version: 1.0.5b2
4
4
  Classifier: Programming Language :: Python :: 3.8
5
5
  Classifier: Programming Language :: Python :: 3.9
6
6
  Classifier: Programming Language :: Python :: 3.10
@@ -2,6 +2,7 @@ import logging
2
2
  import multiprocessing
3
3
  import os
4
4
  import re
5
+ import sys
5
6
  from dataclasses import dataclass
6
7
  from io import BytesIO
7
8
  from itertools import repeat, takewhile
@@ -1814,7 +1815,12 @@ def _read_csv(filepath, delimiter=None, dtype=None, usecols=None):
1814
1815
  col = transposed[output_index]
1815
1816
 
1816
1817
  # work around numpy/python bug
1817
- if len(col) > 0 and pattern.fullmatch(col[0]):
1818
+ if (
1819
+ (sys.version_info.major, sys.version_info.minor) <= (3, 9)
1820
+ and int(np.__version__.split(".")[0]) >= 2
1821
+ and len(col) > 0
1822
+ and pattern.fullmatch(col[0])
1823
+ ):
1818
1824
  col = np.array([pattern.fullmatch(x).group(1) for x in col])
1819
1825
 
1820
1826
  # Find the dtype for this column
@@ -50,7 +50,7 @@ fn bed_reader(_py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
50
50
 
51
51
  #[pyfn(m)]
52
52
  fn url_to_bytes(location: &str, options: &Bound<'_, PyDict>) -> Result<Vec<u8>, PyErr> {
53
- let options: HashMap<String, String> = options.extract()?;
53
+ let options: HashMap<String, String> = options.extract()?; // cmk
54
54
  let cloud_file = CloudFile::new_with_options(location, options)
55
55
  .map_err(|e| Box::new(BedErrorPlus::CloudFileError(e)))?;
56
56
  let rt = runtime::Runtime::new()?;
@@ -178,7 +178,7 @@ fn bed_reader(_py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
178
178
 
179
179
  #[pyfn(m)]
180
180
  fn check_file_cloud(location: &str, options: &Bound<'_, PyDict>) -> Result<(), PyErr> {
181
- let options: HashMap<String, String> = options.extract()?;
181
+ let options: HashMap<String, String> = options.extract()?; // cmk
182
182
  runtime::Runtime::new()?.block_on(async {
183
183
  BedCloud::new_with_options(location, options).await?;
184
184
  Ok(())
@@ -200,7 +200,7 @@ fn bed_reader(_py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
200
200
  max_concurrent_requests: usize,
201
201
  max_chunk_bytes: usize,
202
202
  ) -> Result<(), PyErr> {
203
- let options: HashMap<String, String> = options.extract()?;
203
+ let options: HashMap<String, String> = options.extract()?; // cmk
204
204
 
205
205
  let iid_index = iid_index.readonly();
206
206
  let sid_index = sid_index.readonly();
@@ -247,7 +247,7 @@ fn bed_reader(_py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
247
247
  max_concurrent_requests: usize,
248
248
  max_chunk_bytes: usize,
249
249
  ) -> Result<(), PyErr> {
250
- let options: HashMap<String, String> = options.extract()?;
250
+ let options: HashMap<String, String> = options.extract()?; // cmk
251
251
 
252
252
  let iid_index = iid_index.readonly();
253
253
  let sid_index = sid_index.readonly();
@@ -294,7 +294,7 @@ fn bed_reader(_py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
294
294
  max_concurrent_requests: usize,
295
295
  max_chunk_bytes: usize,
296
296
  ) -> Result<(), PyErr> {
297
- let options: HashMap<String, String> = options.extract()?;
297
+ let options: HashMap<String, String> = options.extract()?; // cmk
298
298
 
299
299
  let iid_index = iid_index.readonly();
300
300
  let sid_index = sid_index.readonly();
@@ -4,6 +4,7 @@
4
4
 
5
5
  To get some Rust PyO3 debugging to work I had to set this before starting vscode:
6
6
 
7
+ <!-- cmk -->
7
8
  ```cmd
8
9
  set PYO3_PYTHON=C:/Users/carlk/OneDrive/programs/bed-reader/.venv\Scripts\python.exe
9
10
  ```
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes