Skip to main content

Pymarc compaitible reimplementation in Rust.

Project description

rmarc

A pymarc-compatible MARC21 record library with a Rust core for high performance, roughly 2x faster.

This is a fork of pymarc. Significant use of LLMs to write the Rust speedups. License is the same MIT.

Installing and Using

Install from PyPI

pip install rmarc

For faster JSON and XML processing, install the optional fast backends:

pip install "rmarc[fast]"        # orjson (JSON) + lxml (XML)
pip install "rmarc[fast-json]"   # orjson only
pip install "rmarc[fast-xml]"    # lxml only

When these libraries are installed, rmarc uses them automatically — no code changes needed. If they are not installed, rmarc falls back to stdlib json and xml.etree/xml.sax.

Basic usage

from rmarc import MARCReader, MARCWriter, Record, Field, Indicators, Subfield

# Read a MARC file
with open("records.mrc", "rb") as fh:
    for record in MARCReader(fh):
        print(record.title)

# Write a MARC file
with open("out.mrc", "wb") as fh:
    writer = MARCWriter(fh)
    writer.write(record)
    writer.close()

JSON (MARC-in-JSON)

from rmarc import JSONReader, JSONWriter

# Read
with open("records.json") as fh:
    for record in JSONReader(fh):
        print(record.title)

# Write
with open("out.json", "w") as fh:
    writer = JSONWriter(fh)
    for record in records:
        writer.write(record)
    writer.close()

# Serialise a single record
json_str = record.as_json()
record_dict = record.as_dict()

XML (MARCXML)

from rmarc import XMLWriter
from rmarc.marcxml import parse_xml_to_array, map_xml, record_to_xml

# Parse a MARCXML file
records = parse_xml_to_array("records.xml")


# Stream-process without loading everything into memory
def handle(record):
    print(record.title)


map_xml(handle, "records.xml")

# Serialise a record to XML bytes
xml_bytes = record_to_xml(record)
xml_bytes_with_ns = record_to_xml(record, namespace=True)

# Write a MARCXML collection
with open("out.xml", "wb") as fh:
    writer = XMLWriter(fh)
    for record in records:
        writer.write(record)
    writer.close()

Performance

rmarc is a drop-in replacement for pymarc with critical paths implemented in Rust via PyO3. Pure Python fallbacks are included for platforms where the Rust extension can't be built.

Benchmarks (vs pure Python baseline)

Measured on the same machine, same test data, same API. The "baseline" column is rmarc with Rust disabled (pure Python, equivalent to pymarc performance).

Benchmark Baseline Rustified Speedup
Decode single record 239 us 39 us 6.1x
Round-trip (decode + encode) 258 us 62 us 4.2x
Read + iterate 10 records 1,795 us 413 us 4.3x
MARC-8 to Unicode (1515 lines) 13,714 us 1,349 us 10.2x
Read + iterate 1,000 records 266,589 us 51,000 us 5.2x
Bulk read 100,000 records 18,337 ms 4,279 ms 4.3x

Fast JSON and XML backends

Installing rmarc[fast] enables additional acceleration for JSON and XML operations. The speedups below are measured against the stdlib-only path.

JSON (pip install "rmarc[fast-json]" — uses orjson)

Operation stdlib orjson Speedup
JSON decode (batch) ~30 us ~6 us ~5x
record.as_json() ~9 us ~5 us ~2x
JSONWriter.write() ~9 us ~5 us ~2x

orjson is a Rust-backed JSON library. It is used transparently whenever installed. If a JSON document contains MARC control characters that orjson rejects (technically invalid JSON but tolerated by some tools), rmarc automatically retries with stdlib json so nothing breaks.

XML (pip install "rmarc[fast-xml]" — uses lxml)

Operation stdlib SAX/ET lxml Speedup
parse_xml_to_array() ~270 us ~67 us ~4x
record_to_xml() ~110 us ~80 us ~1.4x
XMLWriter.write() (batch) ~600 us ~500 us ~1.2x

lxml uses the libxml2 C library for parsing. parse_xml is reimplemented using lxml.sax.saxify so the existing XmlHandler subclass API is unchanged. record_to_xml_node and record_to_xml use lxml.etree as a drop-in replacement for xml.etree.ElementTree.

