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

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).

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"))

# 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.0.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.0.0
File Size Uploaded Provenance Actions
libzim-4.0.0.tar.gz 69.0 kB Without provenance Details for libzim-4.0.0.tar.gz

Built distributions (wheels)

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

Total release size: 209.0 MB

Release files / libzim-4.0.0.tar.gz

Download URL libzim-4.0.0.tar.gz
Size 69.0 kB
Tags Source
SHA-256 checksum
How to use checksums
62abec6606745c154f76db2fd8215a9cfbb14d7ab98361b50f7dcb30d3dff8d9
BLAKE2b-256 checksum
How to use checksums
a7b57e127c3eb9d3e00ece2c5ceb6bfdae63eb5cdb17ee9a8e215abf0cf65cb3
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.0.0-cp315-cp315t-win_amd64.whl

Download URL libzim-4.0.0-cp315-cp315t-win_amd64.whl
Size 16.7 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
bac2044fb9eab2367162971b389d0bdc72c3c8fac19b7a00843d1f39a7540fe4
BLAKE2b-256 checksum
How to use checksums
2586442b4e01e9a8768afc56115a9e6ef11a3f9821dbc5216ef8f789f6f211b2
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.0.0-cp315-cp315t-musllinux_1_2_x86_64.whl

Download URL libzim-4.0.0-cp315-cp315t-musllinux_1_2_x86_64.whl
Size 12.3 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5ebfbee0eac45bca58bb83e2280b219036e64974cb9729de67ea72754cc7dcec
BLAKE2b-256 checksum
How to use checksums
e9c28cd3204f06225c807c215b4d1c23dff3e54c3755a0ccdde864895db89041
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.0.0-cp315-cp315t-musllinux_1_2_aarch64.whl

Download URL libzim-4.0.0-cp315-cp315t-musllinux_1_2_aarch64.whl
Size 12.0 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
5c10487c0f4fb0b38e99dd121600fe84b0cc4758f873ae616759abdb71e1867f
BLAKE2b-256 checksum
How to use checksums
9050f10f204812040b8efddd8d02824ccd187fa32582180a6925f4ea6b149e3b
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.0.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL libzim-4.0.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 11.0 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
deb2b89dd778dba9fb9579917772ec831e99f40762cd23fb84e4f7ea15120ac4
BLAKE2b-256 checksum
How to use checksums
28dbcc472f940cc371225b7c90cd8de644c27420686611e6947a7cb7f6a7a5ab
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.0.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL libzim-4.0.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.8 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
5d9a0befdf20509658b9d2003a730c815767e91d74ec56ed40e1a7a39560767c
BLAKE2b-256 checksum
How to use checksums
8628e583794f58d85869679311c57ed99ef1598ebe1c907e6064cd8838826905
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.0.0-cp315-cp315t-macosx_13_0_x86_64.whl

Download URL libzim-4.0.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
fa81793bdb48fae2534c928c71127e4f4984d5eb47dd05e308211cad4f3ff076
BLAKE2b-256 checksum
How to use checksums
082a7d90c45fd43cf0643294cdbc118f70f2d5611afca66364d3a8da73dc3be1
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.0.0-cp315-cp315t-macosx_13_0_arm64.whl

Download URL libzim-4.0.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
32625ab2008b9275c415bde33d96ca321dedf300aa5ca4d0ab18b26186cb2aab
BLAKE2b-256 checksum
How to use checksums
19dfe5cb14df762bbc9ca5e7a586202d151c2ed0fd49cce11a5066c290b2c3e6
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.0.0-cp314-cp314t-win_amd64.whl

Download URL libzim-4.0.0-cp314-cp314t-win_amd64.whl
Size 16.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
56cc67ea46a69214cc002b40232a6017ef33417045b36a6325a4afd59af8e3a9
BLAKE2b-256 checksum
How to use checksums
4c80ea1417c15945a5e48c14ea194205740626a7a38a534c649024f8edba14a7
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.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL libzim-4.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 12.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
be6cf2488feada644d1cbec387d67b12c4b9090fced7d688e3ba0c6913dacb7b
BLAKE2b-256 checksum
How to use checksums
c4a0285e9b6c967f026f8e788645d01d4d81913b1dec38a60bc0a987129aea72
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.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL libzim-4.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 12.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
f9a854f8f048f67581315c3c3795c922163234eee86547635aa203e90aeb02c1
BLAKE2b-256 checksum
How to use checksums
28c4a30b5a5fbaf7ff2418e732315761b50449dff7a0072cdbdc15d63ac3fb48
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.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL libzim-4.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 11.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
85a82b89118275914402eb9e9e8753b40230355a28cf9107d52b37be217444a3
BLAKE2b-256 checksum
How to use checksums
832f4560ddaab18638ef08ee14fb95211f5af02e69ba9fe0ca685719f2ea5e34
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.0.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL libzim-4.0.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.8 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
0c0a2907eecd91ae3209bb85049123a8d6614ad9119ce414d1c7f690e1058918
BLAKE2b-256 checksum
How to use checksums
3517ee820e09b53380cb71a28b41707f2f96e694cbac61fbba6719a1692b6a84
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.0.0-cp314-cp314t-macosx_13_0_x86_64.whl

