Skip to main content

Objectfile library for Python

Project description

https://github.com/christoph2/objutils/raw/master/docs/objutils_banner.png

PyPI Python Versions License: GPLv2 Code style: black Ask DeepWiki PDF Manual

Binary data stored in hex-files is in widespread use especially in embedded systems applications. objutils gives you programmatic access to a wide array of formats and offers a practical API to work with such data.

Get the latest version from Github

Installation

pip install objutils

For development (editable install):

pip install -e .

Or with Poetry:

poetry install

Prerequisites

  • Python >= 3.9

Features

  • Read ELF files (including symbols) and extract loadable sections.

  • Inspect PE/COFF files and symbols (optional PDB support).

  • Merge multiple HEX files into one (oj-hex-merge).

  • Split HEX files into separate sections (oj-hex-split).

  • Typed access (scalars, arrays, strings) to binary data.

Recent improvements

  • New oj-hex-merge and oj-hex-split CLI tools for combining and partitioning HEX files.

  • New oj-dwarf-import CLI replaces dwarfer.py/cu_info.py for DWARF imports, CU listing, summaries, and attribute traversal.

  • Faster DWARF imports: batched ORM writes, quiet flag propagation, and safe DWARF expression evaluation keep large ELF files stable.

  • Exception handling and typing tightened across DWARF/ELF/PECOFF modules and public APIs to surface real errors without masking them.

  • ElfParser.close() releases SQLite/mmap handles; examples/tests now close parsers to avoid database locks.

  • S-Record metadata stays minimal and numeric (no data records mixed in); Mostec/Tek SREC roundtrips now reproduce expected files.

  • Fortran-ordered ndarray reads/writes honor legacy column-major expectations; hexdump empty rows keep canonical spacing.

Supported HEX formats

objutils supports a bunch of HEX formats…

Current

  • codec / format name

  • ihex (Intel HEX)

  • shf (S Hexdump (rfc4194))

  • srec (Motorola S-Records)

  • titxt (Texas Instruments Text)

Historical

  • codec / format name

  • ash (ASCII Space Hex)

  • cosmac (RCA Cosmac)

  • emon52 (Elektor EMON52)

  • etek (Tektronix Extended Hexadecimal)

  • fpc (Four Packed Code)

  • mostec (MOS Technology)

  • rca (RCA)

  • sig (Signetics)

  • tek (Tektronix Hexadecimal)

codec is the first parameter to dump() / load() functions, e.g.:

img = objutils.load("ihex", "myHexFile.hex")     # Load an Intel HEX file...
objutils.dump("srec", "mySRecFile.srec", img)    # and save it as S-Records.

First steps

If you are interested, what objutils provides to you out-of-the-box, refer to Scripts documentation.

In any case, you should work through the following tutorial:

First import all classes and functions used in this tutorial.

from objutils import Image, Section, dump, dumps, load, loads

Everything starts with hello world…

sec0 = Section(start_address = 0x1000, data = "Hello HEX world!")

The constructor parameters to Section reflect what they are about: A continuous area of memory with an start address.

data is not necessarily a string, array.array**s, **byte, bytearray will also do, or from an internal point of view: everything that is convertible to bytearray could be used.

Note: start_address and data are positional arguments, so there is no need to use them as keywords (just for the sake of illustration).

Now let’s inspect our section.

sec0.hexdump()

00001000  48 65 6c 6c 6f 20 48 45 58 20 77 6f 72 6c 64 21  |Hello HEX world!|
---------------
       16 bytes
---------------

hexdump() gives us, what in the world of hackers is known as a canonical hexdump.

HEX files usually consist of more than one section, so let’s create another one.

sec1 = Section(0x2000, range(1, 17))
sec1.hexdump()

00002000  01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10  |................|
---------------
       16 bytes
---------------

Now, let’s glue together our sections.

img0 = Image([sec0, sec1])
print(img0)

Section(address = 0X00001000, length = 16, data = b'Hello HEX world!')
Section(address = 0X00002000, length = 16, data = b'\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10')

Images are obviously a container for sections, and they are always involved if you are interacting with disk based HEX files.

dump("srec", "example0.srec", img0)

The resulting file could be inspected from command line.

$ cat example0.srec
S113100048656C6C6F2048455820776F726C64217A
S11320000102030405060708090A0B0C0D0E0F1044

And loaded again…

img1 = load("srec", "example0.srec")
print(img1)

Section(address = 0X00001000, length = 16, data = b'Hello HEX world!')
Section(address = 0X00002000, length = 16, data = b'\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10')

Or split it into its sections…

