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.1matches nothing: the version has four numbers.imtypeset==0.4.1.*beside an exactimgui-bundle==Xresolves to the build for X.pip install imtypesetwith nothing else pinned takes the newest line and installs theimgui-bundleit 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
- What a wheel is, and what
import imtypesetchecks - What a version promises, and what to pin
- Changelog
- Which Python calls raise, and what
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)
| File | Reset | |||
|---|---|---|---|---|
| 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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