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

Uploaded CPython 3.14Windows ARM64

objutils-0.10.17-cp314-cp314-win_amd64.whl (638.3 kB view details)

Uploaded CPython 3.14Windows x86-64

objutils-0.10.17-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (633.7 kB view details)

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

objutils-0.10.17-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (623.5 kB view details)

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

objutils-0.10.17-cp314-cp314-macosx_11_0_arm64.whl (616.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

objutils-0.10.17-cp313-cp313-win_arm64.whl (618.2 kB view details)

Uploaded CPython 3.13Windows ARM64

objutils-0.10.17-cp313-cp313-win_amd64.whl (635.2 kB view details)

Uploaded CPython 3.13Windows x86-64

objutils-0.10.17-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (633.6 kB view details)

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

objutils-0.10.17-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (623.1 kB view details)

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

objutils-0.10.17-cp313-cp313-macosx_11_0_arm64.whl (616.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

objutils-0.10.17-cp312-cp312-win_arm64.whl (618.2 kB view details)

Uploaded CPython 3.12Windows ARM64

objutils-0.10.17-cp312-cp312-win_amd64.whl (635.2 kB view details)

Uploaded CPython 3.12Windows x86-64

objutils-0.10.17-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (633.7 kB view details)

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

objutils-0.10.17-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (623.2 kB view details)

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

objutils-0.10.17-cp312-cp312-macosx_11_0_arm64.whl (616.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

objutils-0.10.17-cp311-cp311-win_arm64.whl (618.3 kB view details)

Uploaded CPython 3.11Windows ARM64

objutils-0.10.17-cp311-cp311-win_amd64.whl (634.0 kB view details)

Uploaded CPython 3.11Windows x86-64

objutils-0.10.17-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (633.0 kB view details)

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

objutils-0.10.17-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (623.7 kB view details)

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

objutils-0.10.17-cp311-cp311-macosx_11_0_arm64.whl (616.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

objutils-0.10.17-cp310-cp310-win_arm64.whl (617.6 kB view details)

Uploaded CPython 3.10Windows ARM64

objutils-0.10.17-cp310-cp310-win_amd64.whl (632.6 kB view details)

Uploaded CPython 3.10Windows x86-64

objutils-0.10.17-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (631.8 kB view details)

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

objutils-0.10.17-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (622.6 kB view details)

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

objutils-0.10.17-cp310-cp310-macosx_11_0_arm64.whl (614.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: objutils-0.10.17.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.17.tar.gz
Algorithm Hash digest
SHA256 fe90ab5cbaa349af90c6addca5df24d6aed62e0bdaf94e142be6cb906c8b3320
MD5 a9456c2835ef4de4c644f992342506d7
BLAKE2b-256 323e52210101a5754260740a83e388a787bb857eafba36fa0240dc4a2d9e45c7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.17-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 622.1 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.17-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 f5a39015cef7762c46d61354d8692213817358e372d1b8a7954d0e3a385910b4
MD5 60ae5d1c22e09ba47f78bf4cb0a2854a
BLAKE2b-256 3869fad3fb4ee6e2ad6d7a3bd83bab9b88a1e71dc18f3b6a0b6510c3dc03bec2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.17-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 638.3 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.17-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 66759c11d293b57506c771fb785f4e014bc5c7e9cf43576b96dcd1b16c6b2479
MD5 8ca0de5faf0bfe8338cff8d3772ed199
BLAKE2b-256 085646c67f0b828896efb68fc922718746d307eac1c8d300747c4d6625878a1b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a69c8b07877cffa2428e58117e086fd28f81179eef25990665e25165ed23f0bb
MD5 e09f5a3bf1976fb15e76add226bf56ec
BLAKE2b-256 07daf1ba1d7d1cd16448055f1cd3b1238a164423ca87ed87fba27a453b8fd3ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 47e4ada31e303d99948a667d7f19ad4eec0d4db80869048652781950b006f427
MD5 83f60a6c2e7354ddef2b6c85b0e122d8
BLAKE2b-256 741a0d1883bb1e7225a2ad33cbe96d5b5db62a27d32954ec0d0467cbc96b9e68

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c83a0bbbb0e33c7efede58960711979890456263fb5994ac156bcef7183ab8f0
MD5 730aa03ad0d881994bc6f0aceb528241
BLAKE2b-256 1d6ff5e9b4ef26d7d68856ee51e4e191162d5ead97cbbcb46282fa5c07487f6f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.17-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 618.2 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.17-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 7990d49e6ed9599d3846892fba20b81c261413c337c4f90157ac22785330d369
MD5 8d24728c7d54cd730944c88703234325
BLAKE2b-256 2f851fb6311032bc286681291d5aa1ff646d36de9c2f342b006fa1b7987ea1d3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.17-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 635.2 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.17-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e25426630d4d52884028755e6625606038c569d927281127fe951b1c70a8a44c
MD5 493869c3bf66f7d073f7314d7e85124c
BLAKE2b-256 9cbc8c6424cacb645300d875f33312b9d02ea1042f87bb778b5863b93bd72bc9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 634b9f5c65a46da0c5c0ba18a317172b93b2548aaded360efcddf8cdc1ed9498
MD5 a24ef1428b10b7e32f67d598dffd6ad1
BLAKE2b-256 9f44f4f7fd3356a0d35975f25c2656ae60728cbd9a2d15624b42451ea1e9bb43

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a64b5a6b4e9daf3725f5a64d0dafb45faeae26672db03f24decaac25a2b7d4e0
MD5 971fb27df703240943f82a170e74b912
BLAKE2b-256 33a320bf1637fab7b3ecf63e23f10f5f29700d829366caf60ec86fbed7bacb1f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11df8d1a43177494c9f8a30212215fb43cafd3111515d52231d304da9e35c047
MD5 885c938f42a9a2609bdfec823417e07c
BLAKE2b-256 b99f4b65fe82b8ed33ff48da040c7181e128573f020f73319d2eb83c64209e9a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.17-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 618.2 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.17-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 d1f3f9cb12d47fedd15598f7469280d19ecb244a6416dbde1450f2a32ca603fd
MD5 04492d9909f2466ceb6933a9889e8917
BLAKE2b-256 6ac15b68c410e6b71fb2a60abae2cf4f0a21577600b1c95f29bafa89fc86bc1f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.17-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 635.2 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.17-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4e4369198be3f80f3e0c913cd7eb089943a9575304f86bd653b08a2a3e078a60
MD5 c8bfdedad6a5585649d9910b416503a0
BLAKE2b-256 b7bb37f0293ecda9f80355b6038a7b145b73f9415a6899b292bc16f658855250

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e7926c169b246147f599e22afad859eaa150f902e7a321ba2892d28e2d2d1d2d
MD5 926d10814c32f69b7b0e2b072a8e0e5a
BLAKE2b-256 90fcf806f9c91b8c6ed0c3909ed82e0f8d8bf19829638e0743b8ce417e477383

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7c9a3a91e6dd2b04bafba242d0189eac2a9ef5a4e8552df43bb5bf602635c053
MD5 a5b8f32efed67df96e50fa349f5d9483
BLAKE2b-256 a342d089001c9d80840e3780d5fd13c00f3fe36258a858b36ccec6d51b03ff0b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 128defd2203aed3a0601e5bd14a77ec9e00eb2d7b3636e9c8d48a05fbdaf5fa7
MD5 afe81846a4fb2c12d0aa06a6efaf314b
BLAKE2b-256 354242762b8a82a80b803034874c6a8c154d60dfd9e533f114c4f926ecd8d00c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.17-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 618.3 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.17-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 daaa39963fd83c9d5d272b15f68433fd02a6ae102bddf3477b4f8a5374037098
MD5 9774abadf40c2ae3082a04fbe6fc9e12
BLAKE2b-256 79a525db5d5f769ffb3d9c2fc36accf94fd4b88b17b4e9b175989ee16230abc9

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.17-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 634.0 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.17-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7352a4cb784bee93004725291bd82146a13630634c71ddd55cdad838e09b7794
MD5 e11cd44dabce23fb32d29034fb3e3a36
BLAKE2b-256 831316de4cafca176473a33a84a47841c7c1fb5adda1f7996196d8adf32d16e1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9e932130daa2301bea306bf07709c94a30e563347e0d0f777f29c785aa7e904
MD5 efb7f38bd55450302be8a065b56f29d3
BLAKE2b-256 73bdf035f659344fda2d5146c59f006e19fc1283f9e80e09da4c2902e9b2ea31

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0f8f12540f340245d0ba74082bd5753792ca5ccfb6636780999788e780a13e6b
MD5 b46d9dbcd436c46ad4663665b83b5ec2
BLAKE2b-256 ea7a29e3ca710005e75eab2788cd4ff518811a7dc6c4d645bc5a4cd6b3be670c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 58e8f93db7ff349b898f6e0239d4eba24272414e5b6ccc7cbb34a69f2d4ccb80
MD5 c34abf38851f761052a5ecaf6e577ee9
BLAKE2b-256 8c0722e5f1adf98c0723c8bf230a5dcbf7879f370d964a762a827425e75593f5

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.17-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 617.6 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.17-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 775b4177c04ba89f12e7632fb1e0b1ad580aa599ed2317ac9a864f182cebf3f2
MD5 c9acc67c857b6a92ed80a646e0d6f0e4
BLAKE2b-256 cb829eecb0aeb304e49dd24a401e559aee2d03ea787d977193ded38ece0eb761

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.17-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 632.6 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.17-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0d67e57557fb15435f6b88770d14f9e1961a936565dc7ff3bed600e71cc98d24
MD5 d7879393dfc4143b57c7c123c01c1ce0
BLAKE2b-256 1a9a10673bb11db666424e351347836f1fc20b23eed93a0d32f6ba9de85592f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 69690382196a7d8bbcae2249a45c4fe7a213c0ed9a2b36cc10a1a9473e93b565
MD5 e8936320e6eabfbe2bf9d4ef61a84491
BLAKE2b-256 b65791b608eb8d8f7b976cd026bd348a1ffb2f9f77239ef0d42970368ae8653b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b9e1abb867bdbf5d1a0a2d96afafc106f2839c8b91236f13ba2c30f8689782d1
MD5 6093fc0faa5d35ed36953b94249b23e7
BLAKE2b-256 3b78a087af02c4fa0466b9fbc532b0a9f667bc43515de4a35cb9ccbbc783e229

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.17-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b8ee84cf902078b14968602f93531104e189822fd30a0a8c7150d61176f991c
MD5 133c8292a190ef4fd304e7370aad9f45
BLAKE2b-256 d641c29eb6e7dc6317ba2ea10a661176ee2c59b867d89abb44ed6facaf0234bd

See more details on using hashes here.

Provenance

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

This release

0.10.17 This release

26 files

0.10.16

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