Skip to main content

uproot extension for reading custom classes

Project description

Introduction

uproot-custom is an extension of uproot that provides an enhanced way to read custom classes stored in TTree.

When to use uproot-custom

uproot-custom aims to handle cases that classes are too complex for uproot to read, such as when their Streamer methods are overridden or some specific data members are not supported by uproot.

How uproot-custom works

uproot-custom uses a reader/factory mechanism to read classes:

flowchart TD
    subgraph py["Python field"]
        direction TB
        AsCustom --> fac["Factory (Primitive, STLVector, TString, ...)"]
        fac["Factory (Primitive, STLVector, TString, ...)"] -- Optional --> form(["construct awkward forms"])
        fac --> build_reader(["build corresponding C++ reader"])
        fac --> build_ak(["construct awkward arrays"])
    end

    user_fac["User's Factory"] -. Register .-> fac

    subgraph cpp["C++ field"]
        direction TB
        build_reader --> reader["C++ Reader"]
        reader --> read_bin(["read binary data"])
        read_bin --> ret_data(["return data"])
    end

    ret_data --> raw_data[("tuple, list, numpy arrays, ...")]
    raw_data --> build_ak
  • reader is a C++ class that implements the logic to read data from binary buffers.
  • factory is a Python class that creates, combines readers, and post-processes the data read by readers.

This machanism is implemented basing on uproot_custom.AsCustom interpretation. This makes uproot-custom well compatible with uproot.

[!TIP] Users can implement their own factory and reader, register them to uproot-custom. An example of implementing a custom factory/reader can be found in the example repository.

[!NOTE] uproot-custom does not provide a full reimplementation of ROOT's I/O system. Users are expected to implement their own factory/reader for their custom classes that built-in factories cannot handle.

Documentation

View the documentation for more details about customizing your own reader/factory, and the architecture of uproot-custom.

Download files

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

Source Distribution

uproot_custom-2.1.1.tar.gz (243.6 kB view details)

Uploaded Source

Built Distributions

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

uproot_custom-2.1.1-cp313-cp313-win_amd64.whl (146.5 kB view details)

Uploaded CPython 3.13Windows x86-64

