Read and write numbers in alphabetic numeral systems
Project description
Omninumeric
🌏 English Русский
Omninumeric provides support for number reading and writing in alphabetic numeral systems.
Supported numeral systems
- Cyrillic
- Roman - numbers up to 3999
- Byzantian Greek - WIP
- Modern Greek - planned
- Hebrew - planned
Background
See Introduction to learn about Cyrillic numeral system.
Installation
pip install omninumeric
Usage
# Convert a number into Roman numeral system
# Requires non-zero int, returns str
from omninumeric import roman
a = roman.write(1)
# Convert a Cyrillic number to Arabic numeral system
# Requires non-empty str, returns int
from omninumeric import cyrillic
b = cyrillic.read("а҃")
For Greek-type numeral systems, "Delimiter" and "plain" style numbers are supported both for reading and writing. "Plain" style is used by default for writing.
For Cyrillic numeral system, several falgs can be used for writing:
# DELIM flag sets conversion to "delimeter" style
c = cyrillic.write(111111, cyrillic.DELIM)
# NOTITLO flag omits "titlo" decorator
d = cyrillic.write(11000, cyrillic.DELIM | cyrillic.NOTITLO)
# Following flags control dot styling:
#
# ENDDOT - append dot at the end
# WRAPDOT - append dot at both ends
# DELIMDOT - add dot separator between digit groups. Sets conversion to "delim" style
# ALLDOT - combine WRAPDOT and DELIMDOT
Contributing
Create an issue describing a bug or suggestion, then create a pull request mentioning the issue.
Feedback
Drop me a line: amshoor@gmail.com
Changelog
See Changelog.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
omninumeric-2.1.0.tar.gz
(10.5 kB
view hashes)
Built Distribution
Close
Hashes for omninumeric-2.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72e2b0aa8cf755b0b391cff4630040a0ceb879a75b5bf9b14c0bd209c17ea89f |
|
MD5 | 4aafb63f4a44a30c1ecc4c41e7aa80ff |
|
BLAKE2b-256 | ee8af0f23797f031b79e38bb85448c135c0bd123ba3025c538480f9f357c3a0a |