cached-ipaddress
Cache construction of ipaddress objects
Decision gist · record as of 2026-08-14
Yes, if your application repeatedly processes the same IP addresses and profiles show ipaddress object construction as a bottleneck. The permissive MIT license and active maintenance make it low-risk. Install friction is moderate due to the compiled propcache dependency, but the wheel is available for modern Python versions. Skip it if you process mostly unique IPs or don't measure ipaddress overhead as significant.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Medium install friction due to a compiled wheel dependency (propcache).
- Active maintenance with a recent release; last commit was 2026-08-10.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute this package freely as long as you include the license notice.
last release 2026-05-27 (79 days) · last repo commit 2026-08-10 · 3 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 94,608 downloads/mo, #13,320 on PyPI
Alternatives
Verify before relying
from cached_ipaddress import cached_ip_addresses
ip = cached_ip_addresses("127.0.0.1")
if ip:
print(ip.is_loopback) # True- Whether the cache is thread-safe or suitable for concurrent access patterns.
- Memory footprint and eviction strategy for the internal cache under high-volume IP address streams.
- Performance improvement magnitude compared to direct ipaddress module use in typical workloads.
What it is and what it does
cached-ipaddress wraps Python's standard ipaddress module to maintain an in-memory cache of IP address objects and their computed properties. When you call cached_ip_addresses() with a string, it returns a cached IPAddress object if one already exists for that address, or constructs and caches a new one. This avoids the overhead of repeatedly parsing and constructing the same IP addresses—useful in network monitoring, device discovery, or any scenario where you process many IP addresses with high repetition.
The package depends on propcache for efficient property caching on the underlying objects. It returns None for invalid IP address strings rather than raising an exception, making it safe to use in defensive code paths. The module is lightweight and designed as a drop-in optimization for applications that already use the ipaddress module.
Use it for
- Network monitoring systems that repeatedly check properties of the same source or destination IPs.
- IoT or Bluetooth device discovery where you encounter the same device addresses across multiple scan cycles.
- Log parsing or traffic analysis where IP addresses repeat frequently and you need fast property checks.
- Caching layers in network security tools that classify or filter IPs by type (loopback, private, multicast, etc.).
- High-frequency network telemetry collection where the same peer addresses appear in many packets.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if your application repeatedly processes the same IP addresses and profiles show ipaddress object construction as a bottleneck.
The permissive MIT license and active maintenance make it low-risk. Install friction is moderate due to the compiled propcache dependency, but the wheel is available for modern Python versions. Skip it if you process mostly unique IPs or don't measure ipaddress overhead as significant.
Install
cached-ipaddress on PyPI
Before you install
Medium install friction due to a compiled wheel dependency (propcache). Active maintenance with a recent release; last commit was 2026-08-10. Supports Python 3.9 through 3.14.
Requires Python 3.9 or later.
License in practice
MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute this package freely as long as you include the license notice.
Quickstart
from cached_ipaddress import cached_ip_addresses
ip = cached_ip_addresses("127.0.0.1")
if ip:
print(ip.is_loopback) # True
Verify before relying
- Whether the cache is thread-safe or suitable for concurrent access patterns.
- Memory footprint and eviction strategy for the internal cache under high-volume IP address streams.
- Performance improvement magnitude compared to direct ipaddress module use in typical workloads.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagepropcache |
| Maintenance | Actively maintained 79 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 94,608 / month, #13,320 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries |
Evidence: cached_ipaddress-1.1.2-cp314-cp314-manylinux_2_41_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “ip address caching”
- cached-ipaddressCaches IP address object construction and property lookups to avoid…
- ipaddrProvides utilities for parsing, validating, and manipulating IPv4 and…
- ipaddressProvides IPv4 and IPv6 address manipulation for Python 2.6, 2.7, and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also aiooui · ipaddr · ipaddress · bluetooth-adapters · netaddr · python-ipware · types-ipaddress · aiozoneinfo · aiodhcpwatcher · multiaddr