Skip to main content

python-libzim

libzim module allows you to read and write ZIM files in Python. It provides a shallow python interface on top of the C++ libzim library.

It is primarily used in openZIM scrapers like sotoki or youtube2zim.

Build Status CodeFactor License: GPL v3 PyPI version shields.io PyPI - Python Version codecov Read the Docs

Installation

pip install libzim

Our PyPI wheels bundle a recent release of the C++ libzim and are available for the following platforms:

  • macOS for x86_64 and arm64
  • GNU/Linux for x86_64, armhf and aarch64
  • Linux+musl for x86_64 and aarch64
  • Windows for x64
  • Android for arm64_v8a and x86_64 with CPython 3.13+

Wheels are available for CPython only (but can be built for Pypy).

Free-threaded CPython is supported: the extension declares itself free-threading compatible, so importing it no longer forces the GIL back on. Only few methods support the GIL to be disabled; you must still prevent concurrent access to shared objects yourself (see Thread safety).

Users on other platforms can install the source distribution (see Building below).

Writer support is decided when the extension is built, not when it is installed: there is no install-time extra for it. Set LIBZIM_WITHOUT_WRITER=1 when building against a libzim compiled without writer support; such a build exposes the reader, search, suggestion, illustration and version modules only. Import libzim.writer in a try/except ImportError block to detect writer support at runtime. Android wheels are built without writer support, since libzim is compiled without it for Android.

Contributions

git clone git@github.com:openzim/python-libzim.git && cd python-libzim
# hatch run test:coverage

See CONTRIBUTING.md for additional details then Open a ticket or submit a Pull Request on Github 🤗!

Usage

Read a ZIM file

from libzim.reader import Archive
from libzim.search import Query, Searcher
from libzim.suggestion import SuggestionSearcher

zim = Archive("test.zim")
print(f"Main entry is at {zim.main_entry.get_item().path}")
entry = zim.get_entry_by_path("home/fr")
print(f"Entry {entry.title} at {entry.path} is {entry.get_item().size}b.")
print(bytes(entry.get_item().content).decode("UTF-8"))

# iterating over all entries (in the most efficient order to read them)
for entry in zim:
    print(entry.path, entry.title)

# searching using full-text index
search_string = "Welcome"
query = Query().set_query(search_string)
searcher = Searcher(zim)  # or Searcher() followed by searcher.add_archive(...)
search = searcher.search(query)
search_count = search.get_estimated_matches()
print(f"there are {search_count} matches for {search_string}")
for result in search.get_results(0, search_count):
    print(result.archive, result.path, result.title, result.snippet)

# accessing suggestions
search_string = "kiwix"
suggestion_searcher = SuggestionSearcher(zim)
suggestion = suggestion_searcher.suggest(search_string)
suggestion_count = suggestion.get_estimated_matches()
print(f"there are {suggestion_count} matches for {search_string}")
print(list(suggestion.get_results(0, suggestion_count)))

Write a ZIM file

import base64
import pathlib

from libzim.writer import Creator, Item, StringProvider, FileProvider, Hint


class MyItem(Item):
    def __init__(self, title, path, content="", fpath=None):
        super().__init__()
        self.path = path
        self.title = title
        self.content = content
        self.fpath = fpath

    def get_path(self):
        return self.path

    def get_title(self):
        return self.title

    def get_mimetype(self):
        return "text/html"

    def get_contentprovider(self):
        if self.fpath is not None:
            return FileProvider(self.fpath)
        return StringProvider(self.content)

    def get_hints(self):
        return {Hint.FRONT_ARTICLE: True}


content = """<html><head><meta charset="UTF-8"><title>Web Page Title</title></head>
<body><h1>Welcome to this ZIM</h1><p>Kiwix</p></body></html>"""

pathlib.Path("home-fr.html").write_text(
    """<html><head><meta charset="UTF-8">
    <title>Bonjour</title></head>
    <body><h1>this is home-fr</h1></body></html>"""
)

item = MyItem("Hello Kiwix", "home", content)
item2 = MyItem("Bonjour Kiwix", "home/fr", None, "home-fr.html")

