Python client library and examples for the ExisEcho Fuzzy Matching API.
pip install requestsOr install all dependencies:
pip install -r requirements.txtfrom exisecho import ExisEchoClient
# Initialize with your API key
client = ExisEchoClient("your-api-key")
# Find duplicates in your data
records = [
{"id": "1", "fields": {"name": "John Smith"}},
{"id": "2", "fields": {"name": "Jon Smyth"}},
{"id": "3", "fields": {"name": "Jane Doe"}}
]
result = client.find_duplicates(records, threshold=0.7)
print(f"Found {result['summary']['totalMatches']} duplicates")
for match in result["matches"]:
print(f" {match['record1Id']} <-> {match['record2Id']}: {match['score']:.0%}")Request a FREE test API key by emailing: exisllc@gmail.com
Or purchase at: https://www.fuzzy-logic.com/Purchase
| File | Description |
|---|---|
example_basic.py |
Basic duplicate detection |
example_compare_datasets.py |
Compare two datasets |
example_advanced.py |
Advanced options with weighted columns |
- Get your API key
- Update
API_KEYin the example file - Run:
python example_basic.py
client = ExisEchoClient(api_key, base_url=None)Find duplicates within a single dataset.
result = client.find_duplicates(
records, # List of records
matching_columns=None, # Columns to match (optional)
threshold=0.7, # Similarity threshold
max_results=100, # Max matches to return
column_options=None # Per-column options
)Compare two datasets to find matches between them.
result = client.compare_datasets(
source_records, # First dataset
target_records, # Second dataset
matching_columns=None, # Columns to match
threshold=0.7, # Similarity threshold
max_results=100, # Max matches to return
column_options=None # Per-column options
)Get recommended options for common use cases:
# For matching names
name_opts = ExisEchoClient.name_matching_options()
# For matching addresses
addr_opts = ExisEchoClient.address_matching_options()
# For matching phone numbers
phone_opts = ExisEchoClient.phone_matching_options()
# For matching emails
email_opts = ExisEchoClient.email_matching_options()| Option | Type | Description |
|---|---|---|
weight |
float | Importance multiplier (0.1 to 10.0) |
usePhoneticMatching |
bool | Match words that sound alike |
equateSynonyms |
bool | Treat synonyms as equal |
removeHonorifics |
bool | Remove Mr., Mrs., Dr., etc. |
removePunctuation |
bool | Strip special characters |
ignoreCase |
bool | Case-insensitive matching |
ignoreWordOrder |
bool | Match regardless of word order |
removeNonDigits |
bool | Keep only digits |
- Documentation: https://www.fuzzy-logic.com/Api
- Email: exisllc@gmail.com
- Website: https://www.fuzzy-logic.com