Download URL libzim-4.0.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
2f980e16df8575a9af73855307c9233da4aaad02e037038f33c9a3befe415c9f
BLAKE2b-256 checksum
How to use checksums
0f8f76ec803ee5eb1c5adb58f87520d281320ecb59f58042e27712393449d474
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.0.0-cp314-cp314t-macosx_13_0_arm64.whl

Download URL libzim-4.0.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
046ba397f0cd4ca4e1822ee981cfa1e20570551e1399f2349bef7766907fe3a7
BLAKE2b-256 checksum
How to use checksums
5b5b103649561db9e7ad22ea496eb9411b2f6c190c8a731573a506faa8325ada
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.0.0-cp311-abi3-win_amd64.whl

Download URL libzim-4.0.0-cp311-abi3-win_amd64.whl
Size 16.0 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
90167307e7f559a588b6b535d745cd0b8168a56c803777178803630dcdebc597
BLAKE2b-256 checksum
How to use checksums
ea9e71b824fcc36826eda9e75360538c8462a4f3a09fb358e059ecda9d24f128
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.0.0-cp311-abi3-musllinux_1_2_x86_64.whl

Download URL libzim-4.0.0-cp311-abi3-musllinux_1_2_x86_64.whl
Size 12.3 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
86dc69d33216f9e5a30a65bcdc5f61f0b00d8a4b5261e2839e4fc1025c18a047
BLAKE2b-256 checksum
How to use checksums
5ce78dd46f71aa7e1dd26716798c2d059822a97305f2033f20d6ac96e8049e24
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.0.0-cp311-abi3-musllinux_1_2_aarch64.whl

Download URL libzim-4.0.0-cp311-abi3-musllinux_1_2_aarch64.whl
Size 12.0 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
187dda741ce17d285506796fd3a4955d8eb9d65702117a8d823d23bd619bc248
BLAKE2b-256 checksum
How to use checksums
7b520afe081b679c23c015ea10345132c9b5833de7b10c4357a52db0515f8602
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.0.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL libzim-4.0.0-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 11.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
a5ba6f9e742c59842785f7befbbdd55f4bad9be7803bb87b2ee2cf9643430245
BLAKE2b-256 checksum
How to use checksums
838eb850a01d3b5aab2be0b04fa586222caed5aa265906ed9d5e112177c988f3
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.0.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL libzim-4.0.0-cp311-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.7 MB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
43eb8d7c38e419a2673a09f27060286c2e2fb7b1cfed9e3e7c6e27be8f53327b
BLAKE2b-256 checksum
How to use checksums
58613cdc92357de38e71ea3ec74befa73240404da0b30ebae9b4fcb2fbf43b08
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.0.0-cp311-abi3-macosx_13_0_x86_64.whl

Download URL libzim-4.0.0-cp311-abi3-macosx_13_0_x86_64.whl
Size 3.6 MB
Tags CPython 3.11 abi3 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
e69b4806f1c322a521e6f1beb7036a15bfe5608391a56dd52acfa6bcc61f812a
BLAKE2b-256 checksum
How to use checksums
103628deddebf37ae4d5c7cd4e78e9a9211dae4de197b61a546fdc81777103cb
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.0.0-cp311-abi3-macosx_13_0_arm64.whl

Download URL libzim-4.0.0-cp311-abi3-macosx_13_0_arm64.whl
Size 3.3 MB
Tags CPython 3.11 abi3 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
18a0d90ff8de69ebebe479ee49c8c26dbf9ffaa353641733c770576443d64261
BLAKE2b-256 checksum
How to use checksums
059adf15ea951f7e2322478c346e18d7d7acac9bc7fe4b595e5fd5f0dadb8b3a
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.0.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