Python interface to libcrm114
Project description
pycrm114
Pythonic bindings for crm114
CRM114 - the Controllable Regex Mutilator
CRM114 is a system to examine incoming e-mail, system log streams, data files or other data streams, and to sort, filter, or alter the incoming files or data streams according to the user’s wildest desires.
—crm114.sourceforge.net
Quickstart
No persistence
import pycrm114
crm = pycrm114.CRM114(classes=["spam", "ham"])
crm.learn("spam", "foo bar")
crm.learn("ham", "bar is good")
assert crm.classify("is bar good")["class"] == "ham"
assert crm.classify("foo bar good")["class"] == "spam"
crm.forget("spam", "foo bar")
assert crm.classify("foo bar good")["class"] == "ham"
File System Persistence
import pycrm114
crm = pycrm114.CRM114(
classes=["spam", "ham"],
storage=pycrm.storage.FileSystemStorage("/var/tmp/crm-test")
)
crm.learn("spam", "foo bar")
crm.learn("ham", "bar is good")
crm.save()
new_crm = pycrm114.CRM114(
classes=["spam", "ham"],
storage=pycrm.storage.FileSystemStorage("/var/tmp/crm-test")
)
assert new_crm.classify("is bar good")["class"] == "ham"
assert new_crm.classify("foo bar good")["class"] == "spam"
Dependencies
Debian/Ubuntu: sudo apt-get install libtre5 libtre-dev
OS X: brew install tre
Tests
Dependencies
pip install -r requirements/test.txt
To test against different python versions use tox:
tox
To run the tests with the active python:
python setup.py build && nosetests tests
Building
python setup.py build
References
Changelog
0.2.3 2015-04-19
Documentation tweaks
0.2.2 2015-04-18
Added a forget method to unlearn a text from a class
0.2.0 2015-04-18
Python 3 compatibility
Added a Pythonic wrapper with a potentially pluggable storage backend
Support for dumping control block/data block to string instead of file
Added basic tests
0.1.0 2015-04-10
Initial import from pmundkur/libcrm114
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
File details
Details for the file pycrm114-0.2.3.tar.gz
.
File metadata
- Download URL: pycrm114-0.2.3.tar.gz
- Upload date:
- Size: 244.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34eeefa66fd45afea5a96e54de3bcf912c7f1b0e91a8582cef18746f18165295 |
|
MD5 | 5029ec0709313ddf8643c7b8bde70dcf |
|
BLAKE2b-256 | 05418622fa99a2dafdc27b85ee5af747d9ceeffb6fe417116ba7de9a5a24d913 |