Ipwhois

Latest version: v1.3.0

Safety actively analyzes 710445 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

0.14.0

-------------------

- Changed legacy whois emails output type to list (133)
- Fixed retry count non-decrementing infinite loop in
ipwhois.net.Net.get_whois() (issue 125 - krader1961)
- Added new function ipwhois.net.Net.get_http_raw() and tests (67)
- Added National Internet Registry (JPNIC, KRNIC) support (67). Enabled by
default in IPWhois.lookup_*(). Disable by passing inc_nir=False. Optionally,
lower level code can call nir.NIRWhois(). This enhancement results in extra
network queries, but more detailed information for NIRs.
- Added utils CLI (ipwhois_utils_cli.py) - 121. Installed to your environments
Scripts dir. This is a wrapper for utils.py.
- Documentation improvements (123)
- kw arg readability (115)
- Replaced usage of args with script_args in ipwhois_cli.py
- Minor optimization in whois.py and online/test_whois.py
- Added coveralls integration and re-enabled online tests with Travis CI
- Added Read the Docs support (132)
- Added documentation (Sphinx) requirements.txt (132)
- Fixed test imports
- Added --json argument (output in JSON format) to ipwhois_cli.py (135)

0.13.0

-------------------

- Added events_actor parsing for RDAP results.
- Added example for caching data via Redis (81)
- Added normalization (human-readable field information) in hr.py (47)
- README word wrap fix (102)
- Fixed bug in exception handling for ASN HTTP lookups.
- Fixed bug in IPWhois.lookup_rdap() that caused ASN HTTP lookup responses to
be used in place of RDAP responses.
- Added new function Net.get_asn_http() and migrated code from
Net.lookup_asn() + new tests.
- Fixed bug in ASN HTTP fallback lookups for DNIC (108).
- Added new parameter extra_org_map in Net.get_asn_http(), Net.lookup_asn(),
and IPWhois.lookup*() (108).
- Fixed _RDAPCommon.summarize_notices() None check - changed len() to all().
- Added CLI (ipwhois_cli.py) - 46. Installed to your environments Scripts dir.
This is a wrapper for ipwhois.py (IPWhois). Utils CLI will be in a future
release (121).
- Documentation split up and added more detail (81).

0.12.0

-------------------

- Added headers parameter to ipwhois.Net.get_http_json() (issue 98).
- Fixed ASN HTTP lookup (fallback) Accept headers (issue 98).
- Fixed HTTP decoding, set to utf-8 (italomaia - issue 97)
- IPWhois.lookup() deprecated (issue 96), and will be removed in a future
release (TBD). Use IPWhois.lookup_whois() instead.
- Added rate_limit_timeout parameter (issue 99) to Net.get_http_json(),
IPWhois.lookup_rdap(), and RDAP.lookup(). New exception HTTPRateLimitError.
- Added new parameter asn_alts to Net.lookup_asn(), IPWhois.lookup_rdap() and
IPWhois.lookup(). Takes a list of lookup types to attempt if the
ASN dns lookup fails. Allow permutations must be enabled. Defaults to all
['whois', 'http'] (issue 93).
- Fixed socket exception handling in Net.get_http_json() for Python 2.6.
- Fixed assertIsInstance for Python 2.6 tests (issue 100). Implemented
unittest._formatMessage and unittest.util.safe_repr for Python 2.6.
- Moved TestCommon to tests\\__init__.py to avoid duplicate code.
- Replaced remaining % with str.format (issue 95).

0.11.2

-------------------

- Added allow_permutations parameter (bool) to net.Net() and ipwhois.IPWhois()
to allow alternate ASN lookups if DNS lookups fail. (FirefighterBlu3)
- Fixed ASN DNS resolver timeout/retry_count support. Retry count is used as a
multiplier of timeout, to determine a limetime interval. (FirefighterBlu3)
- Fixed bug where remarks would return None if missing a title.
- Added CONTRIBUTING.rst
- Added tests

0.11.1

-------------------

- Re-added CIDR calculation for RDAP lookups.
- Improved tests - core code coverage now 100%. See ' pragma: no cover' for
exclusions. A few bugs were identified in the process, detailed below.
- Moved IP zero stripping from rdap._RDAPNetwork.parse() to new helper function
utils.ipv4_lstrip_zeros().
- Moved CIDR calculation from rdap._RDAPNetwork.parse() to new helper function
utils.calculate_cidr().
- Fixed utils.ipv4_is_defined() if statement ordering for RFC 1918 conflict.
- Fixed utils.ipv6_is_defined() if statement ordering for Unspecified and
Loopback (conflict with Reserved).
- Added is_offline parameter to whois.Whois.lookup() primarily for testing.
- Fixed bug in whois.Whois._parse_fields() that attempted to parse 'val2' of
regex, which is no longer used. Also fixed the expected Exception to be
IndexError.
- Fixed bug in ipwhois.IPWhois.lookup() where the argument order was mixed up,
causing referral lookups to be skipped when get_referral=True.
- Fixed bug in rdap._RDAPCommon.summarize_notices() output for links.
- Fixed bug in root entity iteration exception handling in rdap.RDAP.lookup().

0.11.0

-------------------

- Support for REST lookups replaced with RDAP.
- Split code for a more structured system (net, whois, rdap, exceptions).
- Tests match the data new structure.
- Split tests for online and offline testing.
- Performance enhancements for parsing.
- Added an optional bootstrap parameter for RDAP lookups, in order to replace
ASN lookups or use both. Will default to False. Afrinic is currently not
supported, so I would not use this for now. ARIN acknowledged my issue
for this, and will be adding support back in for Afrinic bootstrap.
- Added field_list parameter (inclusion list) for WHOIS lookups.
- Added logging.
- Added examples directory.

Page 2 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.