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

Uploaded CPython 3.14Windows ARM64

objutils-0.10.15-cp314-cp314-win_amd64.whl (624.8 kB view details)

Uploaded CPython 3.14Windows x86-64

objutils-0.10.15-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (621.0 kB view details)

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

objutils-0.10.15-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (611.1 kB view details)

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

objutils-0.10.15-cp314-cp314-macosx_11_0_arm64.whl (604.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

objutils-0.10.15-cp313-cp313-win_arm64.whl (605.0 kB view details)

Uploaded CPython 3.13Windows ARM64

objutils-0.10.15-cp313-cp313-win_amd64.whl (621.7 kB view details)

Uploaded CPython 3.13Windows x86-64

objutils-0.10.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (621.0 kB view details)

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

objutils-0.10.15-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (610.9 kB view details)

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

objutils-0.10.15-cp313-cp313-macosx_11_0_arm64.whl (604.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

objutils-0.10.15-cp312-cp312-win_arm64.whl (605.0 kB view details)

Uploaded CPython 3.12Windows ARM64

objutils-0.10.15-cp312-cp312-win_amd64.whl (621.7 kB view details)

Uploaded CPython 3.12Windows x86-64

objutils-0.10.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (620.9 kB view details)

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

objutils-0.10.15-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (610.8 kB view details)

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

objutils-0.10.15-cp312-cp312-macosx_11_0_arm64.whl (604.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

objutils-0.10.15-cp311-cp311-win_arm64.whl (605.1 kB view details)

Uploaded CPython 3.11Windows ARM64

objutils-0.10.15-cp311-cp311-win_amd64.whl (620.5 kB view details)

Uploaded CPython 3.11Windows x86-64

objutils-0.10.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (620.2 kB view details)

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

objutils-0.10.15-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (611.0 kB view details)

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

objutils-0.10.15-cp311-cp311-macosx_11_0_arm64.whl (604.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

objutils-0.10.15-cp310-cp310-win_arm64.whl (604.3 kB view details)

Uploaded CPython 3.10Windows ARM64

objutils-0.10.15-cp310-cp310-win_amd64.whl (619.1 kB view details)

Uploaded CPython 3.10Windows x86-64

objutils-0.10.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (619.4 kB view details)

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

objutils-0.10.15-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (609.9 kB view details)

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

objutils-0.10.15-cp310-cp310-macosx_11_0_arm64.whl (602.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: objutils-0.10.15.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.15.tar.gz
Algorithm Hash digest
SHA256 78b33b48b1d29040daba1101c6475c574e3924405783b9a37ede2b4cd4fad867
MD5 e273734ba81f1981f83502c8c03f0de4
BLAKE2b-256 f973a5157910c165aa56eb3a7973db8c93611ef88f86d3be8d623b91fa718579

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.15-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 608.7 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.15-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 ac8772801189cf1d5de2eee7f3478be297792be9f11f54bfd07ac9d95b8a628a
MD5 544e9a98aeda05324443f0636c86aaba
BLAKE2b-256 2652b85a7a66d5049cc54e206b4fa29b1d25579636d991b839001b91f79e7b13

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.15-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 624.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.15-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3d2cbeb77ef0abf7ea84aeaab3b10fe3da118b499fed2cd9f5ee62c938ae3df5
MD5 709e41530493b63b1f744ea8f9d85eb3
BLAKE2b-256 eec1132c0111f9339061208d8f09319e690eaea16ac034a4fb19c4c4f763f887

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0ecb0280bf2d033d702dd24e217ed5870f970dccc044a429640b7d383a93d4ec
MD5 70e57b91252a6643d36693b5a29ad048
BLAKE2b-256 59c1e0fe083a976a581aa8553c13e12140cfe4a9901d81e8e8998c69a67bfdd5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7df31b476b5549dbd7888663648c8136b39061ca60943ed8f1e5a56adb2e540d
MD5 fd57cf6914458da990ff9a67f5e40fbd
BLAKE2b-256 4c1209ebd822e5737cffe7af110ef629aeb4b1db01f228d8baf964f05abd0baf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 34e341107c82e23dd53c13b784f949aa19000d3dac9ad9a2c423d19b3258ae03
MD5 31bdd7ed4c9a8568ece23797f9d33d35
BLAKE2b-256 c352b68063c539e1f6e360c890c96e6dec83098793c9bc8b8ac78fc276a2235d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.15-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 605.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.15-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 f7101967142a63d12d4307615b0aca71eae0538a6b93c0a3b7d136d46a737a75
MD5 76923d8892088bac069c8a244bdccff1
BLAKE2b-256 2a2d0e2a2821685559ee6b108cef8ab022356ab49aadb44b82aec00a52aecdf3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.15-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 621.7 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.15-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0fbdef95630729985dbf68efb70299d1d2d160c09a0567324d56c34d2a03d572
MD5 dccfec5536069f5f5f27dc6c04e7b756
BLAKE2b-256 7e716f91f5363dc6d86f7ca37b2721ddb92b02fd3a261676036becdef8a7033b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9df839b5a0ac796693c58454c623adf44b5176054d627717dd2a611ebeb73a0f
MD5 e8b4c20b5b3a548ce84b4fb522fcb6d0
BLAKE2b-256 c68bccfd31937c31c989b60c57702de24608eb7c92f26401c8abf2afa0cc66a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 068738019c5ab42015d7fbb0d0e05cb7447db08cc229acdb8be48043594263e8
MD5 c863aa9d17eee66afd6ac9a69e1d3a4d
BLAKE2b-256 cbfddd06b293261ad4716027b38f22014083bfc6c9ac14b723d1a8eaf454a9ba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f14be6b4bbbca195b2e123ca209e6b71d5d8c2a1bbd83995162c098666a0c7a
MD5 ed287b32ffd498a182f4bef3b86a4027
BLAKE2b-256 240fce066978f93cea8d8a2ee2350db404394f6978bb0ac3a6c75dc99ef95d0f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.15-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 605.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.15-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 60530f6f98bdd5337d8c14d6267163ea66c7862549cae9a86472c96f0ccc21aa
MD5 c7f795dceeaefbc605d10136a33faf65
BLAKE2b-256 23af033df7a0d033dfd676cbaa20d30fec129049ad94ba82a39df776c0a4199e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.15-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 621.7 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.15-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6d423d7997bb0ca0a68dbe8e8f75fb2d7910a095d393631eeb3d3136a5925295
MD5 985a635f80c6b11a12d01c94f86bc07d
BLAKE2b-256 23d8b383e41fbce507665d8781e0dfa19a8b589bdb81cbbc5026bc3fe741f9e5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c3c1167f9b04af73c386377b1b05e54e64d994ef107d12e3ce8ef7d128333cab
MD5 aca7c10e7e054dbf39c14dedd6e5e5b9
BLAKE2b-256 78ccdb3405637e4055c9c2ba803dfc5f6b099adb81305d5be817841a5146a711

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 37804d8ee07bb141e889cb23752e58fd3744123cc909e37986bfd14be77fcd95
MD5 73101d7f1a36b3f03c935f8442d165c6
BLAKE2b-256 b695d828379a2ff3c7319f5e05bfd5d0b25a1db8fbf163d43353b6424ffbbd33

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e99651220a18755b5ec215906427fc253fcdf8779a7c083e0e56ab82b4226a23
MD5 076e9d32f133e3a829c73770d85b7fb7
BLAKE2b-256 3dda6e0959e0eff5e4ddea006a58b86c46dfd1bd775817ce0aca59114d50dfc8

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for objutils-0.10.15-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 b7ca9f7ce6fd7ebaa3baea96e7020504a13771ac93e565d5d5a1fa56726440c0
MD5 da54cfeb456de3788d963d271885d75f
BLAKE2b-256 bcd70b870001f9380e26302be4015e4c824da25b9d36df71ca8dece0bf990a12

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.15-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 620.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.15-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 46cc4492c01fe277a02d007bc14470e1456744236d2b52c7d96e22410fb9f361
MD5 582b326f5f8164b51bbf475bb26799db
BLAKE2b-256 89572ed4efd558dcc4a4f0485ed69df8c88622546857d0b5f44fffd45ed89f03

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 04ea27a216e177aa39dd73847e7e541d2fd7e1be05605cce7fb5e4ae6d56ffa5
MD5 5e23bdddef992a6004766f7453a0564c
BLAKE2b-256 77856ed2ea99fccb72a12e2bd2db97dd56710e4d21eccbd671bbb9d145ec36ab

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ff762252e8cbe82cd49e3b877de1b803bb17ef374142eeaf3f1e737a6e760651
MD5 19efee101dfc0778f5834557d9b2cb70
BLAKE2b-256 5e660d27895f5745548fb26fe095d6b722d0193174001b9eb92e41f0de4ff2b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 60216d282be916938ca4199f01513adfe898d825e92cc67470dcb2d1db5c25df
MD5 973d926c6ff55d9fc124db80ed68b059
BLAKE2b-256 644506a489fb8d8771217c4510851b3c364b3b62fa55f12833fbc823472a5b13

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.15-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 604.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.15-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 08f2b6d4d2f02eb4cdd6c7ea6befb3464ea67b045d2cfc979ee44334ba098444
MD5 81ee2711f96e2c65682d795fc383d2fa
BLAKE2b-256 ce863dcecc966da5be1bd148d4bea78b0349929a6d9a9a1a0210dd2712b96a33

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.15-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 619.1 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.15-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5271f583edd05c0d2f73b53e7150da0e75cc08f5e6f15421337d537b06d8cf7a
MD5 b965bc6354e1eaa20b674853d96d6cda
BLAKE2b-256 9e5d134167fa97104251d5f8b3fa923fbceb1851251aaa48d896f8ea9a1dd324

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9ba74c2120766ba1ce7e31d110531ca12a9e0ceaf5854ee632a530b63108f290
MD5 74939df45ca3c4955ba3bd2d5bbb2e0b
BLAKE2b-256 f76eb00e45b6ace2352f177fb510e2b3c36b2a0d6ed9fecfb433dd6e9127af00

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d2d273548bf0c24a22528e78169b33469b743425f23c82fef30ef0bc6b2fb4e3
MD5 41c565e8e226760a1acd2acef3262dd4
BLAKE2b-256 f9f20aa98da1c4d60491052142605fb660f6ba1c2e718a1cd2c38c8cc4b200e3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.15-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f060a70ccedb8bccb1a7c0b7f60f2ca24f6e0078ec333548f9eff1deea5d965d
MD5 e48a829062f14b3ae04707f5c90bbe43
BLAKE2b-256 0d3cfabadf2a4711cf810093f1fe75f4c07eb1cbc5b4b148954fdca303a61c3f

See more details on using hashes here.

Provenance

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

This release

0.10.15 This release

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