mrmrs 0.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.
- mrmrs-0.1.0/.github/workflows/ci.yaml +186 -0
- mrmrs-0.1.0/.github/workflows/test.yml +41 -0
- mrmrs-0.1.0/.gitignore +78 -0
- mrmrs-0.1.0/.merck.yaml +1 -0
- mrmrs-0.1.0/Cargo.lock +3803 -0
- mrmrs-0.1.0/Cargo.toml +34 -0
- mrmrs-0.1.0/Justfile +0 -0
- mrmrs-0.1.0/PKG-INFO +9 -0
- mrmrs-0.1.0/README.md +114 -0
- mrmrs-0.1.0/bench/benchmark.py +149 -0
- mrmrs-0.1.0/bench/pyproject.toml +14 -0
- mrmrs-0.1.0/mrmrs.pyi +43 -0
- mrmrs-0.1.0/pyproject.toml +19 -0
- mrmrs-0.1.0/rust-toolchain.toml +3 -0
- mrmrs-0.1.0/src/lib.rs +17 -0
- mrmrs-0.1.0/src/mrmr.rs +206 -0
- mrmrs-0.1.0/src/stats/corr.rs +217 -0
- mrmrs-0.1.0/src/stats/feature.rs +83 -0
- mrmrs-0.1.0/src/stats/fstat.rs +287 -0
- mrmrs-0.1.0/src/stats/mod.rs +9 -0
- mrmrs-0.1.0/src/utils.rs +115 -0
- mrmrs-0.1.0/uv.lock +982 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# This file is autogenerated by maturin v1.12.6
|
|
2
|
+
# To update, run
|
|
3
|
+
#
|
|
4
|
+
# maturin generate-ci github
|
|
5
|
+
#
|
|
6
|
+
name: CI
|
|
7
|
+
|
|
8
|
+
on:
|
|
9
|
+
push:
|
|
10
|
+
tags:
|
|
11
|
+
- 'v*'
|
|
12
|
+
|
|
13
|
+
permissions:
|
|
14
|
+
contents: read
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
linux:
|
|
18
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
19
|
+
strategy:
|
|
20
|
+
matrix:
|
|
21
|
+
platform:
|
|
22
|
+
- runner: ubuntu-22.04
|
|
23
|
+
target: x86_64
|
|
24
|
+
- runner: ubuntu-22.04
|
|
25
|
+
target: aarch64
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v6
|
|
28
|
+
- name: Set version from tag
|
|
29
|
+
run: |
|
|
30
|
+
VERSION=${GITHUB_REF#refs/tags/v}
|
|
31
|
+
cargo install cargo-edit --bin cargo-set-version
|
|
32
|
+
cargo set-version "$VERSION"
|
|
33
|
+
- uses: actions/setup-python@v6
|
|
34
|
+
with:
|
|
35
|
+
python-version: 3.x
|
|
36
|
+
- name: Build wheels
|
|
37
|
+
uses: PyO3/maturin-action@v1
|
|
38
|
+
with:
|
|
39
|
+
target: ${{ matrix.platform.target }}
|
|
40
|
+
args: --release --out dist --find-interpreter
|
|
41
|
+
sccache: true
|
|
42
|
+
manylinux: auto
|
|
43
|
+
- name: Upload wheels
|
|
44
|
+
uses: actions/upload-artifact@v6
|
|
45
|
+
with:
|
|
46
|
+
name: wheels-linux-${{ matrix.platform.target }}
|
|
47
|
+
path: dist
|
|
48
|
+
|
|
49
|
+
musllinux:
|
|
50
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
51
|
+
strategy:
|
|
52
|
+
matrix:
|
|
53
|
+
platform:
|
|
54
|
+
- runner: ubuntu-22.04
|
|
55
|
+
target: x86_64
|
|
56
|
+
- runner: ubuntu-22.04
|
|
57
|
+
target: aarch64
|
|
58
|
+
steps:
|
|
59
|
+
- uses: actions/checkout@v6
|
|
60
|
+
- name: Set version from tag
|
|
61
|
+
run: |
|
|
62
|
+
VERSION=${GITHUB_REF#refs/tags/v}
|
|
63
|
+
cargo install cargo-edit --bin cargo-set-version
|
|
64
|
+
cargo set-version "$VERSION"
|
|
65
|
+
- uses: actions/setup-python@v6
|
|
66
|
+
with:
|
|
67
|
+
python-version: 3.x
|
|
68
|
+
- name: Build wheels
|
|
69
|
+
uses: PyO3/maturin-action@v1
|
|
70
|
+
with:
|
|
71
|
+
target: ${{ matrix.platform.target }}
|
|
72
|
+
args: --release --out dist --find-interpreter
|
|
73
|
+
sccache: true
|
|
74
|
+
manylinux: musllinux_1_2
|
|
75
|
+
- name: Upload wheels
|
|
76
|
+
uses: actions/upload-artifact@v6
|
|
77
|
+
with:
|
|
78
|
+
name: wheels-musllinux-${{ matrix.platform.target }}
|
|
79
|
+
path: dist
|
|
80
|
+
|
|
81
|
+
windows:
|
|
82
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
83
|
+
strategy:
|
|
84
|
+
matrix:
|
|
85
|
+
platform:
|
|
86
|
+
- runner: windows-latest
|
|
87
|
+
target: x64
|
|
88
|
+
python_arch: x64
|
|
89
|
+
- runner: windows-11-arm
|
|
90
|
+
target: aarch64
|
|
91
|
+
python_arch: arm64
|
|
92
|
+
steps:
|
|
93
|
+
- uses: actions/checkout@v6
|
|
94
|
+
- name: Set version from tag
|
|
95
|
+
run: |
|
|
96
|
+
$version = "${{ github.ref_name }}".TrimStart("v")
|
|
97
|
+
cargo install cargo-edit --bin cargo-set-version
|
|
98
|
+
cargo set-version $version
|
|
99
|
+
- uses: actions/setup-python@v6
|
|
100
|
+
with:
|
|
101
|
+
python-version: 3.13
|
|
102
|
+
architecture: ${{ matrix.platform.python_arch }}
|
|
103
|
+
- name: Build wheels
|
|
104
|
+
uses: PyO3/maturin-action@v1
|
|
105
|
+
with:
|
|
106
|
+
target: ${{ matrix.platform.target }}
|
|
107
|
+
args: --release --out dist --find-interpreter
|
|
108
|
+
sccache: true
|
|
109
|
+
- name: Upload wheels
|
|
110
|
+
uses: actions/upload-artifact@v6
|
|
111
|
+
with:
|
|
112
|
+
name: wheels-windows-${{ matrix.platform.target }}
|
|
113
|
+
path: dist
|
|
114
|
+
|
|
115
|
+
macos:
|
|
116
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
117
|
+
strategy:
|
|
118
|
+
matrix:
|
|
119
|
+
platform:
|
|
120
|
+
- runner: macos-15-intel
|
|
121
|
+
target: x86_64
|
|
122
|
+
- runner: macos-latest
|
|
123
|
+
target: aarch64
|
|
124
|
+
steps:
|
|
125
|
+
- uses: actions/checkout@v6
|
|
126
|
+
- name: Set version from tag
|
|
127
|
+
run: |
|
|
128
|
+
VERSION=${GITHUB_REF#refs/tags/v}
|
|
129
|
+
cargo install cargo-edit --bin cargo-set-version
|
|
130
|
+
cargo set-version "$VERSION"
|
|
131
|
+
- uses: actions/setup-python@v6
|
|
132
|
+
with:
|
|
133
|
+
python-version: 3.x
|
|
134
|
+
- name: Build wheels
|
|
135
|
+
uses: PyO3/maturin-action@v1
|
|
136
|
+
with:
|
|
137
|
+
target: ${{ matrix.platform.target }}
|
|
138
|
+
args: --release --out dist --find-interpreter
|
|
139
|
+
sccache: true
|
|
140
|
+
- name: Upload wheels
|
|
141
|
+
uses: actions/upload-artifact@v6
|
|
142
|
+
with:
|
|
143
|
+
name: wheels-macos-${{ matrix.platform.target }}
|
|
144
|
+
path: dist
|
|
145
|
+
|
|
146
|
+
sdist:
|
|
147
|
+
runs-on: ubuntu-latest
|
|
148
|
+
steps:
|
|
149
|
+
- uses: actions/checkout@v6
|
|
150
|
+
- name: Set version from tag
|
|
151
|
+
run: |
|
|
152
|
+
VERSION=${GITHUB_REF#refs/tags/v}
|
|
153
|
+
cargo install cargo-edit --bin cargo-set-version
|
|
154
|
+
cargo set-version "$VERSION"
|
|
155
|
+
- name: Build sdist
|
|
156
|
+
uses: PyO3/maturin-action@v1
|
|
157
|
+
with:
|
|
158
|
+
command: sdist
|
|
159
|
+
args: --out dist
|
|
160
|
+
- name: Upload sdist
|
|
161
|
+
uses: actions/upload-artifact@v6
|
|
162
|
+
with:
|
|
163
|
+
name: wheels-sdist
|
|
164
|
+
path: dist
|
|
165
|
+
|
|
166
|
+
release:
|
|
167
|
+
name: Release
|
|
168
|
+
runs-on: ubuntu-latest
|
|
169
|
+
needs: [linux, musllinux, windows, macos, sdist]
|
|
170
|
+
permissions:
|
|
171
|
+
# Use to sign the release artifacts
|
|
172
|
+
id-token: write
|
|
173
|
+
# Used to upload release artifacts
|
|
174
|
+
contents: write
|
|
175
|
+
# Used to generate artifact attestation
|
|
176
|
+
attestations: write
|
|
177
|
+
steps:
|
|
178
|
+
- uses: actions/download-artifact@v7
|
|
179
|
+
- name: Generate artifact attestation
|
|
180
|
+
uses: actions/attest-build-provenance@v3
|
|
181
|
+
with:
|
|
182
|
+
subject-path: 'wheels-*/*'
|
|
183
|
+
- name: Install uv
|
|
184
|
+
uses: astral-sh/setup-uv@v7
|
|
185
|
+
- name: Publish to PyPI
|
|
186
|
+
run: uv publish --trusted-publishing always 'wheels-*/*'
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
test:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
11
|
+
|
|
12
|
+
- name: Install Rust nightly
|
|
13
|
+
uses: dtolnay/rust-toolchain@efa25f7f19611383d5b0ccf2d1c8914531636bf9 # master
|
|
14
|
+
with:
|
|
15
|
+
toolchain: nightly
|
|
16
|
+
|
|
17
|
+
- name: Cache Cargo
|
|
18
|
+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
|
|
19
|
+
with:
|
|
20
|
+
path: |
|
|
21
|
+
~/.cargo/registry
|
|
22
|
+
~/.cargo/git
|
|
23
|
+
target
|
|
24
|
+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
25
|
+
restore-keys: ${{ runner.os }}-cargo-
|
|
26
|
+
|
|
27
|
+
- name: Install uv
|
|
28
|
+
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0
|
|
29
|
+
|
|
30
|
+
- name: Set up Python
|
|
31
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
32
|
+
with:
|
|
33
|
+
python-version: "3.13"
|
|
34
|
+
|
|
35
|
+
- name: Create Python Venv
|
|
36
|
+
run: uv venv
|
|
37
|
+
|
|
38
|
+
- name: Run tests
|
|
39
|
+
run: |
|
|
40
|
+
source .venv/bin/activate
|
|
41
|
+
cargo test
|
mrmrs-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/target
|
|
2
|
+
|
|
3
|
+
# Byte-compiled / optimized / DLL files
|
|
4
|
+
__pycache__/
|
|
5
|
+
.pytest_cache/
|
|
6
|
+
*.py[cod]
|
|
7
|
+
|
|
8
|
+
# C extensions
|
|
9
|
+
*.so
|
|
10
|
+
|
|
11
|
+
# Distribution / packaging
|
|
12
|
+
.Python
|
|
13
|
+
.venv/
|
|
14
|
+
env/
|
|
15
|
+
bin/
|
|
16
|
+
build/
|
|
17
|
+
develop-eggs/
|
|
18
|
+
dist/
|
|
19
|
+
eggs/
|
|
20
|
+
lib/
|
|
21
|
+
lib64/
|
|
22
|
+
parts/
|
|
23
|
+
sdist/
|
|
24
|
+
var/
|
|
25
|
+
include/
|
|
26
|
+
man/
|
|
27
|
+
venv/
|
|
28
|
+
*.egg-info/
|
|
29
|
+
.installed.cfg
|
|
30
|
+
*.egg
|
|
31
|
+
|
|
32
|
+
# Installer logs
|
|
33
|
+
pip-log.txt
|
|
34
|
+
pip-delete-this-directory.txt
|
|
35
|
+
pip-selfcheck.json
|
|
36
|
+
|
|
37
|
+
# Unit test / coverage reports
|
|
38
|
+
htmlcov/
|
|
39
|
+
.tox/
|
|
40
|
+
.coverage
|
|
41
|
+
.cache
|
|
42
|
+
nosetests.xml
|
|
43
|
+
coverage.xml
|
|
44
|
+
|
|
45
|
+
# Translations
|
|
46
|
+
*.mo
|
|
47
|
+
|
|
48
|
+
# Mr Developer
|
|
49
|
+
.mr.developer.cfg
|
|
50
|
+
.project
|
|
51
|
+
.pydevproject
|
|
52
|
+
|
|
53
|
+
# Rope
|
|
54
|
+
.ropeproject
|
|
55
|
+
|
|
56
|
+
# Django stuff:
|
|
57
|
+
*.log
|
|
58
|
+
*.pot
|
|
59
|
+
|
|
60
|
+
.DS_Store
|
|
61
|
+
|
|
62
|
+
# Sphinx documentation
|
|
63
|
+
docs/_build/
|
|
64
|
+
|
|
65
|
+
# PyCharm
|
|
66
|
+
.idea/
|
|
67
|
+
|
|
68
|
+
# VSCode
|
|
69
|
+
.vscode/
|
|
70
|
+
|
|
71
|
+
# Pyenv
|
|
72
|
+
.python-version
|
|
73
|
+
|
|
74
|
+
*.pdf
|
|
75
|
+
*.json
|
|
76
|
+
|
|
77
|
+
# Benchmark data
|
|
78
|
+
bench/data/
|
mrmrs-0.1.0/.merck.yaml
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ci: lubojack
|