# illustration = pathlib.Path("icon48x48.png").read_bytes()
illustration = base64.b64decode(
    "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAAGXRFWHRTb2Z0d2FyZQBB"
    "ZG9iZSBJbWFnZVJlYWR5ccllPAAAAANQTFRFR3BMgvrS0gAAAAF0Uk5TAEDm2GYAAAAN"
    "SURBVBjTY2AYBdQEAAFQAAGn4toWAAAAAElFTkSuQmCC"
)

with Creator("test.zim").config_indexing(True, "eng") as creator:
    creator.set_mainpath("home")
    creator.add_item(item)
    creator.add_item(item2)
    # square illustration at scale 1
    creator.add_illustration(illustration, 48)
    for name, value in {
        "creator": "python-libzim",
        "description": "Created in python",
        "name": "my-zim",
        "publisher": "You",
        "title": "Test ZIM",
        "language": "eng",
        "date": "2024-06-30",
    }.items():

        creator.add_metadata(name.title(), value)

Thread safety

The reading part of the libzim is most of the time thread safe. Searching and creating part are not. libzim documentation

python-libzim disables the GIL on most of C++ libzim calls. You must prevent concurrent access yourself. This is easily done by wrapping all creator calls with a threading.Lock()

lock = threading.Lock()
with Creator("test.zim") as creator:

    # Thread #1
    with lock:
        creator.add_item(item1)

    # Thread #2
    with lock:
        creator.add_item(item2)

Type hints

libzim being a binary extension, there is no Python source to provide types information. We provide them as type stub files. When using pyright, you would normally receive a warning when importing from libzim as there could be discrepencies between actual sources and the (manually crafted) stub files.

You can disable the warning via reportMissingModuleSource = "none".

Building

libzim package building offers different behaviors via environment variables

Variable Example Use case
LIBZIM_DL_VERSION 8.1.1 or 2023-04-14 Specify the C++ libzim binary version to download and bundle. Either a release version string or a date, in which case it downloads a nightly
USE_SYSTEM_LIBZIM 1 Uses LDFLAG and CFLAGS to find the libzim to link against. Resulting wheel won't bundle C++ libzim.
DONT_DOWNLOAD_LIBZIM 1 Disable downloading of C++ libzim. Place headers in include/ and libzim dylib/so in libzim/ if no using system libzim. It will be bundled in wheel.
PROFILE 0 Enable profile tracing in Cython extension. Required for Cython code coverage reporting.
SIGN_APPLE 1 Set to sign and notarize the extension for macOS. Requires following informations
APPLE_SIGNING_IDENTITY Developer ID Application: OrgName (ID) Required for signing on macOS
APPLE_SIGNING_KEYCHAIN_PATH /tmp/build.keychain Path to the Keychain containing the certificate to sign for macOS with
APPLE_SIGNING_KEYCHAIN_PROFILE build Name of the profile in the specified Keychain

Building on Windows

On Windows, built wheels needs to be fixed post-build to move the bundled DLLs (libzim and libicu) next to the wrapper (Windows does not support runtime path).

After building you wheel, run

python setup.py repair_win_wheel --wheel=dist/xxx.whl --destdir wheels\

Similarily, if you install as editable (pip install -e .), you need to place those DLLs at the root of the repo.

Move-Item -Force -Path .\libzim\*.dll -Destination .\

Examples

Default: downloading and bundling most appropriate libzim release binary
python3 -m build

Using system libzim (brew, debian or manually installed) - not bundled

# using system-installed C++ libzim
brew install libzim  # macOS
apt-get install libzim-devel  # debian
dnf install libzim-dev  # fedora
USE_SYSTEM_LIBZIM=1 python3 -m build --wheel

# using a specific C++ libzim
USE_SYSTEM_LIBZIM=1 \
CFLAGS="-I/usr/local/include" \
LDFLAGS="-L/usr/local/lib"
DYLD_LIBRARY_PATH="/usr/local/lib" \
LD_LIBRARY_PATH="/usr/local/lib" \
python3 -m build --wheel

