Skip to main content
# Homoglyphs

Homoglyphs -- python library for getting [homoglyphs](https://en.wikipedia.org/wiki/Homoglyph) and converting to ASCII.


## Features

It's like [confusable_homoglyphs](https://github.com/vhf/confusable_homoglyphs) but with some features:

* Load only needed alphabet to memory.
* Work as quick as possible.
* Converting to ASCII.
* More configurable.
* More stable.


## Usage

```python
from homoglyphs import Homoglyphs, STRATEGY_LOAD, STRATEGY_IGNORE, STRATEGY_REMOVE

# detect category
Homoglyphs.detect_category('s')
# 'LATIN'
Homoglyphs.detect_category('ё')
# 'CYRILLIC'
Homoglyphs.detect_category('.')
# 'COMMON'

# get latin combinations (by default initiated only latin alphabet)
Homoglyphs().get_combinations('q')
# ['q', '𝐪', '𝑞', '𝒒', '𝓆', '𝓺', '𝔮', '𝕢', '𝖖', '𝗊', '𝗾', '𝘲', '𝙦', '𝚚']

# load alphabet on init by categories
Homoglyphs(categories=('LATIN', 'COMMON', 'CYRILLIC')).get_combinations('гы')
# ['rы', 'гы', 'ꭇы', 'ꭈы', '𝐫ы', '𝑟ы', '𝒓ы', '𝓇ы', '𝓻ы', '𝔯ы', '𝕣ы', '𝖗ы', '𝗋ы', '𝗿ы', '𝘳ы', '𝙧ы', '𝚛ы']

# load alphabet by demand
Homoglyphs(strategy=STRATEGY_LOAD).get_combinations('гы')
# ['rы', 'гы', 'ꭇы', 'ꭈы', '𝐫ы', '𝑟ы', '𝒓ы', '𝓇ы', '𝓻ы', '𝔯ы', '𝕣ы', '𝖗ы', '𝗋ы', '𝗿ы', '𝘳ы', '𝙧ы', '𝚛ы']

# convert to ASCII
Homoglyphs(strategy=STRATEGY_LOAD).to_ascii('тест')
# ['tect']
Homoglyphs(strategy=STRATEGY_LOAD).to_ascii('ХР123.') # this is cyrillic "х" and "р"
# ['XP123.', 'XPI23.', 'XPl23.']

# string with chars which can't be converted by default will be ignored
Homoglyphs(strategy=STRATEGY_LOAD).to_ascii('лол')
# []

# you can set strategy for removing not converted non-ASCII chars from result
Homoglyphs(strategy=STRATEGY_LOAD, ascii_strategy=STRATEGY_REMOVE).to_ascii('лол')
# ['o']
```

Download files

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

Source Distribution

homoglyphs-1.0.0.tar.gz (7.0 kB view details)

Uploaded Source

File details

Details for the file homoglyphs-1.0.0.tar.gz.

File metadata

  • Download URL: homoglyphs-1.0.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for homoglyphs-1.0.0.tar.gz
Algorithm Hash digest
SHA256 85c48d6752f339a63eac378cf5a001f3407e663086c2670ddef06dd368504a48
MD5 c686ca9a451af7a756e8cf29817ef58e
BLAKE2b-256 f3eea942500eaa20405e3007d8308c10ea14a33d852978bb5abcd17e89e23efc

See more details on using hashes here.

Release history Release notifications | RSS feed

2.0.4

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.3.5

2 files

1.3.4

1 file

1.3.3

1 file

1.3.2

1 file

1.3.1

1 file

1.3.0

1 file

1.2.5

1 file

1.2.4

1 file

1.2.3

1 file

1.2.2

1 file

1.2.1

1 file

1.2.0

1 file

1.0.1

1 file

This release

1.0.0 This release

1 file

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