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.

Metadata

Release files for goldenphonetic 0.2.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 goldenphonetic 0.2.0
File Size Uploaded Provenance Actions
goldenphonetic-0.2.0.tar.gz 64.7 kB Without provenance Details for goldenphonetic-0.2.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for goldenphonetic 0.2.0
File Actions
goldenphonetic-0.2.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for goldenphonetic-0.2.0-cp311-abi3-win_amd64.whl
goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64 Details for goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl
goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.28+ ARM64 Details for goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl
goldenphonetic-0.2.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details for goldenphonetic-0.2.0-cp311-abi3-macosx_11_0_arm64.whl
goldenphonetic-0.2.0-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details for goldenphonetic-0.2.0-cp311-abi3-macosx_10_12_x86_64.whl

Total release size: 1.4 MB

Release files / goldenphonetic-0.2.0.tar.gz

Download URL goldenphonetic-0.2.0.tar.gz
Size 64.7 kB
Tags Source
SHA-256 checksum
How to use checksums
76441a7b131b91f1f4bdda3c2312534c135c067b2af036ff3ef3f977ff05edba
BLAKE2b-256 checksum
How to use checksums
2ab040e51aa67c23d5f0282a3744cf06425adb9e17c5d899f508d14b50d7a934
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / goldenphonetic-0.2.0-cp311-abi3-win_amd64.whl

Download URL goldenphonetic-0.2.0-cp311-abi3-win_amd64.whl
Size 159.0 kB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
c047b76d063bf344d546cd90018aa158d26b0b84793066c5a39a2a70607839c4
BLAKE2b-256 checksum
How to use checksums
482c5e52ae6151e725d2235352bdc461e9c1a9f57291fd1c607e7e2d77ad1530
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_x86_64.whl
Size 293.5 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
47a441c36e8bed54b24007f2ec37fbed8c69fbd16cd3683b3b3f270cf2d17093
BLAKE2b-256 checksum
How to use checksums
599b7f50b442d3d990cbf9dd64f9dfb9533e4473cc5aad9ae84876e5a328268a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL goldenphonetic-0.2.0-cp311-abi3-manylinux_2_28_aarch64.whl
Size 312.1 kB
Tags CPython 3.11 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
9827625e1807df5c51e9a9371bcb48e4faf2dcd3e2f269352a54d9ef5e043fb8
BLAKE2b-256 checksum
How to use checksums
9bb74e9051ab856898ae662c8d490628e45fe7b33d508ddf670a01ee3fa19996
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / goldenphonetic-0.2.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL goldenphonetic-0.2.0-cp311-abi3-macosx_11_0_arm64.whl
Size 290.6 kB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
21264846b4407e670274fca4c97fc0aee9c82c833e7506bc23b2720e666f988c
BLAKE2b-256 checksum
How to use checksums
4a515f2149dc8cc9e7d68140da5761a0102749ff92928449adcf5b579be9ca24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / goldenphonetic-0.2.0-cp311-abi3-macosx_10_12_x86_64.whl

Download URL goldenphonetic-0.2.0-cp311-abi3-macosx_10_12_x86_64.whl
Size 289.8 kB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
fb86b4608742cb52bff997b34a9a91b902ac06ff6cdc2431b015a5d75bc4c98e
BLAKE2b-256 checksum
How to use checksums
60f1eea0497adb2551f351d5dac9653ade2b60f29213fa8b51b5c4f2143040c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Security for goldenphonetic 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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