Skip to main content

imtypeset

Typeset text for Dear ImGui: paragraphs broken into lines the way TeX breaks them, justified and kerned, formulas written as $...$ set by a math engine, tables, columns, selection and copying, drawn through ImGui's own font atlas into your own windows.

This distribution is the Python route. It is a C++ library and a ctypes package over its C ABI, for an application that runs on the imgui-bundle wheel. The library holds no Dear ImGui of its own: it binds to the one inside the installed imgui-bundle and draws into the application's context. The C++ library, its documentation and the demo are in the repository.

One imtypeset for one imgui-bundle

A library that shares Dear ImGui's structs with another binary is built for exactly that binary. So every file here is built for one imgui-bundle version and requires it exactly, and the version says which:

imtypeset 0.4.1.192900     is imtypeset 0.4.1 for imgui-bundle 1.92.900
imtypeset 0.4.1.192801     is imtypeset 0.4.1 for imgui-bundle 1.92.801

The fourth number is the imgui-bundle version written as one number (1.92.900 is 192900). Pin both, exactly, and move them together:

imgui-bundle==1.92.900
imtypeset==0.4.1.192900
  • imtypeset==0.4.1 matches nothing: the version has four numbers.
  • imtypeset==0.4.1.* beside an exact imgui-bundle==X resolves to the build for X.
  • pip install imtypeset with nothing else pinned takes the newest line and installs the imgui-bundle it was built for, replacing another one.

import imtypeset checks the pair before it loads anything and raises ImportError with a sentence that says what to install if they do not match.

Where there are wheels

CPython imgui-bundle
Linux x86-64, glibc 2.28 or later (manylinux_2_28_x86_64) 3.11, 3.12, 3.13, 3.14 1.92.900, 1.92.801
macOS 14 or later on Apple Silicon (macosx_14_0_arm64) 3.11, 3.12, 3.13, 3.14 1.92.900, 1.92.801

Nowhere else: not Windows, not Linux on arm64 or with musl, not macOS on Intel (for which imgui-bundle has no wheel either). There is no source distribution, so on those pip finds nothing to install and says so; a package that depends on imtypeset should say so with an environment marker (docs/releasing.md has the line).

Using it

import os
import imgui_bundle
from imgui_bundle import imgui
import imtypeset as ts

imgui.create_context()  # an application has one already
imgui.get_io().backend_flags |= imgui.BackendFlags_.renderer_has_textures
ts.create_context()     # after ImGui's context, and destroyed before it
fonts = os.path.join(os.path.dirname(imgui_bundle.__file__), "assets", "fonts")
ts.add_font(ts.Face.Regular, os.path.join(fonts, "DroidSans.ttf"))
doc = ts.Document.from_blocks([ts.Block(text="Text set in lines of even colour, the way TeX sets it.")])
doc.layout(240.0)
print(ts.version(), doc.size(), doc.range_text(((0, 0), (0, 8))))
ts.destroy_context()

That runs with no window and prints 0.4.1 (240.0, 31.0) Text set. In an application the document is laid out and drawn each frame, inside a window:

doc.layout(imgui.get_content_region_avail().x)
at = imgui.get_cursor_screen_pos()
doc.draw(None, (at.x, at.y))  # None: the current window's draw list

imtypeset.host_info() says which library was loaded and how the pair was checked.

More

MIT licence. The wheel carries the notices of what the library derives from (Dear ImGui, fontTools, Unicode data) beside its own licence.

This file

A release has one file per platform and CPython, and a page shows this section from one of them.

  • imtypeset 0.4.1, built for imgui-bundle==1.92.900 (Dear ImGui 1.92.9), CPython 3.11, Darwin arm64.
  • Dear ImGui headers: fork:c9a0a84f8a4ddae794a9e1acf6a93afce73d5057.
  • Checked: imgui-check+probe, 26 probe rows, on 2026-10-13T17:05:15Z (GitHub Actions run 38434871056 of WalterCReel3/imtypeset at e6160c0f83bbb6c7c41dba62ff0736a956ba7d9b).

Metadata

