./geography/py-maxminddb, Reader for the MaxMind DB format

[ Image CVSweb ] [ Image Homepage ] [ Image RSS ] [ Image Required by ] [ Image Add to tracker ]


Branch: CURRENT, Version: 3.1.1, Package name: py313-maxminddb-3.1.1, Maintainer: pkgsrc-users

This is a Python module for reading MaxMind DB files. The module includes both
a pure Python reader and an optional C extension.

MaxMind DB is a binary file format that stores data indexed by IP address
subnets (IPv4 or IPv6).


Master sites:

Filesize: 207.432 KB

Version history: (Expand)


CVS history: (Expand)


   2026-03-06 07:22:39 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-maxminddb: updated to 3.1.1

3.1.1 (2026-03-05)

* The vendored ``libmaxminddb`` has been updated to 1.13.3. This includes
  a fix for the validation of empty maps and arrays at the end of the
  metadata section. Previously, the extension would incorrectly reject
  databases where a 0-element map or array was the last field in metadata.
   2026-03-02 16:18:41 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-maxminddb: updated to 3.1.0

3.1.0 (2026-02-24)

* The vendored ``libmaxminddb`` has been updated to 1.13.1. This includes
  several security hardening improvements when reading corrupt or malicious
  database files, including fixes for integer overflows, bounds checking, and
  use-after-free prevention.
   2025-12-03 15:18:12 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-maxminddb: updated to 3.0.0

3.0.0 (2025-10-15)

* IMPORTANT: Python 3.10 or greater is required. If you are using an older
  version, please use an earlier release.
* Databases can now be loaded from buffers. This can be done by passing in a
  buffer as the database and using mode ``MODE_FD``. Pull request by Emanuel
  Seemann.
* The C extension now supports Python 3.13+ free-threading mode and is
  thread-safe for concurrent reads on platforms with pthread support (such as
  Linux and macOS) and Windows. On other platforms, the extension will use
  GIL-based protection.
* The C extension now uses PEP 489 multi-phase initialization, enabling
  proper subinterpreter support and module isolation for Python 3.12+. This
  modernizes the extension to use heap types instead of static types and
  implements per-module state management. Key benefits include support for
  Python 3.12+ isolated subinterpreters, multiple independent module
  instances, and future-proofing for Python 3.14's InterpreterPoolExecutor.
* **BREAKING**: The pure Python ``maxminddb.reader.Metadata`` class has been
  converted to a frozen dataclass. The ``__repr__`` format has changed from
  ``maxminddb.reader.Metadata(...)`` to ``Metadata(...)``. More importantly,
  all Metadata attributes are now readonly and cannot be modified after
  creation. If you were modifying metadata attributes after object creation,
  you will need to update your code. All functionality remains the same,
  including the ``node_byte_size`` and ``search_tree_size`` properties. Note:
  The C extension's Metadata class has always been readonly, so this change
  brings the pure Python implementation into consistency with the C extension.
* MODE constants have been converted to an ``IntEnum`` (``maxminddb.const.Mode``).
  The old constants (``MODE_AUTO``, ``MODE_FILE``, etc.) remain available for
  backward compatibility and are now aliases to the enum members. This provides
  better IDE support and type safety while maintaining full backward
  compatibility. You can now use either ``Mode.FILE`` or ``MODE_FILE`` - both
  work identically. Since ``IntEnum`` is int-compatible, existing code using
  the constants will continue to work without modification.
   2025-08-10 11:10:31 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-maxminddb: updated to 2.8.2

2.8.2 (2025-07-25)

* Pyodide binary wheels will no longer be built by default. It is not possible to
  upload these to PyPI currently. We may consider reenabling them and putting them
  on the GitHub Releases page in the future if there is interest.

2.8.1 (2025-07-25)

* When upgrading to ``cibuildwheel`` 3.0.0, we inadvertently changed the artifact
  names, causing the wheels to not be uploaded to PyPI. This release fixes that.
  There are no other code changes. Report by David Hotham.

2.8.0 (2025-07-25)

* Python 3.14 is now officially supported, including binary wheels.
* We have updated the platforms that we build binary wheels for. In particular,
  we now build wheels for Android, iOS, Windows Arm, and Pyodide, and we have
  dropped 686 (32 bit), ppc64le, and s390x builds on Linux.
   2025-05-07 15:53:36 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-maxminddb: updated to 2.7.0

2.7.0 (2025-05-05)

* IMPORTANT: Python 3.9 or greater is required. If you are using an older
  version, please use an earlier release.
* The vendored ``libmaxminddb`` has been updated to 1.12.2.
* The C extension now checks that the database metadata lookup was
  successful.
* A theoretical segmentation fault with the C extension when doing lookups
  on a corrupt or invalid database was fixed.
   2025-04-16 16:38:57 by Adam Ciarcinski | Files touched by this commit (14)
Log message:
Fix for setuptools>=78; bump revision
   2025-01-23 18:36:19 by Havard Eidnes | Files touched by this commit (1)
Log message:
geography/py-maxminddb: use atomic64.mk to fix build on NetBSD/powerpc w/py3.13.
   2025-01-15 16:12:37 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-maxminddb: updated to 2.6.3

2.6.3 (2025-01-09)

* The vendored ``libmaxminddb`` has been updated to 1.12.0. This fixes a
  memory leak when opening a database fails.
* Binary wheels are now built for Python 3.13.