Other platforms

On platforms for which there is no official binary available, you'd have to compile C++ libzim from source first then either use DONT_DOWNLOAD_LIBZIM or USE_SYSTEM_LIBZIM.

License

GPLv3 or later, see LICENSE for more details.

Metadata

Release files for libzim 4.1.0

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

Source distribution (sdist)

Source distribution for libzim 4.1.0
File Size Uploaded Provenance Actions
libzim-4.1.0.tar.gz 72.7 kB Without provenance Details for libzim-4.1.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for libzim 4.1.0
File Actions
libzim-4.1.0-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details for libzim-4.1.0-cp315-cp315t-win_amd64.whl
libzim-4.1.0-cp315-cp315t-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64 Details for libzim-4.1.0-cp315-cp315t-musllinux_1_2_x86_64.whl
libzim-4.1.0-cp315-cp315t-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64 Details for libzim-4.1.0-cp315-cp315t-musllinux_1_2_aarch64.whl
libzim-4.1.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for libzim-4.1.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
libzim-4.1.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for libzim-4.1.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
libzim-4.1.0-cp315-cp315t-macosx_13_0_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 13.0+ x86-64 Details for libzim-4.1.0-cp315-cp315t-macosx_13_0_x86_64.whl
libzim-4.1.0-cp315-cp315t-macosx_13_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 13.0+ ARM64 Details for libzim-4.1.0-cp315-cp315t-macosx_13_0_arm64.whl
libzim-4.1.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for libzim-4.1.0-cp314-cp314t-win_amd64.whl
libzim-4.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details for libzim-4.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl
libzim-4.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details for libzim-4.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl
libzim-4.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for libzim-4.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
libzim-4.1.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for libzim-4.1.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
libzim-4.1.0-cp314-cp314t-macosx_13_0_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 13.0+ x86-64 Details for libzim-4.1.0-cp314-cp314t-macosx_13_0_x86_64.whl
libzim-4.1.0-cp314-cp314t-macosx_13_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 13.0+ ARM64 Details for libzim-4.1.0-cp314-cp314t-macosx_13_0_arm64.whl
libzim-4.1.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for libzim-4.1.0-cp311-abi3-win_amd64.whl
libzim-4.1.0-cp311-abi3-musllinux_1_2_x86_64.whl CPython 3.11 abi3 Linux musl 1.2+ x86-64 Details for libzim-4.1.0-cp311-abi3-musllinux_1_2_x86_64.whl
libzim-4.1.0-cp311-abi3-musllinux_1_2_aarch64.whl CPython 3.11 abi3 Linux musl 1.2+ ARM64 Details for libzim-4.1.0-cp311-abi3-musllinux_1_2_aarch64.whl
libzim-4.1.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for libzim-4.1.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
libzim-4.1.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details for libzim-4.1.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
libzim-4.1.0-cp311-abi3-macosx_13_0_x86_64.whl CPython 3.11 abi3 macOS 13.0+ x86-64 Details for libzim-4.1.0-cp311-abi3-macosx_13_0_x86_64.whl
libzim-4.1.0-cp311-abi3-macosx_13_0_arm64.whl CPython 3.11 abi3 macOS 13.0+ ARM64 Details for libzim-4.1.0-cp311-abi3-macosx_13_0_arm64.whl

Total release size: 316.0 MB

Release files / libzim-4.1.0.tar.gz

Download URL libzim-4.1.0.tar.gz
Size 72.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fe2b07af5a27bfde6ac8620cd2d35328b5b012ab4c8c48ecdf0a82901248cd01
BLAKE2b-256 checksum
How to use checksums
b898698efd326ecd15e45ba651250b7444945909c39ef2781c6a0e4ceba333b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp315-cp315t-win_amd64.whl

Download URL libzim-4.1.0-cp315-cp315t-win_amd64.whl
Size 16.8 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
237d81de414e4d8dc696a0acaaf6fff84451ed263ea5438c8cd81f5804815993
BLAKE2b-256 checksum
How to use checksums
29cb317b5cf79343088d3160d5fff65f18e1f4acf9f8ec5478660f1b9952f4a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp315-cp315t-musllinux_1_2_x86_64.whl