What's in Rust

  • Binary MARC21 codec (decode_marc_raw, encode_marc_raw) — parses record bytes, splits directory entries, extracts fields/subfields, and handles UTF-8 and MARC-8 encoding conversion all in one Rust call.
  • MARC-8 to Unicode converter (marc8_to_unicode_rs) — stateful byte-level conversion with escape-sequence codeset switching, multibyte CJK support, combining character reordering, and NFC normalization. Uses compile-time perfect hash maps (phf) for the 12 MARC-8 character sets.

What stays in Python

  • Field/Record/Subfield object construction (the API layer)
  • XML parsing/serialization — accelerated by lxml when installed
  • JSON handling — accelerated by orjson when installed
  • Convenience properties (title, isbn, author, etc.)
  • Unknown encodings (cp1251, etc.) — returned as raw bytes for Python's codec system

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

rmarc-5.3.1.tar.gz (915.6 kB view details)

Uploaded Source

Built Distributions

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

rmarc-5.3.1-cp314-cp314-win_amd64.whl (440.5 kB view details)

Uploaded CPython 3.14Windows x86-64

rmarc-5.3.1-cp314-cp314-manylinux_2_28_x86_64.whl (568.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

rmarc-5.3.1-cp314-cp314-manylinux_2_28_aarch64.whl (561.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

rmarc-5.3.1-cp314-cp314-macosx_11_0_arm64.whl (537.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rmarc-5.3.1-cp314-cp314-macosx_10_15_x86_64.whl (538.2 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

rmarc-5.3.1-cp313-cp313-win_amd64.whl (440.3 kB view details)

Uploaded CPython 3.13Windows x86-64

rmarc-5.3.1-cp313-cp313-manylinux_2_28_x86_64.whl (568.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

rmarc-5.3.1-cp313-cp313-manylinux_2_28_aarch64.whl (562.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

rmarc-5.3.1-cp313-cp313-macosx_11_0_arm64.whl (538.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rmarc-5.3.1-cp313-cp313-macosx_10_13_x86_64.whl (538.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

rmarc-5.3.1-cp312-cp312-win_amd64.whl (440.9 kB view details)

Uploaded CPython 3.12Windows x86-64

rmarc-5.3.1-cp312-cp312-manylinux_2_28_x86_64.whl (569.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

rmarc-5.3.1-cp312-cp312-manylinux_2_28_aarch64.whl (563.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

rmarc-5.3.1-cp312-cp312-macosx_11_0_arm64.whl (538.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rmarc-5.3.1-cp312-cp312-macosx_10_13_x86_64.whl (539.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

rmarc-5.3.1-cp311-cp311-win_amd64.whl (441.3 kB view details)

Uploaded CPython 3.11Windows x86-64

rmarc-5.3.1-cp311-cp311-manylinux_2_28_x86_64.whl (570.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

rmarc-5.3.1-cp311-cp311-manylinux_2_28_aarch64.whl (563.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

rmarc-5.3.1-cp311-cp311-macosx_11_0_arm64.whl (540.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rmarc-5.3.1-cp311-cp311-macosx_10_12_x86_64.whl (541.6 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rmarc-5.3.1-cp310-cp310-win_amd64.whl (441.2 kB view details)

Uploaded CPython 3.10Windows x86-64

rmarc-5.3.1-cp310-cp310-manylinux_2_28_x86_64.whl (570.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

rmarc-5.3.1-cp310-cp310-manylinux_2_28_aarch64.whl (563.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

rmarc-5.3.1-cp310-cp310-macosx_11_0_arm64.whl (540.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

rmarc-5.3.1-cp310-cp310-macosx_10_12_x86_64.whl (541.8 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file rmarc-5.3.1.tar.gz.

File metadata

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

File hashes

Hashes for rmarc-5.3.1.tar.gz
Algorithm Hash digest
SHA256 89d37b1e89eabd3e11a64eb8e2ccee943418fbe97634aed35c6d25cc711c5534
MD5 91bdbe889d6b762ff3cf0ba33ac23d61
BLAKE2b-256 6e92e9d9249aad6deccc1574de1f82876ad8f05b135804a2eae95f2e1a1d22b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1.tar.gz:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: rmarc-5.3.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 440.5 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rmarc-5.3.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 619c8e6d3dcf422ddfeadb9648101a538ed56dd5b7f1fd09ac641f987e6c2cf6
MD5 e481fb1c53ae6a94cba36c4813ac1f92
BLAKE2b-256 84ec9f7a403c064c7cf09122c2f00cff519845cead1f6e4d430caf56270847e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp314-cp314-win_amd64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 256fd60dcea040c343207592e17c60a172ae6b462abd26a9349ff329a4c224dc
MD5 a48e6fef3976f81622b13e2597dba674
BLAKE2b-256 32136e8b041485c71009e0202ab450b1af09f93db0f32e2d3f25d410e0134842

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 78e3e9a761c5ef11c0492cc2d35f8f8412e65522e82607d3305fc37bc335ea59
MD5 edd1845b97d8b0e81de638d0ac958340
BLAKE2b-256 e544a47753a782c5f615069e3796e29511afaaa5ebb65f5fb65bfdb5c0acd73d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp314-cp314-manylinux_2_28_aarch64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 484702d3c43c6b334a1164b157fedd19eec2bb7d9ba1841b09218b97fc354b06
MD5 d655b215e64a908e551518708e777f78
BLAKE2b-256 e7a950366a58ff5f4c6091be12b7cef04af1b0641f2d496bcf0a7aab3d1b2b98

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 de1361b93dc821774f61775654bf79e28bd67aa4e82267713b6a19956dfae7ae
MD5 1c19a797ba1e93695a94ee519d3d2976
BLAKE2b-256 7f77b2bf20ebbe0c30ec9521497b4b8244d8cfffbe293b27063562a17137bcb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rmarc-5.3.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 440.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rmarc-5.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c25e11797d6a4d1bf41ffec1bb5bcdb6a71c46fbee9d7b46ee7d4b0c7818d712
MD5 9dc0f7a850180b91bd1ad8ba6579a187
BLAKE2b-256 6247fc3ab87cef125310201bd3dd398e02b749c98e170c4b5153795491732929

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp313-cp313-win_amd64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 944af1f142f77860302ef75dc088ccc4713040c78d93aa84ada5537ab1b787fa
MD5 9017f986ce9a73b719987781a6a3f98d
BLAKE2b-256 ec28f07b760468dbe81fe17fddeb613a938f493aef469444dbdee91a49d2a733

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4713367a31fe117b180af7c3be9e8fc6681420fc1f60ccabf5863db6e13ff686
MD5 db3e6ccadc664898bca284d4bb35b6e1
BLAKE2b-256 fc6e19a442de68ea1f51a1b99b38b16cbd92c89ca8e3adf33eff5c3c86e0b611

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ab1ea7d11fa259974c2712b2345e86dd35acf8556209b36f08c471628764ade
MD5 43dec2deb5d786f8268545300b301ad0
BLAKE2b-256 c5c23b77b6d7292c29d40d9e1e05f445d5001fcf30d69ee287b8cc228806b04f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7d525c723bc8b796506c6e1bbc535d9dee3ad71e1eb42ecfa6a16582139207c5
MD5 0e5fe822057b09676133a44593a11b91
BLAKE2b-256 ce2e71a63b38a33fcf56818935566c41577ff29a62124046b518f5f3e76ad833

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rmarc-5.3.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 440.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rmarc-5.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8bdb30ed92bdbe148e2dabafd3a14f9c026b7684139aaef58c853d32ed6838cd
MD5 e05c51fdadf1b4fb609ae6a65765dc97
BLAKE2b-256 9a06d0aff54d597865fe35e9953c334be0cdf8f0d5cc816cdbed1ca31777020a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp312-cp312-win_amd64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 36d1e008d5215bd42a31687388fa6b1451040e6a16f2ee9c722abbf517cc708a
MD5 35bb7abede28a8a4a24acac630f7965a
BLAKE2b-256 3b2e88dc8644b306778d04d4cff0e7ae67eacbec18c7d20fe3ebcf44dfeeabf1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d7906950850d34929e575e18e5e76165257c86b82ab2f93ed6956a2ea057febb
MD5 c8085afa3bdabce74086d88624b12522
BLAKE2b-256 ea8f649c6bec31230809fafe24b2fb7613ba956239b4b4f899fc338204afb10a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 763129deb5e8e7a144ad8558f1d8ae0ec6dbf6b024413b96e7e2ce7809a117d0
MD5 17a1797a662d394eae870655eefc478a
BLAKE2b-256 4f8c5bf7782b923a0eb0007c6f1e09f7441f52eeaa9b494bc39415d9e4268ff0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1c7a7857a83d7479d4349f2c708bf956a942112342b9db2dd592fcbd0433a1c8
MD5 ff1cddbfaaff628913f797e329d684f3
BLAKE2b-256 773a5e6fe549799965fab282bce88613a24d89ea516a07befa63e7f13933de1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rmarc-5.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 441.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rmarc-5.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 61d519bd0e2f0c71963760243645a80b28f922f01d87ea4dd894389b54cd9f58
MD5 96b9b6eb9fb320c7a309f976b3b642bf
BLAKE2b-256 030955067a653888274fb27f1942abe4dddd7f0cd8eb0e9d408100549eedeac8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp311-cp311-win_amd64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c66072f3e46913fd8920a8d7a5d2cdc6c9fb375761c4500bb576ee679029273b
MD5 006a546cd42a0c74b3b0c2ed70f9e152
BLAKE2b-256 bb7c41afd19df2bffee3dda60dbf8e2365b089443585bb10237b948b63b7427a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dcc19e85715098165867408a25f7ca0789c55aedf56e29610a00bdf1aebee895
MD5 1727378967318805a15153f063b303f6
BLAKE2b-256 db3b8e45457e47326416e80bce92ffe1bbb585ee6dcc4e9eccffc699806ea195

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ce8baf3ef21645a5cd95bb322c400435e986982a56a09ce05d675f37b2c7002
MD5 02d00ec2c2f6f4f3ec4a0b9763e68cd7
BLAKE2b-256 f1b9ca07371bb3afa1d22e14b4c025efa6c9da165451dee5ef9fab44d8cfb54d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 57b92e0ee7a1315ffd39590b39471428267e20a837d5da22a33c61bedb9a02d6
MD5 babfc9eb9e304f737316c7ce6e48e1a4
BLAKE2b-256 bb3c84a4958eab9ade775b2474b8b075bfb34ba6de071212262ee68b7bc4eff7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rmarc-5.3.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 441.2 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rmarc-5.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8dae541aa8457c93e536324913330fd9b56d44970482b26117da610acda1b204
MD5 91a32063662afd3c326897f8f3115375
BLAKE2b-256 ffb5e8adca186155e9c336d61281d5dfa20221d3d7f1763cd419f1f7dddb4f60

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp310-cp310-win_amd64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f782bcdd8b9400a0f8f9bbec1ca7cc391b52012e79f8d08511b5b9fc08dcb1ea
MD5 2905faccc2d7553e8531c1334964f059
BLAKE2b-256 efae743d51e8c1183d8f1ee0cbb4f5005308e6635881662263798c8d6fcce648

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e4e28461290700f2565103c8a1bb9e42a306841ff0f6abd1dff0a2aa41e90281
MD5 98f6979f0ee32b770c5c4b803b150d26
BLAKE2b-256 32d06c7c04aefca6953afeec4a029be1e1aa3ef87f930cf1a8429e0be3237380

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 900fd851d7f47cb9bcefaecc8e7524ec635143929b006750bc1275d6615e5b2a
MD5 752e08c21abebe92bad19ba8449d9280
BLAKE2b-256 967372adac76fc3ecb9fa0b445f1dc77b179ad322627df3fa81859da5e947478

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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

File details

Details for the file rmarc-5.3.1-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rmarc-5.3.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8e7785c2318b7afd9361d0f2e9c9d80f31dbbceafb993b154c97caf8e6f59295
MD5 7daa504601527f7a175002a101b32b1e
BLAKE2b-256 178a6efc98c2a3d2115c430ef18bcd821ac252b784ff449404d9cb1d5f773782

See more details on using hashes here.

Provenance

The following attestation bundles were made for rmarc-5.3.1-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/rmarc

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