Code Monkey home page Code Monkey logo

numbers2words-greek's Introduction

Numbers2Words Greek

PyPI Status Python Version License

Read the documentation at https://Numbers2Words-Greek.readthedocs.io/ Tests Codecov

pre-commit Black

Features

This repository contains code for converting converting numbers to words (e.g. 10 -> δέκα) up until 10^13 - 1 (1 trillion minus one).

  • Convert numbers to greek words.
  • Support for ordinals.
  • Support for certain time formats.

Installation:

You can install Numbers2Words Greek via pip from PyPI:

$ pip install Numbers2Words-Greek

If using poetry, then you can do poetry add Numbers2Words-Greek.

To install this repository locally, in editable mode, do the following:

git clone https://github.com/geoph9/Numbers2Words-Greek.git
cd Numbers2Words-Greek
pip install -e .

If no error occurs then you are fine. To make sure, you may run: python -c "import num2word".

Usage

The numbers2words.py script:

This script contains functionality to convert numbers to their corresponding words in Greek. It only handles positive numbers (you can easily change it to handle negative ones) and can also handle decimals (only if the decimal part is separated using "," instead of ".") and hours (e.g. 2:30 -> δύο και μισή). It is important to note that this algorithm does not take into account the gender of the noun following each number. Also, the numbers will be converted as is and there is no post-processing like "2.5 ευρώ" -> "δυόμιση ευρώ" (the output will be "δύο κόμμα πέντε ευρώ").

If you only need to convert numbers to words then you may use this script as described below:

python -m num2word [--test-word <<WORD>>] [--path <<PATH>>] [--extension .lab] [--out-path]

Arguments:

  • -t or --test-word: Use this only for testing. Put a word or number after it and check the result. E.g. python -m num2word -t 150 should print εκατόν πενήντα.

  • -p or --path: Provide a valid path. The path must be either a text file or a directory containing many files (the extension of these files is defined by the -e or --extension option, defaults to .txt). Cases:

    1. Directory: Inside this directory there needs to be multiple text files which you want to convert. The words inside the file will not be change and only the numbers will be replaced by their corresponding words.
    2. File: If you provide a file then the same thing will happen but just for this file.
  • -e or --extension: Use this to change the extension of the text files you have provided in --path. This only matters if you have provided a directory.

Example:

# num2word is the package and numbers2words.py is the script.
python -m num2word --path /home/user/data/transcriptions \
                   --extension .txt

The above will read all the .txt files inside the transcriptions directory and will change the numbers to their corresponding greek words.


Future Work:

  1. Handle fractions in numbers2words. E.g. Convert "1/10" to "ένα δέκατο".
  2. Handle time input in numbers2words. E.g. Convert "11:20" to "έντεκα και είκοσι"

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the MIT license, Numbers2Words Greek is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.

numbers2words-greek's People

Contributors

dependabot[bot] avatar geoph9 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.