Download URL libzim-4.1.0-cp315-cp315t-musllinux_1_2_x86_64.whl
Size 21.3 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8de4bbee3897bf27282cf4ab9a6562551e4de511046085b96cec8d2bb018843e
BLAKE2b-256 checksum
How to use checksums
cfa8c4bc750e5120e0303b9b4f8cb2ee3f75b7a50c3a487388251cc85c3f424c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp315-cp315t-musllinux_1_2_aarch64.whl

Download URL libzim-4.1.0-cp315-cp315t-musllinux_1_2_aarch64.whl
Size 20.8 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
6158c31c5e4a07dc8fe2acfd9b08eaa287392b66f81ac834f9e6fa8657a8f681
BLAKE2b-256 checksum
How to use checksums
d0902031566b2258ccd68ee7db77f14a30709f2ef1fabb13a54d77c5648e6520
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL libzim-4.1.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 20.1 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5cd842780963a387d5f303e1301addc75d0f3de4ca21e37bea7ea7e05398b173
BLAKE2b-256 checksum
How to use checksums
abfdb822fa2d83354424f754c86bcf088dea714236ec1c74bfe20b1cfbe9ff9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL libzim-4.1.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 19.6 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b41596893d94d4030345575bc32d9279cdd3bede7acfc9cdd68a85c056b5bfe7
BLAKE2b-256 checksum
How to use checksums
1584af8670b166b40121f2bf928a571e4cd7cbf2e8e08f90aaf910be18d04041
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp315-cp315t-macosx_13_0_x86_64.whl

Download URL libzim-4.1.0-cp315-cp315t-macosx_13_0_x86_64.whl
Size 3.7 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
ce4b8c014794f85ef4687b6d0beb18628f6cb933c75af9472bfa30c36b329764
BLAKE2b-256 checksum
How to use checksums
78b0f899b7ae989c843284cf3e4d55c16f7deef6f8f28c2b51b6e883b12cddc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp315-cp315t-macosx_13_0_arm64.whl

Download URL libzim-4.1.0-cp315-cp315t-macosx_13_0_arm64.whl
Size 3.4 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
fb2f3bd09510bfb709adf3e3f61b7340aca84c85074999cf6664b8e88247076a
BLAKE2b-256 checksum
How to use checksums
7ecc385dcbbd664ba75760634fdc4f36891afe019f6001a873185dcf58c9d2a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp314-cp314t-win_amd64.whl

Download URL libzim-4.1.0-cp314-cp314t-win_amd64.whl
Size 16.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
4b4e75aba8f1211fe47a81915b68f514dc0d850662e63506454f82f0351b1b1c
BLAKE2b-256 checksum
How to use checksums
79f3ccb24c8963d3b72bdee6a86816f5f1aca1f6f67bce286c823e8e78e3968b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL libzim-4.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 21.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f7772e66d62a55f7561899ec061217333997598967f2187c456ac57efc4d3406
BLAKE2b-256 checksum
How to use checksums
b06a2bea22438f14ed92c626b6fbae46e33bbc2869dc23cafe8454ce2dc5159b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL libzim-4.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 20.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
dedea2f9e79e783565fc5b539a589faf1e1fc841efd6bc0c259cca3d4700a065
BLAKE2b-256 checksum
How to use checksums
a7dd6346f0276a013685ab817321f86e59db80f0aa86f19c3259969cc6ff76c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL libzim-4.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 20.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
664e05e4541cf0a2e6f04fac84dd3b808dafb36b71eac0694e2f5cf94bff021a
BLAKE2b-256 checksum
How to use checksums
8010c8b7b68d6e0689b480c0ecafb625f4d9b4ae3ee9981d87ae1528afa28005
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL libzim-4.1.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 19.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e1b77a822ff41e95fb142e87f0c3d5d1fca7ce48a8902325f7f21141ef95ee0e
BLAKE2b-256 checksum
How to use checksums
5866b5da59d8b131206e05e8bfa7d9ff425cfe0412ff9552ce7c7aaaa55f8fd1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp314-cp314t-macosx_13_0_x86_64.whl

