Metadata-Version: 2.4
Name: ipfy-homoglyph
Version: 1.0.0
Summary: Detect visually confusable domain names using Unicode UTS #39.
Author: IPfy
License-Expression: MIT
Project-URL: Homepage, https://github.com/ipfy/Homoglyph
Project-URL: Repository, https://github.com/ipfy/Homoglyph
Project-URL: Issues, https://github.com/ipfy/Homoglyph/issues
Keywords: homoglyph,homograph,idn,unicode,uts39,confusable
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: build; extra == "dev"
Dynamic: license-file

# Homoglyph for Python

Unicode-aware detection of visually confusable **domain names** using
[Unicode UTS #39](https://www.unicode.org/reports/tr39/) 17.0.0.

This is the native Python implementation of Homoglyph. It provides the core
`detect()` API. It does **not** implement the JavaScript browser helpers
`warn()` and `reject()`.

```bash
pip install ipfy-homoglyph
```

```python
import homoglyph

result = homoglyph.detect("раypal.com")
if result.detected:
    print(result.reason, result.domain, result.rejectable)
```

`detected` means Homoglyph found a UTS #39-relevant issue worth reporting.
It does **not** mean the domain is a phishing site.

See the repository README and `docs/DESIGN.md` for the shared specification.
Runtime data is generated from `unicode/` via `npm run generate`.
