spamfilter is a lightweight, fast and straightforward Python library that helps you to build your own spam filtering pipelines in order to keep your applications featuring user-generated content clean.
It's object-oriented and makes a quick, concise approach to remove spam easy. spamfilter is highly configurable and ships with deep integrations for third-party APIs, 🤗 Transformers AI/ML text classifiers and language models via OpenAI.
Important links
You can install spamfilter by cloning the GitHub repository, downloading it from the GitHub page or using pip - which is the recommended approach:
pip install spamfilterPlease see the installation guide for more information and methods on how to install spamfilter and its dependencies, especially if you plan to use API or machine learning functionality as this requires additional dependencies.
The most basic primer into the spamfilter library is defining a pipeline using several filters stacked on top of each other.
from spamfilter.filters import Length, SpecialChars
from spamfilter.pipelines import Pipeline
# create a new pipeline
m = Pipeline([
# length of 10 to 200 chars, crop if needed
Length(min_=10, max_=200, mode="crop"),
# limit use of special characters
SpecialChars(mode="normal")
])
# test a string against it
TEST_STRING = "This is a test string."
print(m.check(TEST_STRING).passed)Output:
True
This project is published under the MIT License.
Feel free to contribute to the project using the GitHub repository. Additions to the spam filters, pipelines and documentation are always welcome!
Learn more here if you're interested in helping out!