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

Uploaded CPython 3.14Windows ARM64

objutils-0.10.16-cp314-cp314-win_amd64.whl (627.8 kB view details)

Uploaded CPython 3.14Windows x86-64

objutils-0.10.16-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (623.4 kB view details)

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

objutils-0.10.16-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (613.2 kB view details)

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

objutils-0.10.16-cp314-cp314-macosx_11_0_arm64.whl (606.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

objutils-0.10.16-cp313-cp313-win_arm64.whl (607.8 kB view details)

Uploaded CPython 3.13Windows ARM64

objutils-0.10.16-cp313-cp313-win_amd64.whl (624.9 kB view details)

Uploaded CPython 3.13Windows x86-64

objutils-0.10.16-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (623.3 kB view details)

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

objutils-0.10.16-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (612.9 kB view details)

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

objutils-0.10.16-cp313-cp313-macosx_11_0_arm64.whl (606.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

objutils-0.10.16-cp312-cp312-win_arm64.whl (607.8 kB view details)

Uploaded CPython 3.12Windows ARM64

objutils-0.10.16-cp312-cp312-win_amd64.whl (624.8 kB view details)

Uploaded CPython 3.12Windows x86-64

objutils-0.10.16-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (623.4 kB view details)

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

objutils-0.10.16-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (612.9 kB view details)

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

objutils-0.10.16-cp312-cp312-macosx_11_0_arm64.whl (606.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

objutils-0.10.16-cp311-cp311-win_arm64.whl (607.9 kB view details)

Uploaded CPython 3.11Windows ARM64

objutils-0.10.16-cp311-cp311-win_amd64.whl (623.6 kB view details)

Uploaded CPython 3.11Windows x86-64

objutils-0.10.16-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (622.8 kB view details)

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

objutils-0.10.16-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (613.4 kB view details)

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

objutils-0.10.16-cp311-cp311-macosx_11_0_arm64.whl (606.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

objutils-0.10.16-cp310-cp310-win_arm64.whl (607.3 kB view details)

Uploaded CPython 3.10Windows ARM64

objutils-0.10.16-cp310-cp310-win_amd64.whl (622.3 kB view details)

Uploaded CPython 3.10Windows x86-64

objutils-0.10.16-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (621.5 kB view details)

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

objutils-0.10.16-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (612.4 kB view details)

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

objutils-0.10.16-cp310-cp310-macosx_11_0_arm64.whl (604.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: objutils-0.10.16.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.16.tar.gz
Algorithm Hash digest
SHA256 b637bd3d79fb7614f5e1f6843c02c7e6ac0188f0343e2e38e9e245b80ec596c9
MD5 1b7dfc95d478301160cca303c731a0f1
BLAKE2b-256 cdd812eeb16fdaa2c125eaba084e43e631144de4f74b9c62c2a0b6e3d789dd88

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.16-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 611.6 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.16-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 4209cd69f3415f70e4bb816dfea982bd972a45d8929b0b864b171eb99036acb4
MD5 d56a0a02967c7384501b2b70307ee3cb
BLAKE2b-256 b6604996c287bcc3f778831a7b3eb19fe2df34a0fc1d59ceaf046110567d587f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.16-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 627.8 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.16-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 479376ef5e3d3377620a34692aba28e50a039439f8403e768e9701f432147884
MD5 3194cf09628d789f4355a04fb0bd0a30
BLAKE2b-256 8c3d1e415af32d0785a5dd58757d5dbdee081d2589ba5988770dd1e9e8cb7c76

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 40c5a2f90391679fcb0379c9f0c63ae4a5c82b830a2aace4754d6d9a0f71e740
MD5 c87c018112e061c8ec15e4409a2edd8f
BLAKE2b-256 dd423b8f102007dbefbc4ee5a7b65f0277236b6f01e347494c8d14424a4c8034

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8b6bca3db6d2f2ac563e3378a054b35bc3d13960c5106112c4e5a9a1d203302c
MD5 1f0c9c95e5325ff942314ad97b45e785
BLAKE2b-256 ec3917e9e21a644ff3c5b07828101a69a92a416571245585b7865be114b7da3b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e94b1e3ba461576ff7e208fc47357fde3fe716f4540bc5383ddf0449cf22b22
MD5 52860241c6434ab198b3016f0d16c1c6
BLAKE2b-256 c2b8d31b9d90608d98ef6051a7a497b355b63d023fb433965cb65610e119a8fc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.16-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 607.8 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.16-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 08339b090f3e98798e93393803d6053241a6589a65a833efc66219038cdf958a
MD5 6297857742f63efe6fdd6f942e4b4518
BLAKE2b-256 f2fc3a3e4673dff6832a7f2cc9d7b78477b3b2e63f1e0111719c0bb4bc072158

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.16-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 624.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.16-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5905802e310d08931e957135607a5908eb2471c38ee0af4963d6f8569c0e8e88
MD5 31e3a39fc6ca8c9c2dfccf18dd41ef6a
BLAKE2b-256 e1abdbcf8ad38594828d51df4377669d1a3326c336ec47885a05f1f52ced74bf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 47eb616cac335a8fafbfdc505bb60d3be27ac286b354c34861cedd5bc83a2c46
MD5 7e33fcaab8baf3915f1ab37ae4e87a00
BLAKE2b-256 b87b92cc340a90f739bff01c78c30b21117b796b7c6d365495141732f9ce8742

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9a43b1533b49a1ecc90c308632e42e43612046e84b4cd48ae3ba166e5495181f
MD5 950d18197c863ea4fddfb4b0239eb8bc
BLAKE2b-256 3d3d596af8b023fc13ba18e903f3c0f5a76140d312631e43d3933d0249a994e1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cbada7866e36b4ee594a227650411b2ec4c57991c43c0a54d2bb07bfbdf76cc1
MD5 d2012f0f70182d58d88e6206a1b0b7f2
BLAKE2b-256 cd94940f05f818762cd929b4da778ecadb3e9182a0a53af395857d5f7825a2ba

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.16-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 607.8 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.16-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 1293f72ca31701dcb9f78b02548d54b85859e9fde485d4542200e2a54303efdb
MD5 36bf06e61c4328a156da6383d8cee018
BLAKE2b-256 a91ebf1da97a954a4e1777372c691dc832fbc5c1a6fe9a584cd56cfc1524b988

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.16-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 624.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.16-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a1a08f29da418bbfcd564b5cf3f035d31e86706116e122d80860029e6b7a5a35
MD5 4feb10b86e5942aa686e673c8d4df0c8
BLAKE2b-256 7e493eed5271e96a3babd8f5d0d4b11b28027a55f4fa6f8e7fb52994e54abccb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 30beebf266e4b344fa1d9c184adb6d13257375bea8a0a90347e5033a2c1b23ca
MD5 056e0513f2dd366bef5dc33f9691c57d
BLAKE2b-256 db18c1f924e9304462cc94dd9f19c9ffcc6fb4afc4e85a8c6193630d3cfb6e20

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fbf83e740719b585705167de31b008d8bd8a0b058873df80f8e715f971889d18
MD5 20685f1f4ded2744b4f8618e569e3201
BLAKE2b-256 a15fcb93ad30c6d210c9c4ac4c49e16fb9479f59985034f1c076666194410030

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8aa247496390866203ce49098e087778dda05c1016d09c94df97f8c340a25a82
MD5 247bac5c4aeca985ffef9a9be9cfc206
BLAKE2b-256 b086cb0af31d57ab74f09765d474ece166e598d76bf313afae2c97001ac879be

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.16-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 607.9 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.16-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 4c4a0d5e918dd0feba16004bd84ea9479cc7a35fe03eff0e098f44b33b33f5d5
MD5 aee3afa2c1fde2adeb2c4b8689e552d5
BLAKE2b-256 8109ffddef6c5b9d0de3b8d5604b1d21e9252a68107b871d83af3a95c4d74742

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.16-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 623.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.16-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 10ce4ac3088c0ea03c532bba4fb3b1f2b86a47c70331caff5ca1ac7f42d66277
MD5 8663daa14cd53c00d450992b48b70a75
BLAKE2b-256 01a1594068ae614aab0617ee615712ac123590a69abbdf87eebe3e486408ad51

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a618e847bb87ff749d7fe810e842dd4e2cd052d2785ff3a6009b6d4e1059d2c2
MD5 17f1cf77601b1d1b7ef65c26e505e4e8
BLAKE2b-256 9ff3ce94dce0760bc371dbf5e6e4e9fd231df1b564c612cd235da410542edf63

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fb7f229b69c2afecdaefa86f67182dd27d2a8cd3add5f3a0cda4390644bfc41b
MD5 eb6ede57596e0926466efb06b02cf9dc
BLAKE2b-256 241b041e6bd2d44834bbc79e45b41dce47bcea6ae3e51149d8f8e291e5ec0746

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d56a606d0d4ab9aac38e806fe9b3a43807b7dc7ba460c588924f0d4c497c4166
MD5 07c10e6e85f63e44c8d795ecc89350f4
BLAKE2b-256 b3c623b8553abf6f8f7a8bf4835a370cc9020fef0bc6ab00e51f198dc668a834

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.16-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 607.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.16-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 9a5584082f656547f758eefbe1448cb9d0994e8f77880ea4ecc56a79ce0494a1
MD5 3dbfacdfecc82691a932f98908643a55
BLAKE2b-256 43046e4014cc5d0bdef0c21d52bab1027956502a6ade4f08969a13888faea35a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.16-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 622.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.16-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f1680b50be2d446a7ab5b81b3a8d5384929e14efdc87bba9df7816f412c439fc
MD5 99bd627c95e0daa9e492603202624a75
BLAKE2b-256 467566ad596368d6f5e8d6e2497fb3a9e47e4c83b35ffbdd469b061378fc2b70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3c4b3de3c305370ee6f73e5fd8332c599f015a69cb0e3e076e61bef4114c36d7
MD5 64647a2f039394f2328f67e88809eb70
BLAKE2b-256 8eb7b8b93b03e18424cb9353f167820c701d190f2db792676fa712fb1c06bd90

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a8d7f0200cc8cca2af2f21eb6cd02e2bcd3ab22fecae3260edc58dcd6d60070b
MD5 bb62765b74ec6d8d2e49076151c7496e
BLAKE2b-256 7bee56935dbb90961661f779fcaa8ae5d8cfb3132b9c6b50220fd99d7e6f92ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.16-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c1024c3c8e7dfada58f91df8a1b49cabab3442892cc1ed65d7b531d6cd405c9
MD5 61540b789cedaaa77e03e07b87983b7e
BLAKE2b-256 244c42d67d71eb7a3bcc35c55af9138f6a09258d4ce20fa976e1fa9e1cfea3d5

See more details on using hashes here.

Provenance

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

This release

0.10.16 This release

26 files

0.10.15

26 files

0.10.14

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