Skip to main content

A library for querying custom and third party web address blacklists and whitelists.

Features

  • client classes for Google Safe Browsing Lookup API and hpHosts services

  • support for custom DNSBL service clients

  • preconfigured clients for SURBL, Spamhaus ZEN and Spamhaus DBL

  • support for querying and populating custom host whitelists and blacklists

  • combining multiple URL testers into a composite tester

  • optional querying for redirect URL addresses when using a composite URL tester

  • support for Python 2 and 3

Usage

Simple test for membership of a host value in a host blacklist:

>>> from spam_lists import SPAMHAUS_DBL
>>> 'dbltest.com' in SPAMHAUS_DBL
True

lookup(host_value) method returns a named tuple containing:

  • a listed host that is a parent of a searched domain, or a listed ip address equal to one searched in the blacklist

  • source of the returned information as an instance of the client used to search for the value

  • a set of classificiation terms associated with the value

>>> SPAMHAUS_DBL.lookup('dbltest.com')
AddressListItem(value=u'dbltest.com', ...)

Testing if there is any spam URL in a sequence:

>>> urls_to_test = (
'http://google.com',
'http://wikipedia.org',
'http://dbltest.com'
)
>>> SPAMHAUS_DBL.any_match(urls_to_test)
True

Filtering recognized spam URLs out of a sequence of values returns a generator object that yields the spam URLs:

>>> result = SPAMHAUS_DBL.filter_matching(urls_to_test)
>>> result
<generator object <genexpr> at 0xb4f60a7c>
>>> list(result)
['http://dbltest.com']

Calling lookup_matching(urls) returns a generator object yielding instances of the AddressListItem named tuple for matching URLs:

>>> result = SPAMHAUS_DBL.lookup_matching(urls_to_test)
>>> result
<generator object lookup_matching at 0xb4f60e3c>
>>> list(result)
[AddressListItem(value=u'dbltest.com', ...)]

For further information, read spam_lists package docstring.

Installation

Install using pip:

$ pip install spam-lists

To be able to run tests, install test extras:

$ pip install spam-lists[test]

License

MIT

Release files for spam-lists 1.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 spam-lists 1.0.0
File Size Uploaded
spam-lists-1.0.0.tar.gz 30.8 kB Details

Release files / spam-lists-1.0.0.tar.gz

Download URL spam-lists-1.0.0.tar.gz
Size 30.8 kB
Tags Source
SHA-256 checksum
How to use checksums
956e6a6364904a5bc06d8772f87dcd9c9783ef29f3fcb5f3990d06b370b329dd
BLAKE2b-256 checksum
How to use checksums
16f19c6b31a486f87d4f20c73acf47c8abeff8801970d71ac7f409ad03e67d59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
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