images = img1.split()
for i, img in enumerate(images):
    dump("srec", f"part_{i}.srec", img)

This leads to the conversion idiom.

img1 = load("srec", "example0.srec")
dump("ihex", "example0.hex", img1)

Note: the formats above listed as historical are for one good reason historical: they are only 16bit wide, so if you want to convert, say a srec file for a 32bit MCU to them, you’re out of luck.

OK, we’re starting another session.

sec0 = Section(0x100, range(1, 9))
sec1 = Section(0x108, range(9, 17))
img0 = Image([sec0, sec1])
print(img0)

Section(address = 0X00000100, length = 16, data = b'\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10')

img0.hexdump()

Section #0000
-------------
00000100  01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10  |................|
---------------
       16 bytes
---------------

Two sections with consecutive address ranges concatenated to one, this may or may not what you are expected.

For this reason Image has a join parameter.

sec0 = Section(0x100, range(1, 9))
sec1 = Section(0x108, range(9, 17))
img0 = Image([sec0, sec1], join = False)
print(img0)

Section(address = 0X00000100, length = 8, data = b'\x01\x02\x03\x04\x05\x06\x07\x08')
Section(address = 0X00000108, length = 8, data = b'\t\n\x0b\x0c\r\x0e\x0f\x10')

img0.hexdump()

Section #0000
-------------
00000100  01 02 03 04 05 06 07 08                          |........        |
---------------
        8 bytes
---------------

Section #0001
-------------
00000108  09 0a 0b 0c 0d 0e 0f 10                          |........        |
---------------
        8 bytes
---------------

One feature that sets objutils apart from other libraries of this breed is typified access.

We are starting with a new image.

img0 = Image([Section(0x1000, bytes(64))])
print(img0)

Section(address = 0X00001000, length = 64, data = b'\x00\x00\x00\x00\x00\x00\x00...00\x00\x00\x00\x00\x00\x00\x00')

We are now writing a string to our image.

img0 = Image([Section(0x1000, bytes(64))])
img0.write(0x1010, [0xff])
img0.hexdump()

Section #0000
-------------
00001000  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00001010  ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00001020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00001030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|

img0.write_string(0x1000, "Hello HEX world!")
img0.hexdump()

Section #0000
-------------
00001000  48 65 6c 6c 6f 20 48 45 58 20 77 6f 72 6c 64 21  |Hello HEX world!|
00001010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
          *
00001030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
---------------
       64 bytes
---------------

Notice the difference? In our Section example above, the string passed as a data parameter was just a bunch of bytes, but now it is a “real” C-string (there is a opposite function, read_string, that scans for a terminating NULL character).

Use write() and read() functions, if you want to access plain bytes.

But there is also support for numerical types.

img0 = Image([Section(0x1000, bytes(64))])
img0.write_numeric(0x1000, 0x10203040, "uint32_be")
img0.write_numeric(0x1004, 0x50607080, "uint32_le")
img0.hexdump()

Section #0000
-------------
00001000  10 20 30 40 80 70 60 50 00 00 00 00 00 00 00 00  |. 0@.p`P........|
00001010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
          *
00001030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
---------------
       64 bytes
---------------

The folling types are supported:

  • uint8

  • int8

  • uint16

  • int16

  • uint32

  • int32

  • uint64

  • int64

  • float32

  • float64

In any case, endianess suffixes _be or _le are required.

For ASAM workflows there are dedicated helpers with explicit byte-order names:

img0 = Image([Section(0x1000, bytes(64))])
img0.write_asam_numeric(0x1000, 0x11223344, "ULONG", "MSB_FIRST")
img0.write_asam_numeric(0x1004, 0x11223344, "ULONG", "MSB_FIRST_MSW_LAST")
img0.write_asam_numeric(0x1008, 0x11223344, "ULONG", "MSB_LAST_MSW_FIRST")

print(hex(img0.read_asam_numeric(0x1000, "ULONG", "MSB_FIRST")))
print(hex(img0.read_asam_numeric(0x1004, "ULONG", "MSB_FIRST_MSW_LAST")))
print(hex(img0.read_asam_numeric(0x1008, "ULONG", "MSB_LAST_MSW_FIRST")))

# All reads print 0x11223344 again.

Supported ASAM byte orders:

  • MSB_FIRST

  • MSB_LAST

  • MSB_FIRST_MSW_LAST (word-swap)

  • MSB_LAST_MSW_FIRST (word-swap)

  • LITTLE_ENDIAN (legacy alias for MSB_LAST)

  • BIG_ENDIAN (legacy alias for MSB_FIRST)

Supported ASAM numeric datatypes:

  • UBYTE, SBYTE

  • UWORD, SWORD

  • ULONG, SLONG

  • A_UINT64, A_INT64

  • FLOAT16_IEEE, FLOAT32_IEEE, FLOAT64_IEEE

ASAM string helpers are available, too:

img0.write_asam_string(0x1020, "MOTOR", "ASCII")
img0.write_asam_string(0x1030, "Drehzahl", "UTF8")

print(img0.read_asam_string(0x1020, "ASCII"))
print(img0.read_asam_string(0x1030, "UTF8"))

Supported ASAM string datatypes:

  • ASCII

  • UTF8

  • UTF16

  • UTF32

Arrays are also supported.

img0 = Image([Section(0x1000, bytes(64))])
img0.write_numeric_array(0x1000, [0x1000, 0x2000, 0x3000, 0x4000, 0x5000, 0x6000, 0x7000, 0x8000], "uint16_le")
img0.hexdump()

Section #0000
-------------
00001000  00 10 00 20 00 30 00 40 00 50 00 60 00 70 00 80  |... .0.@.P.`.p..|
00001010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
          *
