Skip to main content

No project description provided

Project description

中文 English

背景

Python 中始终没有一个一站式读取 mat 文件的库,mat5 总是依赖 scipy.io, mat7.3 总是依赖 h5py,h5py 直接读取 mat 文件又需要很多手动转换,有一个 mat73 转换,但是核心逻辑是纯 Python 写的,又非常慢。

恰巧 C 中有一个库 matio,我就想用 pybind11 nanobind 做一个绑定。

安装

pip install pymatio

样例

import pymatio as pm

print(pm.get_library_version())
print(pm.loadmat('file.mat'))

从源代码构建

常规构建流程

git clone https://github.com/myuanz/pymatio
pip install .

zlib、hdf5 等基础依赖将自动跨平台构建.

对于 Windows

Windows 通常没有自带的构建工具链, 你可以参考 此页, 下载Microsoft C++ Build Tools, 按照图片示例构建推荐的工具链, 点击安装. 只要完成这一步就够了, 不需要再往下安装 Rust.

路线

  • 打包为 whl 文件
  • 添加关于构建成功的基本测试
  • 添加 cibuildwheel 打包 whl
  • Github Action
  • 编译扩展时自动处理虚拟环境
  • 完成 loadmat
  • 完成 savemat
  • 自由线程 whl
  • 导入 scio 的测试和 mat73 的测试
  • 添加 types
  • 添加 benchmark
    • With scio
    • With mat73
    • With Free-Thread

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymatio-0.1.1.tar.gz (51.1 kB view details)

Uploaded Source

Built Distributions

pymatio-0.1.1-cp312-abi3-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12+ Windows x86-64

pymatio-0.1.1-cp312-abi3-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12+ musllinux: musl 1.2+ x86-64

pymatio-0.1.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ x86-64

pymatio-0.1.1-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11 Windows x86-64

pymatio-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

pymatio-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pymatio-0.1.1-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

pymatio-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

pymatio-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pymatio-0.1.1-cp39-cp39-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9 Windows x86-64

pymatio-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

pymatio-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

File details

Details for the file pymatio-0.1.1.tar.gz.

File metadata

  • Download URL: pymatio-0.1.1.tar.gz
  • Upload date:
  • Size: 51.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pymatio-0.1.1.tar.gz
Algorithm Hash digest
SHA256 79c19ea1e5aabf5572a8edefbf7863f1b56ce61aecc58282683de656b8cb0944
MD5 187d86bb345935c0600fe3a47e4ed39b
BLAKE2b-256 db638b5e46fb86f992fc50eac2a70377a8cf560d7f7dadf6e80d1595ec017454

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1.tar.gz:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp312-abi3-win_amd64.whl.

File metadata

  • Download URL: pymatio-0.1.1-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.12+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pymatio-0.1.1-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1787aeec272de78d1b4a7238ba0bda69eb5c2deb8612e66c4c6b46776261b026
MD5 cf1d537e7780c83b9072e746c6ceab09
BLAKE2b-256 3297a80284b41e123f15608f94f7ba6502845c066c59f3639b9252b4fa7b2aed

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp312-abi3-win_amd64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp312-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pymatio-0.1.1-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 350c2f1c9ecb8e395fd52743fd8220f5b5d0349a15e90b9d3ca933d00f176faa
MD5 14315dc73ad1fc402e2a598ae1bbcd62
BLAKE2b-256 5a52482fe2cfc49b431a528f355101df9771894115d5f49613e74e6fc3405c28

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp312-abi3-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymatio-0.1.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d185e8392f6497becb15f75d9bf99c7ef75a6b1d0ceeb8d7fb6fa6757790e3ea
MD5 bcb0626fa806caeebabd562b5b91fdeb
BLAKE2b-256 5fa1bf1c5b7d92b0cd17e4671b8a9d011c1e36adc5016aab7d1137a280a88a3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pymatio-0.1.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pymatio-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ad153c7b53831e5111523b6307454df27a13a308f95924e8ca36e7afe973d078
MD5 dbac96e8850a704a19be961da396093d
BLAKE2b-256 fcb5444314fd75957dcefbc2f444ae18166635be88c75506b36d2335bfad83c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pymatio-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ace45695ea6a43cb9955c45940594e963bae875accef04f69ab12263c05a97a7
MD5 e688cc4bfa15e3f70764e3e1de067953
BLAKE2b-256 4b9effc1f414aa5860355e25cd2d581d38d4c8c1571a194db3857f481ad231fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymatio-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88cc5b2c23e3e023fff4a8259b182b09db8d9451ca67d675b5b7bac7259abfb5
MD5 4675312c26b36a7114b02f10b03a253e
BLAKE2b-256 58ef3aa7be24bba972244499e51a54b7b9cd4ef743e6ea19c77bdeab6bd586cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pymatio-0.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pymatio-0.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8a783ccd6fbc30f23da44049890ba2e66229d02cf87e43a1c5a16ebb1cfc18d7
MD5 514ad6a4085e5ee80c4907640fa11343
BLAKE2b-256 c92126e1dac16f681aa47f1a2de5aa31d8a8011faf990ba91bcd4d02d49c180e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pymatio-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7616cafce17211483eb63b0bed35800c7e51a973f937090d95f9f261245c9032
MD5 63744c62072923386ecf1362c0c8a243
BLAKE2b-256 ebe6cbfcee3b1020d35e629fef881fb526f82be646566f2d321c169cba000aa6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymatio-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78809d36be923d9a2493a751a7c867620905aa02b51fe8583cbda4aaa22b73e7
MD5 e2a8969e07e316d069b7d6cf1f603f35
BLAKE2b-256 355a79a4c455d19e0d97a120426296a6e90b832d1579ea8d9db5049de96b3f3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pymatio-0.1.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pymatio-0.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 71780d9319dba4f9c2c2cec81538db520e5f9b88297635fc8b9de766adc48af2
MD5 0824af7999c1ecdd3c2baac1124428c7
BLAKE2b-256 3cc2ae4f958892c1578ceec6c4aeb541c48db27ded50402bcd9d8f11b2c6e571

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pymatio-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fa12048314d63eba0c1e74cc92c168f0224b4e6788cb77be6f7f2251c3822e37
MD5 21fce45d304bec799eec0b4b59f588b0
BLAKE2b-256 a375d1f5cd059999df6734ad077f4d7467d19080c782fc3c0cc762e74dd7d46e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

File details

Details for the file pymatio-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymatio-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1019911456a951832a7b44207de3b107f6ca8d899a8be01e5d72e7d8f61450f9
MD5 e9cac4440aa4e72e227d6c367ca05b62
BLAKE2b-256 1a0cc2489bac0c4ecb1924dd9a7c39e402689041fe4434933ac6f33f4bc792b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymatio-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on myuanz/pymatio

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page