Skip to main content

goldenphonetic

Fast, byte-identical-to-jellyfish phonetic encoders. A thin PyO3 wheel over the pyo3-free goldenphonetic-core Rust crate, with zero runtime dependencies.

import goldenphonetic as gp

gp.soundex("Robert")               # -> 'R163'   (American Soundex)
gp.metaphone("Thompson")           # -> '0MPSN'  (original Metaphone, Philips 1990)
gp.nysiis("Catherine")             # -> 'CATARAN'
gp.match_rating_codex("Byrne")     # -> 'BYRN'   (Match Rating Approach codex)
gp.match_rating_comparison("Byrne", "Boern")   # -> True

Every function is a byte-for-byte drop-in for the corresponding function in the Python jellyfish package (>= 1.0), including jellyfish's exact uppercasing and Unicode (NFKD / grapheme) handling — verified against jellyfish over a 6,000-input + 2,500-pair fuzz corpus (goldenphonetic-core/scripts/check_phonetic_parity.py), with no jellyfish at runtime.

Functions

Function Returns Notes
soundex(s) str American Soundex
metaphone(s) str Original Metaphone (Lawrence Philips, 1990) — not double-metaphone
nysiis(s) str NYSIIS
match_rating_codex(s) str Match Rating Approach codex
match_rating_comparison(s1, s2) bool or None MRA comparison

Error semantics (mirrors jellyfish exactly)

  • match_rating_codex raises ValueError when the input contains any non-alphabetic, non-space character ("O'Brien", "Smith-Jones", "123").
  • match_rating_comparison never raises — it returns None when the two codices can't be compared: a codex-length difference of 3 or more (match_rating_comparison("Tim", "Timothy") is None), or either input rejected by the codex (non-alphabetic).

Unicode

Inputs are uppercased with the same algorithm jellyfish uses, then soundex/metaphone apply full NFKD decomposition (vendored as generated static data — no unicode-normalization dependency) and nysiis segments grapheme clusters (UAX-29 GB9 over a vendored combining-mark table). Accented names match in both precomposed and decomposed form.

Part of the golden suite.

Download files

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

Source Distribution

goldenphonetic-0.2.0.tar.gz (64.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

goldenphonetic-0.2.0-cp311-abi3-win_amd64.whl (159.0 kB view details)

Uploaded CPython 3.11+Windows x86-64

goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl (293.5 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ x86-64

goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl (312.1 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

goldenphonetic-0.2.0-cp311-abi3-macosx_11_0_arm64.whl (290.6 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

goldenphonetic-0.2.0-cp311-abi3-macosx_10_12_x86_64.whl (289.8 kB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

Details for the file goldenphonetic-0.2.0.tar.gz.

File metadata

  • Download URL: goldenphonetic-0.2.0.tar.gz
  • Upload date:
  • Size: 64.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for goldenphonetic-0.2.0.tar.gz
Algorithm Hash digest
SHA256 76441a7b131b91f1f4bdda3c2312534c135c067b2af036ff3ef3f977ff05edba
MD5 752b2631149d3490d6eae218056150e6
BLAKE2b-256 2ab040e51aa67c23d5f0282a3744cf06425adb9e17c5d899f508d14b50d7a934

See more details on using hashes here.

File details

Details for the file goldenphonetic-0.2.0-cp311-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for goldenphonetic-0.2.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c047b76d063bf344d546cd90018aa158d26b0b84793066c5a39a2a70607839c4
MD5 65abc613b5fc236ce2221f6b04181aa2
BLAKE2b-256 482c5e52ae6151e725d2235352bdc461e9c1a9f57291fd1c607e7e2d77ad1530

See more details on using hashes here.

File details

Details for the file goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 47a441c36e8bed54b24007f2ec37fbed8c69fbd16cd3683b3b3f270cf2d17093
MD5 afd4e9962198744035179f7188b9fedc
BLAKE2b-256 599b7f50b442d3d990cbf9dd64f9dfb9533e4473cc5aad9ae84876e5a328268a

See more details on using hashes here.

File details

Details for the file goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9827625e1807df5c51e9a9371bcb48e4faf2dcd3e2f269352a54d9ef5e043fb8
MD5 ebd5e898a89b5c18d5f3813b90da061f
BLAKE2b-256 9bb74e9051ab856898ae662c8d490628e45fe7b33d508ddf670a01ee3fa19996

See more details on using hashes here.

File details

Details for the file goldenphonetic-0.2.0-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for goldenphonetic-0.2.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21264846b4407e670274fca4c97fc0aee9c82c833e7506bc23b2720e666f988c
MD5 0156aedded370c04afffe7e87316c5f1
BLAKE2b-256 4a515f2149dc8cc9e7d68140da5761a0102749ff92928449adcf5b579be9ca24

See more details on using hashes here.

File details

Details for the file goldenphonetic-0.2.0-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for goldenphonetic-0.2.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fb86b4608742cb52bff997b34a9a91b902ac06ff6cdc2431b015a5d75bc4c98e
MD5 ee3a2ae3f2a1b7773aba1797db4d37ca
BLAKE2b-256 60f1eea0497adb2551f351d5dac9653ade2b60f29213fa8b51b5c4f2143040c6

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

6 files

0.1.1

6 files

0.1.0

6 files

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