uproot_custom-2.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (179.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

uproot_custom-2.1.1-cp313-cp313-macosx_11_0_arm64.whl (146.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

uproot_custom-2.1.1-cp312-cp312-win_amd64.whl (146.5 kB view details)

Uploaded CPython 3.12Windows x86-64

uproot_custom-2.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (180.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

uproot_custom-2.1.1-cp312-cp312-macosx_11_0_arm64.whl (146.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

uproot_custom-2.1.1-cp311-cp311-win_amd64.whl (145.5 kB view details)

Uploaded CPython 3.11Windows x86-64

uproot_custom-2.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (179.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

uproot_custom-2.1.1-cp311-cp311-macosx_11_0_arm64.whl (145.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

uproot_custom-2.1.1-cp310-cp310-win_amd64.whl (145.3 kB view details)

Uploaded CPython 3.10Windows x86-64

uproot_custom-2.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (178.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

uproot_custom-2.1.1-cp310-cp310-macosx_11_0_arm64.whl (144.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

uproot_custom-2.1.1-cp39-cp39-win_amd64.whl (145.0 kB view details)

Uploaded CPython 3.9Windows x86-64

uproot_custom-2.1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (178.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

uproot_custom-2.1.1-cp39-cp39-macosx_11_0_arm64.whl (144.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file uproot_custom-2.1.1.tar.gz.

File metadata

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

File hashes

Hashes for uproot_custom-2.1.1.tar.gz
Algorithm Hash digest
SHA256 8a8f5f31ed7b4841f0390dd3ff148ec43371545781988a9addc4c5095f0e3808
MD5 9140f8abb0fa49d8cdd6bfb0411ade63
BLAKE2b-256 b5f00891bb3b8f233ab2cfa56b63c6b94ec6ff2da40e246304d97e6da66e7bcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1.tar.gz:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 72f43d6a74865242b9e80b55d21d49a741fffec728eaa7eb707b7490e3359168
MD5 d68fd135f8d4e3657bde3b16176d7ec7
BLAKE2b-256 4e65636b94bf2291f7a7e2731d83b25bac63bbf83673bd0e6053abbfbe9f6f4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp313-cp313-win_amd64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46f8d36800c548ddcf038d03c7800b37ee6f9e807c4f462124042c7344019b4a
MD5 993edf0f8ae175b986f43fd68d775350
BLAKE2b-256 d6a6ab7fc56e1cb13e81cbe518361e1c1477114cc5fc0058183f7209c5841170

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8013e8b3a784ad1cb08d9cbc0bf1b4108ce585ab6247c01e9718933878d37e2f
MD5 df6ed8bbe50763a0c34a0daf090cc563
BLAKE2b-256 814979196f05c5272133e0007790ab19e312d5aa4d71092eb33f38da0819932d

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aee1c205d6ae7b912c06ba53db321fd54ba84442d3938ac171cdbac7699ed2e8
MD5 317d84181453ecfb75f5c3a993dc27ef
BLAKE2b-256 34c0635a93904003e4f649240a0671b328d6227ecadfced1848b800b6c18c22a

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp312-cp312-win_amd64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d6990b633fae26fc168fd4586eb62b0d0570ca10a157a960a2fc8021b8187ef0
MD5 a717199d25a86ca8f702ef71db64393d
BLAKE2b-256 4b85424c3b4868756d84b0e4832b0885f81b8b980eea9bb9a9dfdc7e5e3787dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3abde715029375c0dd0045ff9e5f5d766b2d71847a319c273ac5ff7ccc2ed18e
MD5 3dd2ea98faba5861ce89cdf120996130
BLAKE2b-256 1b0b99c392311d9e3c1afae7d5b5d850a8a4485bbdcef9197064e9a61a35ec9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 01f50709932d30d4f2ae543410f6f77f7ab6168d10e7b298444f51035b667147
MD5 1ed9111325bdd5b9bdce26182838c7d8
BLAKE2b-256 64da742cbbe832b494fa8da816b6ec6f8ca41342f8c91110b61604e7bd6b37a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp311-cp311-win_amd64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d6128d7f23d165dabda886861dcc87239250490cd29998d32d2bf1bb9361f3d5
MD5 334226062fa67753f5496bb4738c704a
BLAKE2b-256 2b571233439b9aefcc36c7ed097b470b8c795e0ab4f35a68dfa4d624128bb145

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e06e0b747f2473f6005ec4fd756b1c2558e18952ef4f77dd967ac79e00aaf7b8
MD5 8740d4ab884b60c52802d8793a42a2ef
BLAKE2b-256 b7a5f249fa0e857749155f15bb9b4a999bd4baf13a4b87cd7e24a297aa32cd27

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 87b00704a78f955895c0828d3fa02be0df5dbf9615999d9ecf037d73b1b0a5d4
MD5 3fe5c367ea63b117386eabd63404b722
BLAKE2b-256 d19841714c20a8637ec36060f54f3da7594ba6b6eaaa4bf237cec93c1e9949d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp310-cp310-win_amd64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1bfb074100dc7b2f49f81cc8a48e9266610392cce2897abd853511012172ccae
MD5 28ea7bebce057b28d719a2616463f733
BLAKE2b-256 20f32eef4ae9e4f3744ea81d3e98b33d5a7a3bc513edc38a421a233e5ec34a3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70d971d51a788738a0a639d410eafc78c54acf13c09dfe600dbce35c2cd9b633
MD5 be845346dc36feb0916c5263a210e1b5
BLAKE2b-256 3af77259115d08432bd7843eba604465dafc77e5bd0491b6abb93930f79a0e7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cc48cf83fcb7df433c8120b9ca9ba954007b4e6bcab2c6994629d715494b2c2d
MD5 7edf17eabccc9852b4a7c14c9642ffac
BLAKE2b-256 1f0b0c637da2942970e24da6fbfdda421c9358a8bc77668c358b8f17f6ba6efc

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp39-cp39-win_amd64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 95247058f9b557f654b3d45f8552ddeef71d36c673ac86de9a8d1e38c4652fa6
MD5 f54ee2b9f792dddd8265881a5f24b214
BLAKE2b-256 6cb2bc669c979c0edeced17cb4701e10829f56f1297e81b703067c8512e72bbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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

File details

Details for the file uproot_custom-2.1.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for uproot_custom-2.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a1e65aea9562c86c210406670a5952149a8f6dbb65e23d8063edf6c975c2c6fa
MD5 18fc6263768d73c38bcc2c7b534af1b7
BLAKE2b-256 cad5f658ce5de8cdd9e34d764edd5131f002b80ce80e297b133475f1dd379ca6

See more details on using hashes here.

Provenance

The following attestation bundles were made for uproot_custom-2.1.1-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: python-publish.yml on mrzimu/uproot-custom

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