Release files for imtypeset 0.4.1.192900

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for imtypeset 0.4.1.192900
File
imtypeset-0.4.1.192900-cp314-none-manylinux_2_28_x86_64.whl CPython 3.14 none Linux glibc 2.28+ x86-64 Details
imtypeset-0.4.1.192900-cp314-none-macosx_14_0_arm64.whl CPython 3.14 none macOS 14.0+ ARM64 Details
imtypeset-0.4.1.192900-cp313-none-manylinux_2_28_x86_64.whl CPython 3.13 none Linux glibc 2.28+ x86-64 Details
imtypeset-0.4.1.192900-cp313-none-macosx_14_0_arm64.whl CPython 3.13 none macOS 14.0+ ARM64 Details
imtypeset-0.4.1.192900-cp312-none-manylinux_2_28_x86_64.whl CPython 3.12 none Linux glibc 2.28+ x86-64 Details
imtypeset-0.4.1.192900-cp312-none-macosx_14_0_arm64.whl CPython 3.12 none macOS 14.0+ ARM64 Details
imtypeset-0.4.1.192900-cp311-none-manylinux_2_28_x86_64.whl CPython 3.11 none Linux glibc 2.28+ x86-64 Details
imtypeset-0.4.1.192900-cp311-none-macosx_14_0_arm64.whl CPython 3.11 none macOS 14.0+ ARM64 Details

Total release size: 4.8 MB

Release files / imtypeset-0.4.1.192900-cp314-none-manylinux_2_28_x86_64.whl

Download URL imtypeset-0.4.1.192900-cp314-none-manylinux_2_28_x86_64.whl
Size 612.2 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f78e0e16fccfd36154d276321079011100f52e32ddfbbf5facbf656c9e178872
BLAKE2b-256 checksum
How to use checksums
f9bc5abeb9bd65dd779513995e95c49715c89c2d858b48f388ec04173f38869f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192900-cp314-none-macosx_14_0_arm64.whl

Download URL imtypeset-0.4.1.192900-cp314-none-macosx_14_0_arm64.whl
Size 582.0 kB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
c949584fd685c2dd6372286ead880907a96ac114ced3d5e09c8b2ff0f5796173
BLAKE2b-256 checksum
How to use checksums
fcb1cdf01988edb595059ccd9740b2e33e6972e8d09e4338c987a400d34b9625
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192900-cp313-none-manylinux_2_28_x86_64.whl

Download URL imtypeset-0.4.1.192900-cp313-none-manylinux_2_28_x86_64.whl
Size 612.2 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cdff983267a7703b6935b514427e34b878e1b44b83d440c907f35620cf6459af
BLAKE2b-256 checksum
How to use checksums
9dc18c58253ffcd44c9fb560d08892da01b9f17fe74d731da01894d0ce56c28c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192900-cp313-none-macosx_14_0_arm64.whl

Download URL imtypeset-0.4.1.192900-cp313-none-macosx_14_0_arm64.whl
Size 582.0 kB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
956adf7d1edd052ed53b2c0c30277250d11051aece0f960d9a8e9bbb7f6fba93
BLAKE2b-256 checksum
How to use checksums
50b45a4ab2b5c8265fdc1aec0b5bed9823122e9fc1a15bdf483e2a4bce860fb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192900-cp312-none-manylinux_2_28_x86_64.whl

Download URL imtypeset-0.4.1.192900-cp312-none-manylinux_2_28_x86_64.whl
Size 612.2 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cd25e9b7aa40d09be8189bed98c3ccc6c10fd1c9030ad31cce9e4e02084fea89
BLAKE2b-256 checksum
How to use checksums
9ab9c07391b7e7fcdade2b195e57cde854bd42fef1a349bf80370eeeda5d1dff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192900-cp312-none-macosx_14_0_arm64.whl

Download URL imtypeset-0.4.1.192900-cp312-none-macosx_14_0_arm64.whl
Size 582.0 kB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
cc1b3b1134faacb5092583ac051861438311c83b42520480d3901b1a8f36c916
BLAKE2b-256 checksum
How to use checksums
c28a5a356eff4b614fd5d0b475c55d9e1620985397ee65af966070d94648c4c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192900-cp311-none-manylinux_2_28_x86_64.whl

Download URL imtypeset-0.4.1.192900-cp311-none-manylinux_2_28_x86_64.whl
Size 612.2 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4e7b1477bb9482eb0b99e0a244e7d97383cb77ecee05747cfee70a0434ec43ca
BLAKE2b-256 checksum
How to use checksums
bd0976d62ee5b01255ab6a7e1b3b7c226eded58542e73f6d5c9413fa9ea52ad8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192900-cp311-none-macosx_14_0_arm64.whl

Download URL imtypeset-0.4.1.192900-cp311-none-macosx_14_0_arm64.whl
Size 582.0 kB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
1fdc4bee34b188c94bdff685122a5f4168bbc1f8b4ba1a066f111d5e31c6521b
BLAKE2b-256 checksum
How to use checksums
51d8a4a7a34fa7d82f8af8a614f67f8e1a3b73fc99d54eb064d8496eca7a57c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.1.192900 This release

8 release files

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