Download URL libzim-4.1.0-cp314-cp314t-macosx_13_0_x86_64.whl
Size 3.7 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
122b39478bf2eba396d01491fe6b08ad0f226fcd6891022412b95b6c37b8fe89
BLAKE2b-256 checksum
How to use checksums
4c329a38b698124085e3aaa91bc819518a88ae6383f650ec23fb7eaab588c18f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp314-cp314t-macosx_13_0_arm64.whl

Download URL libzim-4.1.0-cp314-cp314t-macosx_13_0_arm64.whl
Size 3.4 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
e4f796c60bb769c73169466fb5892ca7976d27585fe006d5b7a7ee2b131f6027
BLAKE2b-256 checksum
How to use checksums
1afdbaa1aed99d3b5b0c8a8c35f13e4cd8c2d21b89d70c69ac7b36a4b131720d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp311-abi3-win_amd64.whl

Download URL libzim-4.1.0-cp311-abi3-win_amd64.whl
Size 16.1 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
dca423764a70bfe9420f0f5f4697ed6d9f2615f63b7bd37a75c0e616522d988e
BLAKE2b-256 checksum
How to use checksums
6280de104dc819d7bb3aa33c896e8bbac624ad2dfc60e44eabf63621e8e11beb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp311-abi3-musllinux_1_2_x86_64.whl

Download URL libzim-4.1.0-cp311-abi3-musllinux_1_2_x86_64.whl
Size 21.3 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
f50b61424f0b81f1a3a219ffb7c8c6d6213c3c6b2cee3e5b9336219cfe126211
BLAKE2b-256 checksum
How to use checksums
bbd7c9dc8f75977d72eb9ca0a24a2bfd23eaa9dbedeffb29c27ba9e40add941a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp311-abi3-musllinux_1_2_aarch64.whl

Download URL libzim-4.1.0-cp311-abi3-musllinux_1_2_aarch64.whl
Size 20.8 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
a71ea670673fd3ec0a025cb597a1813d449dda695897a8c112b598f293b27315
BLAKE2b-256 checksum
How to use checksums
8d898941c2015941acedb3c72c04457ad64f2b7574fc3006dcdcc1cc87646c1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL libzim-4.1.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 20.0 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
cd26c60e90a2d7f619a6db98e89892d1f429cdbb80d47a4318a659b1d985db1f
BLAKE2b-256 checksum
How to use checksums
52bda87402490110377c1411ef83b802f64ac1cc76ab7654ce1802a8b42ac9a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL libzim-4.1.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 19.6 MB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
791fccae1b3364c310320326dfea0277bc4677cb72719472ab9591750dd4a5e8
BLAKE2b-256 checksum
How to use checksums
cb2b4a36963684f181b023cfd9be3db930ae817a437a9bac788d8b2e89bc1c31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp311-abi3-macosx_13_0_x86_64.whl

Download URL libzim-4.1.0-cp311-abi3-macosx_13_0_x86_64.whl
Size 3.7 MB
Tags CPython 3.11 abi3 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
af2be7b69053ba822a1030ad49be50e3ab5d8c266357926475221d717149589c
BLAKE2b-256 checksum
How to use checksums
7aa87317e14ac3ca83555b34ccafc535c10c32c9e36c8e74cf36c11eb4d11e92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / libzim-4.1.0-cp311-abi3-macosx_13_0_arm64.whl

Download URL libzim-4.1.0-cp311-abi3-macosx_13_0_arm64.whl
Size 3.4 MB
Tags CPython 3.11 abi3 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
a381bdd4afd7db7524f631d91485e4687fd1498354e4ecf47f51c12750913bf6
BLAKE2b-256 checksum
How to use checksums
a68b6defb7c0ba251174b3a62dfc44dd553ae4dfd7bf0bbb61c6b89f47f65848
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for libzim 4.1.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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