Skip to main content

File-like object for accessing local and cloud storage

Project description

pyrofile

File-like object for accessing local and cloud storage. Built in Rust with growing support for major cloud storage platforms.

Install

pip install pyrofile

Usage

from pyrofile import PyroFile

# Local filesystem
with PyroFile("/tmp/model.pt", "w") as f:
    f.write(data)

with PyroFile("/tmp/model.pt", "r") as f:
    data = f.read()

# Azure Blob Storage
with PyroFile("az://account/container/model.pt", "w") as f:
    f.write(data)

Works with torch.save and torch.load:

import torch
from pyrofile import PyroFile

with PyroFile("az://account/container/checkpoint.pt", "w") as f:
    torch.save(model.state_dict(), f)

with PyroFile("az://account/container/checkpoint.pt", "r") as f:
    state = torch.load(f, weights_only=True)

Backends

Backend URI scheme Status
Local filesystem /path/to/file Stable
Azure Blob Storage az://account/container/blob Preview
Amazon S3 s3://bucket/key Planned
Google Cloud Storage gs://bucket/object Planned

Development

python -m venv .venv && source .venv/bin/activate
python -m pip install maturin pytest
maturin develop --release --features azure
cargo test --lib
python -m pytest tests/python/test_local.py
python -m pytest tests/python/test_azure_integration.py

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

pyrofile-0.2.0.tar.gz (38.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyrofile-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyrofile-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

pyrofile-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyrofile-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

pyrofile-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyrofile-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

pyrofile-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyrofile-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

pyrofile-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyrofile-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pyrofile-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyrofile-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

pyrofile-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyrofile-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

pyrofile-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyrofile-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file pyrofile-0.2.0.tar.gz.

File metadata

  • Download URL: pyrofile-0.2.0.tar.gz
  • Upload date:
  • Size: 38.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyrofile-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ddc1b981df07eaa735b5c245d70799b312acb55e29d7475612577c74a8957e79
MD5 3746079e24e27901762f2a0d9e8da16f
BLAKE2b-256 cec63883dd2c4bbf2133e78645882526e81387f0306c425eb1196c7dd71197b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0.tar.gz:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98fd2bf02d01d06d7e18f372f169f2638db0c1ee89b174db9a15915438a7ab05
MD5 c665241bafdf4095785088cb26dd7ed3
BLAKE2b-256 9706473999d11f7f600cbb70f4cf7095094c9649749d52da14ae1ff7e584b86d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 af0122ae0404eb4cf5ab60388452a98390d348a04dc113e4f38140d0fae2a3d3
MD5 860fb7094f5ac78a05afda4f7f8e633c
BLAKE2b-256 95eed42f94edbbd617407c4f46e31a4b1932eeb48df9580d2ac96c051c70fc8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3ca34810ef3ea43bd3d6ea6f2525b39acc60a8c986ef5f1df3d6e064dba0c52
MD5 7adde33100358d88c62431b3c90478ba
BLAKE2b-256 32db08e3b56caba968b50c4fedd74de0768ed47936ca50acb7d6abfe21ed9a72

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0c6c45b93fb9ea472b4e7d3fd7768ea9eb126c52a5ab1fff7409da725d64a519
MD5 417615ecd94c8892387b68af695695ec
BLAKE2b-256 4891fb644680d9a5b4d8131a9500c388477b31b87787ee7b486e2ca388c5a003

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 381b1751433b28c5f53c45960ec04b5a871fdaf4a6a67e04c74d86824bbe7fa9
MD5 a7820c5b24e2d1765ac34b5586b060f9
BLAKE2b-256 cfcde4d846f08dbc9988f5581452c1a41493ed2e0fa7acd264c5a6cadccb8a54

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a2b5be7525d8223f71358c417cb59b7efa84c25ad8d7eba89e7c63b363ed3465
MD5 e06ed9f75e24f75054f94f0908de498d
BLAKE2b-256 f1f05d9708a0e989862ccb4d7660e527b0a690629e4147fc058c2a205bd3d0e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ffc7098b47c4d64fe9c533312f5c2774bc6489eeee38c61093770d04dc9a048
MD5 0b1dd6ebd53951b96ee64a50b657651b
BLAKE2b-256 a7ca24ebf969924ae6579cd1017cc446b9494211431ff04ea1afd12da77e4ca3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d742c5b618bfa9c3bcd23283987f0c59ce2a5bb346bb93691e9ec78a4bde811e
MD5 de110b51962fdc68c49baa619e078a77
BLAKE2b-256 530531b78fe638bc6f0aace3e4963483fbe30aba80f66a12dec93049dca9ed4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 147b500e928c5d78236a83e6d1f4960fc85553a3bf9b9ceb2a1feb1169ac464a
MD5 5b9d09083fc82119abcacb810f548553
BLAKE2b-256 9645c373a2de4c7143f3a4f4f89607ef3e0d3e1228ad38f68c6f9533c23c363b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 776447d9057c8eae259b5e0f18c413d6e4f8959096fdbce4cdb7df6c3f26ba6a
MD5 b5fd413e4a233305d96753a086997090
BLAKE2b-256 d938daef440ddd795d38a9be70a4aa857396ff1650ad1218960f6a19995ec4c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0587247d0f0d2b9897422feccc1c6101828075eda7c3cf3d6ac56c3cd38de6fe
MD5 792ef144a0336ec1c6e9564bb9d8b963
BLAKE2b-256 bb90ff2cbc76d6b2cd3d36516a73340766cf86d036d59d08cc631a682b0f3deb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3e83f12e4d3e64dfc0d8cac9f92a941743728c035319f3ebf5953db8bd062e89
MD5 ecc7d255b3af74a0a6e6bc25efe0bf03
BLAKE2b-256 a8619ccd98ff7ada22c1d2df53abf138e9a84057263970f7f1f80b2d2b42a8f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f0dba55d57cf3543f6dd487029aeb75149f560e83644e00bc5e620cc5314d058
MD5 e86afe40e09e7b1a91e0e330df04a835
BLAKE2b-256 e7ef17ea6981a1777b5c61b14d5d3ef846d15a09a36af0950d802e80394f98b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6fad096b4e5a74d8da6355de12abb5b8850e3f65ffe5855175879493ae2c4031
MD5 6de4090c890617502ea874011564b05f
BLAKE2b-256 c55583958f4c04df8ad3515bb48c20700269422780a023b4213e28ecaf24b91a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f1649945da6421ba9d18ea28ff1c5f5272d9da507ed546591c986ac97214384
MD5 77a9b12f51b7f6afe567b8ffca3bf604
BLAKE2b-256 a9edcf3ebf325be0e186be0f3d0325ec666bb81beb68e37353dc0b6e2b861351

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrofile-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyrofile-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cf680f48a386b0a9eb417a2fbc85eb9198e601c185fa48fe076cc22f56895dc1
MD5 09c3463c438f580cbe6bb3e0c3b80d04
BLAKE2b-256 2dbf10b39ce5a84d1bce92d3a41375fccbf6daf7dfa0b03f339395b992dd0923

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofile-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: release.yml on nateprewitt/pyrofile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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