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

Uploaded CPython 3.14Windows ARM64

objutils-0.10.18-cp314-cp314-win_amd64.whl (640.0 kB view details)

Uploaded CPython 3.14Windows x86-64

objutils-0.10.18-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (635.5 kB view details)

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

objutils-0.10.18-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (625.3 kB view details)

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

objutils-0.10.18-cp314-cp314-macosx_11_0_arm64.whl (618.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

objutils-0.10.18-cp313-cp313-win_arm64.whl (620.0 kB view details)

Uploaded CPython 3.13Windows ARM64

objutils-0.10.18-cp313-cp313-win_amd64.whl (637.0 kB view details)

Uploaded CPython 3.13Windows x86-64

objutils-0.10.18-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (635.4 kB view details)

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

objutils-0.10.18-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (624.9 kB view details)

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

objutils-0.10.18-cp313-cp313-macosx_11_0_arm64.whl (618.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

objutils-0.10.18-cp312-cp312-win_arm64.whl (619.9 kB view details)

Uploaded CPython 3.12Windows ARM64

objutils-0.10.18-cp312-cp312-win_amd64.whl (637.0 kB view details)

Uploaded CPython 3.12Windows x86-64

objutils-0.10.18-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (635.4 kB view details)

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

objutils-0.10.18-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (625.0 kB view details)

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

objutils-0.10.18-cp312-cp312-macosx_11_0_arm64.whl (618.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

objutils-0.10.18-cp311-cp311-win_arm64.whl (620.0 kB view details)

Uploaded CPython 3.11Windows ARM64

objutils-0.10.18-cp311-cp311-win_amd64.whl (635.8 kB view details)

Uploaded CPython 3.11Windows x86-64

objutils-0.10.18-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (634.8 kB view details)

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

objutils-0.10.18-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (625.5 kB view details)

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

objutils-0.10.18-cp311-cp311-macosx_11_0_arm64.whl (618.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

objutils-0.10.18-cp310-cp310-win_arm64.whl (619.4 kB view details)

Uploaded CPython 3.10Windows ARM64

objutils-0.10.18-cp310-cp310-win_amd64.whl (634.4 kB view details)

Uploaded CPython 3.10Windows x86-64

objutils-0.10.18-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (633.6 kB view details)

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

objutils-0.10.18-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (624.4 kB view details)

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

objutils-0.10.18-cp310-cp310-macosx_11_0_arm64.whl (616.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: objutils-0.10.18.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.18.tar.gz
Algorithm Hash digest
SHA256 f6d88fd3d677c1fa24703335ad2133750f73e332db29152d62505e15ba77b349
MD5 129cdab38e5e7ab992df3071dbc4a0dd
BLAKE2b-256 a19cf37cd0ddea5866016f450dceea515bff101d908add62b2597c3a377c4504

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.18-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 623.8 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.18-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 8cb7840cf0944018ced0e796073adfd8b943d5b06fad48b522d6c148de1b5900
MD5 f87a8d55d79956fb484df4c9ce0648b0
BLAKE2b-256 0f4b101263c35e5e791f248e09ec356bfb984ebc76b05707dbc3a912c775d88c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.18-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 640.0 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for objutils-0.10.18-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5d46dc35b124ebe97c8f9f3f81f2cc56809c0027cdaf040511438f8c4f1850db
MD5 afc4689d547a0630acd49380735bbfbd
BLAKE2b-256 bfdc40498ed8a3823412f26634abd6a3e27aa7ecabd009ec9135d6f000f9089f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f8cffb13516735f661da69e8d5d84911995da285aac36f65b459fdb1fdf8d249
MD5 fe5bd2df28150ec429ada46d47ca30a4
BLAKE2b-256 9a54f0e071dd0292adfecf81871cd66826e51111e8857d464d1f19dab665dec9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0f24d39f788a390b18df72426467b65aa13af2e07e45d2d1c6e207b9feff5846
MD5 2f3b793070e1820a1122fd901813c9aa
BLAKE2b-256 3a535ac5dfc6ad59c273b47ec6fcb46ab4d63264968ce5530ce9222dfb84a90b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 43e644342f81c548597bf44b957cd04665061f222e4bf3860a3aab7f47157645
MD5 334c0a69bdb781942a1884c034b46c15
BLAKE2b-256 9b34a4e375ffac31a34835e8537e295a801a203504c0994c16204fd6b2f8b556

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.18-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 620.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.18-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 3e63a31c8dd87153d626dfd848269e0b4744ca8787c9c3dca3a7aa779a81a9b9
MD5 ef435e7eb4f730426da5e9ba0640c404
BLAKE2b-256 a8e119ce1f060355a9cd4f1630732c5dd5df4ffa73ed66ed39d1ecdd9a4a7b5b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.18-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 637.0 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.18-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 44152609279e8ed64e876556311653992ff21b397039cb5611807f64796cf8fc
MD5 5cf84e4b307d02b3d1770e718e2b08db
BLAKE2b-256 9dc5150cfd696c033f9b07dd2def192a3aef40dff837e39e7a89cb7384603318

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 160037636af694922249399b250cbd4e80f5a423470ea9db85dd237ea48539ea
MD5 29818fcfde4d76e855b1369feb8c982b
BLAKE2b-256 9a294157eb3c737d4048dbe11695bf94130fe3a159e374645351df041322bb16

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d0b71d1c9cfc66718f35f0693519fec5b9f281f5943a430d35320afb0908d5da
MD5 f81c645b0ce9c7e77478c3fbe4d90b14
BLAKE2b-256 be713e35fb7ffe2974343a9089fecbc7d05db119a4ce4f95adfe12131c47511a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 43b6f198ff8db4260529743086dfa3a8aca9883ef2c911fda6be62b70bea2b91
MD5 20fba0c63cf50f4070f078a83e42fc68
BLAKE2b-256 213c4a9504893e733418d96f14d27eb5ff1f0202289c5aa1bd24458822c4fe36

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.18-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 619.9 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.18-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 4554c35c21cfd7bf61937980a9b768925fdaf735642b1e537d3f2ab4ff7e0a32
MD5 4f290644aaff2259f88958d3cc3e5146
BLAKE2b-256 eb953bf374d2b423419164defd78be495c76256f3b53a5ad9269ce1225f45d26

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.18-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 637.0 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.18-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 40b35abb758e1b076195c9715019f0ca27f744ab7a1d7a3d1387e39179081c90
MD5 3bd29c4c1d70d3e8fa0fae1e4edf33dc
BLAKE2b-256 76997c5530d2d68c5eb9a5ca765f75f36f33c5c71646540926dc99e5cc46776e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cd7d13a6ff25a6932e409e19f9fbb14ed7f0e4f5e19616367c0db00f57b1a38a
MD5 c767b1acc5a7bbf1dd178ab9a8ffb9e2
BLAKE2b-256 3b6f8b776f4885632686bc123440db5bacde0bc97c9620a3069a7f3d21c6a785

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e0c6479fdee66cfdd7aaf6d7527266a2d244b2d3b581ce23d81c77ca7b82b00c
MD5 e037962b92f8081d786249fa0ee89b12
BLAKE2b-256 8bf723115a6357bdaae907829934bddba0c469baaaa578c067c40cba6dd5f243

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db110cff606c0ec24703f5e68dfe78c104b8a058e26f047d08f222cea6f41bbc
MD5 7ceb2fbc1136d44160e75f558193d78d
BLAKE2b-256 f7d97a063c08185f4321c121b5cf3fee0e19e6be0bd6374e9c2f8261806be257

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for objutils-0.10.18-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 041726127b13a6c96bc4876cd63380c79f9f1663375e966bff148c5e5a434071
MD5 a7eac7296f4b1fe16db9683e7242e6bb
BLAKE2b-256 7ed74a4ee636621fde68b686757590a0223166dcf43eaeb6ae9b5f729fa851a2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.18-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 635.8 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.18-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 009420a6d1146a7eb14864b16733c1e7217cfb5b6def3a5c739fe043b44dedd8
MD5 3b9959c1e847f78ddd64bb7aa5faffbd
BLAKE2b-256 9fda46bbf9414740f037e3c1d9847fa9cecd527a085417577e679bd9c2c46bf9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cd95fbb30bb76aaf1069c13296af558ce54223926728dbd37e3b2e741ae4203e
MD5 fe7960cda642623aca2ca818f13d7629
BLAKE2b-256 660510927c17e64082ab8e53db28d360f3eb383e47733eadcdea76aa2b194fb1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c043e2fe28cd5e41d6b02ec65eaea18c78314032aa09d2c5ffef7abb4bbd55de
MD5 b6e162ca1e9c0b5eb604b7a099d18284
BLAKE2b-256 f2bda208f73b82168084de1d1ebff8a83eb3501b8b8c414badc8732c4bbdb1b5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ff2ccf4c0753c055131960a38c6a39efab225394f94f18f2ca2f44182a489a7a
MD5 f87b2c37eab982e340f73ce756f5cc3b
BLAKE2b-256 8a8b01f1a0de27c87a687999c61f9b671557f24d32deec61a80918da94f86de4

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for objutils-0.10.18-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 99aceea012ce8c195426a0af82efc2148878ff30e6f5084fe13de6aeb3572254
MD5 22e40525a1f10470e13b84a9f9229431
BLAKE2b-256 28cb2d8996e7e04a85d5bc6c3dfda451ed0ce778db20c0a9b4599bb944a5bdae

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: objutils-0.10.18-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 634.4 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.18-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f95983a7053e93262f2c7cb3cac27019c4f199c6354770a5d6f7c724f3590d2c
MD5 23b2e3cc33c85236eed19ba0399dc58d
BLAKE2b-256 17b630e6c10d9226808ee832ff50f7049604e2e3bbd2f909eb6fa5254db1fe5f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ca172bbba4f7bb23c86b8cf6af614558bdb3ccc7782847562e17170661090252
MD5 1adee28aea9d3ed9d86423c5b59b8291
BLAKE2b-256 2837a5524b46ebb4b8742eaa46e00d4644520f1d0e849ccf6025ad93946b86a8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1a69444e02d87b69109d699c182cbab6db254eb9314573b32de1f9180a66d78e
MD5 a7acc14b8eee5f11a741e17dc421beaf
BLAKE2b-256 2d8edbf8850fd97c14fe0119804b120999bb8f48b7bf764f0a0214c9baf1299a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for objutils-0.10.18-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1039754eb31042290e33b9c0c6f942f1398aca0f619ebfe466bf663c5b4eedd4
MD5 71cbd709908c2c2c2855dee02dca10cd
BLAKE2b-256 4684eb0e8f7f0b6bbc45455e82e7ed2f6954780e5022c540389b864ccd9ba23b

See more details on using hashes here.

Provenance

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

This release

0.10.18 This release

26 files

0.10.17

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