00001030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
---------------
       64 bytes
---------------

This concludes our tutorial for now, but there is more stuff to follow…

Documentation

For full documentation, including installation, tutorials and PDF documents, please see Readthedocs

Bugs/Requests

Please use the GitHub issue tracker to submit bugs or request features

References

Here is an overview of some of the classic hex-file formats.

Authors

License

This project is licensed under the GNU General Public License v2.0

Contribution

If you contribute code to this project, you are implicitly allowing your code to be distributed under the GNU General Public License v2.0. You are also implicitly verifying that all code is your original work.

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

objutils-0.10.13.tar.gz (4.4 MB view details)

Uploaded Source

Built Distributions

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

objutils-0.10.13-cp314-cp314-win_arm64.whl (598.3 kB view details)

Uploaded CPython 3.14Windows ARM64

objutils-0.10.13-cp314-cp314-win_amd64.whl (614.1 kB view details)

Uploaded CPython 3.14Windows x86-64

objutils-0.10.13-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (610.4 kB view details)

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

objutils-0.10.13-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (601.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

objutils-0.10.13-cp314-cp314-macosx_11_0_arm64.whl (594.9 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

objutils-0.10.13-cp313-cp313-win_arm64.whl (595.1 kB view details)

Uploaded CPython 3.13Windows ARM64

objutils-0.10.13-cp313-cp313-win_amd64.whl (610.9 kB view details)

Uploaded CPython 3.13Windows x86-64

objutils-0.10.13-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (610.5 kB view details)

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

objutils-0.10.13-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (600.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

objutils-0.10.13-cp313-cp313-macosx_11_0_arm64.whl (594.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

objutils-0.10.13-cp312-cp312-win_arm64.whl (595.1 kB view details)

Uploaded CPython 3.12Windows ARM64

objutils-0.10.13-cp312-cp312-win_amd64.whl (610.9 kB view details)

Uploaded CPython 3.12Windows x86-64

objutils-0.10.13-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (610.5 kB view details)

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

objutils-0.10.13-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (600.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

objutils-0.10.13-cp312-cp312-macosx_11_0_arm64.whl (594.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

objutils-0.10.13-cp311-cp311-win_arm64.whl (595.1 kB view details)

Uploaded CPython 3.11Windows ARM64

objutils-0.10.13-cp311-cp311-win_amd64.whl (609.6 kB view details)

Uploaded CPython 3.11Windows x86-64

objutils-0.10.13-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (609.4 kB view details)

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

objutils-0.10.13-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (600.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

objutils-0.10.13-cp311-cp311-macosx_11_0_arm64.whl (594.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

objutils-0.10.13-cp310-cp310-win_arm64.whl (594.4 kB view details)

Uploaded CPython 3.10Windows ARM64

objutils-0.10.13-cp310-cp310-win_amd64.whl (608.3 kB view details)

Uploaded CPython 3.10Windows x86-64

objutils-0.10.13-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (608.3 kB view details)

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

objutils-0.10.13-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (599.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

objutils-0.10.13-cp310-cp310-macosx_11_0_arm64.whl (592.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file objutils-0.10.13.tar.gz.

File metadata

  • Download URL: objutils-0.10.13.tar.gz
  • Upload date:
  • Size: 4.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for objutils-0.10.13.tar.gz
Algorithm Hash digest
SHA256 0078475d97df7ee4fa62261bda4d1d524387166f3647f1af464a2fba3e8fc61b
MD5 ebb245d467a2a6e0738f39233f8f09cd
BLAKE2b-256 7dd1c586a6cb4fce61f87c216b759ebe0851ce12ee433ef4b00e57a846faad85

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13.tar.gz:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: objutils-0.10.13-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 598.3 kB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for objutils-0.10.13-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 99f9da91e279b8e733c8f303b0f9e1e0ca98e2354f84749126b9d7a6ad07d177
MD5 c12b1601f497ebf242205376d34822c0
BLAKE2b-256 d6cb4a742cff888f7e853859fa71fb55d944545f539b50505b95f8526dff6419

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp314-cp314-win_arm64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: objutils-0.10.13-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 614.1 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 objutils-0.10.13-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 fbc863e4d5e0b5f31426580b1911d7f8f9e5c24547d1db934ea8514f09749f35
MD5 155a12afe1e6a440a4601e54f7b6dc17
BLAKE2b-256 781e0e8c2ce586d08ce12f941a574597b7d9aeb7f9d2bcdc2f36bea81e8cfb2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp314-cp314-win_amd64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4dc96d9ff16da9c28abc191042a25ffed8c6f121a2df87b492e8dc9a8a768a6e
MD5 5e98eb31a4264b9cbf757e3fdd0af3b7
BLAKE2b-256 7a447b3df6304a08d6e92ea070a9d451263ec5df3336ab1011987947bec69845

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fa99504c8f37acbff13963d850539d9b6ada7685b5f4bc768bd34abd6ce93bc0
MD5 dea22ea2f06845355a8a6c6b14ef0dc6
BLAKE2b-256 dc2d5657c05f1c990055fd5185fb2eb519473e0731ad04ff4eef9c24fa258871

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2cd6e59860a9d45abb5bbdd41ef87d3ac7fb59c97f9bf1212857ce89ee0f0965
MD5 e152bb6ba3208584767c16254ba237f4
BLAKE2b-256 6da1fefcc7dbaef282735ed872265f583c10e69bd9801ab6362016d87c06e898

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: objutils-0.10.13-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 595.1 kB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for objutils-0.10.13-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 56420a2ae5b3bc9cfb2890a6dea0c0ad6a8b35ecc2abfbebcb6de8bd97868b4b
MD5 f0d08ee30b67d97f15a2884870eb74a1
BLAKE2b-256 ef0a8c87328a5b5b7e4bd370e78a7b41ab30bf052e70ba5a8a20bd8dddb22b1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp313-cp313-win_arm64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: objutils-0.10.13-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 610.9 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 objutils-0.10.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a584747fa73ec8f6c027450a56e927d14a50b53397b655c136596f68482fa740
MD5 12ceda03f2aff8dea0bf1b7b2788a46a
BLAKE2b-256 521f9906ffc962e9ef5179ee863453a9cddf1f84173652f945fc93fddaabd905

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp313-cp313-win_amd64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a2a5b696d1acda159fb316b928feb2f027081e211939bc6dd5f1f8a6d935d27f
MD5 42d3934d7589b421e2edcf44a2bc888e
BLAKE2b-256 5ff13342e257a0dfa38f7db23e9e0f19c85e095e358188047599e03e9d365a50

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7a4de8df7e1d2d093bb1c8da74b948ae3901894bd69f25a1b35fe6e2cc5e4812
MD5 4c2c38c486102f20ceb8d826fed91857
BLAKE2b-256 b6ce5b2f10ad4bbf22e65c7edde80b531e0c80fe59e74c002b1a239626aec08a

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 56b93018cd0a1833905c2cbdb7e2e2c30326e23b0c5465e20423fc0e27c77520
MD5 298f74f9d46c94e77212402f6187ed97
BLAKE2b-256 2ee0a5fcf50e116ab905183049b399c9d2cf7cf5dbc5de8394d55211c2c97fc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: objutils-0.10.13-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 595.1 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for objutils-0.10.13-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 46790b72222fc1ef12f804feae254f8dff90aea6721f3fc39ffbb0aa8e9a7e65
MD5 485df1037219dec853701fd77bd134fa
BLAKE2b-256 9957e0bf312b1c59cfcf16bd616a0d4cd735477d918b6dd2d5a9a89bf93925d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp312-cp312-win_arm64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: objutils-0.10.13-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 610.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 objutils-0.10.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f9a4bde344b253595972f71f743980d496b3e186af5f38d3a6958cf393f5f66b
MD5 8e0b92049790cbbaa004ae71d221cdfb
BLAKE2b-256 2ac74e6f0b6a3b57d49615cf478f49a85f3ad68be3f7374fa5d0459dce1e8a8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp312-cp312-win_amd64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7eabf202b2aed30ec7975817495d314ce2834bf3796e8cbbb9caf46a7bb3d9cb
MD5 b4856537baec75d0f69588eaf5a9b912
BLAKE2b-256 39dd81dbde22270eee4f0b942483313c04eb8271a5e67b25b76dcb9ab6a544cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 faf8d1fe01f89636ba203affcd7cb3e1cc590b49bfd183b034890a48bb4b7912
MD5 b6ef6655be06d58bb4d025f66dda9cdf
BLAKE2b-256 f6dfbe886b30f5bce92a0a33d19bb18c3fbd679991e35c5e4485cf96769f26f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21bf74ca14ed7d712d47f48a61b9b71cd033a0122be2171417e997ec030709bd
MD5 94e49a84581bf67a405c9626ef306c7f
BLAKE2b-256 7ea25f68dfc901930865ced528fb1066499a7377f6a88c084592e726ddf1d57c

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: objutils-0.10.13-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 595.1 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for objutils-0.10.13-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 462fa2e2ac3de5de4a393eb00ae0bd58bdbad83f673889015d924f1753eb6531
MD5 ca029557543f6ceaf7d9a5cd9f912280
BLAKE2b-256 3644eb19c1f889b41de1a896cafa5a2cc03315e1a2c23ae823cd8151ad0f6793

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp311-cp311-win_arm64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: objutils-0.10.13-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 609.6 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 objutils-0.10.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 325ab7bd7ba3de70543a0759392de85f517a60dbca2e6a3665be26daa20dc3ef
MD5 e49f517dc0f77e348358f67456781a3f
BLAKE2b-256 d0602b16b5ebef0f8d40b0717ab22fa9b7dc703863b31279ca6c9f84e9e6571e

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp311-cp311-win_amd64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 34519434c6a82d7e0779b94264a6bb8552c2e7816787c3a2ed3f889c78705811
MD5 64d7f9926281f1143fe3c2159613b8cc
BLAKE2b-256 9ab15c26587eda1eb4f6234bfe8fa0269e11df76946d4b5db18ff9ff50df8ed7

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a299fca14ecd7ca3e81cba383063db3ca879deb9d9c4a96a58f3f82d9644b33b
MD5 cebede5102219efffbd9a8d388ff82aa
BLAKE2b-256 2152a3e8e37a155a3cfef22a45a1f44e762a6ddaa74e3f04dd02cbfa45058785

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4673c3f2c6214bd4e8915ddfc76bc98f920625038c3dd4c825ede281fb88165f
MD5 1125a6ddcc23ab11dd2c3efcdc246ffe
BLAKE2b-256 314596967b4cf683fa77318ff7ec48f15ed77a7f52002a4b7f1ceeb50f258170

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: objutils-0.10.13-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 594.4 kB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for objutils-0.10.13-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 662ad910e9af8056947bd736d28bd1d7739de0b9e5066bd0f08883b8b4e3a664
MD5 cad9de56fadf4a42ae0114bff5b876cc
BLAKE2b-256 e292e0018b9a75508ee060815a29486e98e34bf0c96f79e2574ecba54678bea7

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp310-cp310-win_arm64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: objutils-0.10.13-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 608.3 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 objutils-0.10.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dfe6099c1f1fd44e3b7cb082bd6f9a92fd8760e19bdd4acfa8ca0e6b43cf5f60
MD5 c643c7fd4b9f4c2460e3fbd9e8a9977f
BLAKE2b-256 5c534f3b99d4d6e9afb7f9c3b8d32f5d4ce9a5c6270a900b381e9db792a3b93f

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp310-cp310-win_amd64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 af16575efca5f8ed7a87e1e60edf5aed8e85b0ba31bef1c3d0c49578d05e9093
MD5 1e25fc26a504664d79889d20a558aeca
BLAKE2b-256 45530c9a2af1b668cd1d089304da82ab630a6f28e4adea4b683a771f74972dc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9e9dfec2f674f9762fe6899b5af217239109758f4a4ebbc69943eef2571b2b2d
MD5 4fd3f398705af397eb52a98f567d7d9e
BLAKE2b-256 ba4a1afea8ce59bedee6b275629a2a8e960d9f0eef8e96458065aca4958390e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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

File details

Details for the file objutils-0.10.13-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objutils-0.10.13-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96df8e7247cbdc1c5f72f841934d019f2b5c2d5528b7f0ea4340839b0a3e7055
MD5 e74b2e979c65e2c3fdfb240c4e9f12aa
BLAKE2b-256 36042590590388ed96ee27ca63652cc004e24dc815078776b71fd0d383ff45a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.13-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: pythonapp.yml on christoph2/objutils

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