Skip to main content

Retrieve, store and query information about Regional Internet Registries

Project description

Retrieve, store and query information about Regional Internet Registries

Build_Status codecov PyPI_Version Python_Version

Installation

pip install iprir

Usage

Query by ip:

>>> import iprir
>>> from ipaddress import IPv4Address, IPv6Address
>>> iprir.by_ip(IPv4Address('8.8.8.8'))
RIRRecord(country='US', type='ipv4', start='8.0.0.0', value='16777216', status='allocated')

Attributes of RIRRecord:

>>> record = iprir.by_ip(IPv4Address('8.8.8.8'))
>>> record.ipv4
IPv4Address('8.0.0.0')
>>> record.ipv4_network
IPv4Network('8.0.0.0/8')
>>> record.length
16777216
>>> record.as_int
134217728

Use IpSet:

>>> us = iprir.by_country('ipv4', 'US')
>>> IPv4Address('8.8.4.4') in us
True
>>> IPv4Address('1.2.3.4') in us
False
>>> from iprir.ipset import IpSet
>>> db = iprir.get_db()
>>> us_and_ca_v6 = IpSet(db.by_country('ipv6', 'US') + db.by_country('ipv6', 'CA'))
>>> IPv6Address('2001:4860:4860::8888') in us_and_ca_v6
True

Update database:

# update text db and sqlite db
python3 -m iprir.updater

# show more choices
python3 -m iprir.updater -h

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iprir-0.3.0.dev0.tar.gz (8.7 kB view hashes)

Uploaded Source

Built Distribution

iprir-0.3.0.dev0-py3-none-any.whl (12.4 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page