Skip to main content
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

  • ElfParser now supports in_memory=True: use a transient :memory: SQLite database instead of persisting a .prgdb file – ideal for read-only analysis, CI pipelines and unit tests.

  • 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.

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.14.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.14-cp314-cp314-win_arm64.whl (599.2 kB view details)

Uploaded CPython 3.14Windows ARM64

objutils-0.10.14-cp314-cp314-win_amd64.whl (615.0 kB view details)

Uploaded CPython 3.14Windows x86-64

objutils-0.10.14-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (611.4 kB view details)

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

objutils-0.10.14-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (602.0 kB view details)

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

objutils-0.10.14-cp314-cp314-macosx_11_0_arm64.whl (595.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

objutils-0.10.14-cp313-cp313-win_arm64.whl (596.0 kB view details)

Uploaded CPython 3.13Windows ARM64

objutils-0.10.14-cp313-cp313-win_amd64.whl (611.8 kB view details)

Uploaded CPython 3.13Windows x86-64

objutils-0.10.14-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (611.5 kB view details)

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

objutils-0.10.14-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (601.9 kB view details)

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

objutils-0.10.14-cp313-cp313-macosx_11_0_arm64.whl (595.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

objutils-0.10.14-cp312-cp312-win_arm64.whl (596.0 kB view details)

Uploaded CPython 3.12Windows ARM64

objutils-0.10.14-cp312-cp312-win_amd64.whl (611.8 kB view details)

Uploaded CPython 3.12Windows x86-64

objutils-0.10.14-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (611.5 kB view details)

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

objutils-0.10.14-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (601.9 kB view details)

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

objutils-0.10.14-cp312-cp312-macosx_11_0_arm64.whl (595.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

objutils-0.10.14-cp311-cp311-win_arm64.whl (596.0 kB view details)

Uploaded CPython 3.11Windows ARM64

objutils-0.10.14-cp311-cp311-win_amd64.whl (610.5 kB view details)

Uploaded CPython 3.11Windows x86-64

objutils-0.10.14-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (610.4 kB view details)

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

objutils-0.10.14-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (601.7 kB view details)

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

objutils-0.10.14-cp311-cp311-macosx_11_0_arm64.whl (595.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

objutils-0.10.14-cp310-cp310-win_arm64.whl (595.3 kB view details)

Uploaded CPython 3.10Windows ARM64

objutils-0.10.14-cp310-cp310-win_amd64.whl (609.2 kB view details)

Uploaded CPython 3.10Windows x86-64

objutils-0.10.14-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (609.2 kB view details)

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

objutils-0.10.14-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (600.5 kB view details)

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

objutils-0.10.14-cp310-cp310-macosx_11_0_arm64.whl (593.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: objutils-0.10.14.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.14.tar.gz
Algorithm Hash digest
SHA256 f8003f695353d96c0c39b1d6142c4de88fc927adccffb0b65dd2c25ed4df2fa5
MD5 e55cf3f9bbd2d3706d2eabf0574bae64
BLAKE2b-256 5d7d662e488b3fc2695602ca226fb941150f15a4f3d7cfd2cfe7799668a62fd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14.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.14-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: objutils-0.10.14-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 599.2 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.14-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 6a8dd77cda78342cd5a32a85bf8c37b921bc7670fe40b0a04612053ea2bb9b04
MD5 834571b5626b2d9b0464f3d01836f503
BLAKE2b-256 180b1e25331d27fb2e01274d8132361887d904987d74dc4af6624460e85ac5eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: objutils-0.10.14-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 615.0 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.14-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a5dbd84943e04f62a4e90a96ed05ee2785ad1027f80811321b193e6c0270f207
MD5 3ee2ec2ecfffe2c5bd3e7624b21c373d
BLAKE2b-256 69ad07eb1016b7bf0fd3b457b66387195cc1bf74644c90d2639396552d745a59

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a0619d0f5a86dc46582fc41e762d64905580cb860bd64fd0e2c7771b46bca360
MD5 0f7d7fb9e7d5ab2997e52fe2db1fed68
BLAKE2b-256 5b0c63b48818672512009fb14ed288c665dbc7d7eb03d0bb021639a6f2f213f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c33c120433a8ca58860ad8d51d5488c52f342e3391e39268bf76e28c2c3e5283
MD5 d18ff13c696f1bd119e16027e31335c7
BLAKE2b-256 d732f5893ac21b02a3d0ed67e7066ea9378df4cb22fe96be7e8c97e3e2c7e581

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4cd6bfadce6cedcfd67c490dfc3dbbebf672c0bfc09c9a8b8b7ccffdb3258cd
MD5 fc382af4803538c8fe2bee9bcd588b70
BLAKE2b-256 639af694cc735375f3f775d17cb0e44dbe0fc78f91e6c2bc5a23e59427fb616d

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: objutils-0.10.14-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 596.0 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.14-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 b119a096b0cd969c9817cb06a09a22511fec50e59ef58f0ef2dbf9d710609d27
MD5 45302ccea6c79957a1d76e490bf86c14
BLAKE2b-256 b3d709432e803239a5cc6e2121d703ad54362be0f12854fecdc7fd42cfeb9575

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: objutils-0.10.14-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 611.8 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.14-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d1c2b3afae69fc7b25e676c9bf05b44dffb7c0c99f603db12277ef9406374cab
MD5 9de6e1996162a2044744cc7d24c0fc1a
BLAKE2b-256 f56be8394c7195644345e74a70fdd390fe0e09fe53af386bb30abf7de0ce3203

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eea2698e3a8d47688da027e7badfd40af2168de08fc55b1dafaa2ad92405b540
MD5 1183bd529a742f31c560d9cdc3407ea8
BLAKE2b-256 fc345845259d04edbae05e0cb6d9c77301f2aa3bf5c7ef0324efbae12751536b

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f4b9f71c8a2ffba82e810551622a4a60265fa88b3778364a3d452596bf0c741a
MD5 2f1d8f021e42b3ea5875550b21833366
BLAKE2b-256 91a1006a943b3f5521484148a9e83d41ef33a717807c56e75d296320ebcd486f

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8a50f797f24fc22f10579c216a334ef891d474b7a369e5757237d558522bc36
MD5 8dcb4593cced5be667a43b3e28734c37
BLAKE2b-256 d92788c1282e3316aa191e006493e6de95b14303b7a493e719fa286373a2e4a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: objutils-0.10.14-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 596.0 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.14-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 3878974b7bbcf8906390e0b295754bd91b56bbff09085b54cd8d143af6667e48
MD5 4df1539ad5eca2aac2d9795659b0e941
BLAKE2b-256 dddbd80d67fe5b6301f6b577697250ff4426d4933d68a1269f61304ea2213f3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: objutils-0.10.14-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 611.8 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.14-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b58f508f0ef0fd86294fceb9bd38a161c04b4f52714b498f7e5cd66ea437cca9
MD5 124e82d5061993a391cb1beeb59e0daa
BLAKE2b-256 d7e5298609e1bc5f0c8abfcef8ec931f1ff8117e7e2ee7629d649f6674057abe

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5abaed21510ff32ad64baecebc631ec9fbf5e5ae0a49f871f52d771243d43424
MD5 8269c4ca1a5e881a9bdc53bfc4012e54
BLAKE2b-256 4b572976305ba10bc43406162a9cde55b399169b6ed8d057d28edb58b1979b9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b408d4185bee3d85c7054339918511fd1448c50141db081e1a54f6f915f5aaab
MD5 51b40b3733dab75d1a50048457663a6d
BLAKE2b-256 5360d4983cc11a414036455dd0f0240a5c9d6871561fede32f61e9c1134318bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59af290693d783ed638a6bdce71bbf4f0cd093d990606005465b65799436933b
MD5 ad5598747a1c6e126547f33843812ba1
BLAKE2b-256 5e7cd635d843c8aaf098b51e4b4423e004d2fdd4d0f8bdb05cb92fddc1870ba6

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: objutils-0.10.14-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 596.0 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.14-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 d4d86cddc1eb517274f8fb7f24ef546d0195a97a0cf734bf95d8ed129c381a3c
MD5 9c527b0145b939d406e4c20cbe4d48d0
BLAKE2b-256 4b8e0f5c940296f8530bddef64bca3c116c1da60fa7cae842011f0db1aa855db

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: objutils-0.10.14-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 610.5 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.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c921d45c36ee9688c2127ca0885248769a7e8fe73d5dacc63219d9833cfa87d7
MD5 c20f3d7f1d79263bd201ba54a9d47f6c
BLAKE2b-256 10c422af05f3a7a94e8844df304db90a82e1632a24b4be6672656c4763342655

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 df8dbee0401806a3b68ef435650ba543a3d6d50ac7dcc7922e4761ea0e414a72
MD5 6329f3bcc08d7e5f5058657227eef06a
BLAKE2b-256 578ca6e7e9de682b1c1cc9624b435476b7615f85db1a7a113467684fd28c2a4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fa9e94802dce626f47dff84784922bb3314c5a7b924595a89664a1c6d9cf7559
MD5 8d9745e852d4c70a218a23fa5b086ce9
BLAKE2b-256 4780c3447e2c36dcb7735aa8949da2928f5fe8432025ca7b8156b85bf6c8c608

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48f5cb3da3e60faaf90898d0ce37fa2035f930f39eae6699d7a81ee9298d872c
MD5 376aa0a3aabe64f2d773541da365326f
BLAKE2b-256 5931f82abd44b9017acc6d16a38abb972e2e9ce4bd976f5a26e5161842008d15

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: objutils-0.10.14-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 595.3 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.14-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 08baae80441c217e62e3c7aa327d44e05231286a6944e8fb08debeb455dab711
MD5 379b4cd91a68085a5a651387119c3322
BLAKE2b-256 160563aee052715f3dba344883261646fc4f183ade62aee5a85b7238f6001929

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: objutils-0.10.14-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 609.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 objutils-0.10.14-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7a6039bab82901113a21d76effe5463a9dcb9eaefc6a8503ebbe85efae96b05a
MD5 d86f3423fdd77817bd9ed0aa9f2d7fe8
BLAKE2b-256 d6dba83a75bd4a0f15e6d37ccb513ae1d88bf863ecc28e0a31a6c4dc02c7e3e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 49882c11a70a4586acfe212a98331cca42221f4702fe1a401dfea8a1b01e0254
MD5 aae9cf48de44e12021010d976ee8242a
BLAKE2b-256 2a35137fa4274705ec95426fb9396ba5c71846b440d07bba01e5f510236fdf3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 db606149904a350a3195532b8ec544fa1ae501a27d8fc5512cb28051cb68f1a4
MD5 abaa899c9e053d47a190245159da1205
BLAKE2b-256 deeb8fa978d22f268be7f425e433e116899468fe35ea9c24f1be15dd7dbe970d

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.14-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objutils-0.10.14-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18137861184d3ce2967f0bb1aa0e593af64e4890dff6b279cb23ac61032b8b6f
MD5 623cff7df0c344f7cc67408a7e288c64
BLAKE2b-256 0083c0562a1be663fcabf123cb1ced9e91ed0b6b77d7140eba4f5dec4da1fa72

See more details on using hashes here.

Provenance

The following attestation bundles were made for objutils-0.10.14-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.

Release history Release notifications | RSS feed

0.10.18

26 files

0.10.17

26 files

0.10.16

26 files

0.10.15

26 files

This release

0.10.14 This release

26 files

0.10.13

26 files

0.10.12

26 files

0.10.11

26 files

0.10.9

26 files

0.10.8

26 files

0.10.7

26 files

0.10.5

26 files

0.10.4

26 files

0.10.3

26 files

0.10.2

26 files

0.10.1

26 files

0.10.0

26 files

0.9.1

26 files

0.9.0

26 files

0.8.12

26 files

0.8.11

26 files

0.8.10

1 file

0.8.9

1 file

0.8.8

1 file

0.8.7

1 file

0.8.0

1 file

0.7.3

1 file

0.7.2

1 file

0.7.1

1 file

0.7.0

1 file

0.6.4

1 file

0.6.3

6 files

0.6.2

1 file

0.6.1

1 file

0.6.0

1 file

0.4.12

2 files

0.4.8

2 files

0.4.7

2 files

0.4.2

1 file

0.4.1

1 file

0.4.0

1 file

0.2.2

1 file

0.2.1

1 file

0.1.1

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page