{ "info": { "author": "Riccardo Metere", "author_email": "rick@metere.it", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Natural Language :: Latin", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Education", "Topic :: Scientific/Engineering", "Topic :: Sociology :: History", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Localization", "Topic :: Text Processing", "Topic :: Text Processing :: Linguistic", "Topic :: Utilities" ], "description": "numeral: support for various integer-to-numeral (and back) conversion\n=====================================================================\n\nThis Python library implements integer-to-numeral and numeral-to-integer\nconversion for a variety of numeral representations, including:\n\n- alphabetic representation, i.e. a, b, c, d, ... for 0, 1, 2, 3, ...\n- Roman numbers, i.e. I, II, III, IV, ... for 1, 2, 3, 4, ...\n- generic tokens set representation, i.e. !, @, !!, !@, ... for 0, 1, 2, 3...\n (given the tokens set {``!``, ``@``}).\n\nThe generic tokens set representation uses the least number of tokens for\nrepresenting a given integer, and uses an exponential-like notation similar to\nbase-n conversion, except that the first symbol is used.\nThe alphabetic representation is a special case of a generic tokens set\nrepresentation, where the latin alphabet is used as tokens set.\nUpper/lower case conversion should be handled through Python built-ins.\nAll representation support negative values.\n\nDetailed documentation is available for all functions through docstrings.\n\nOf note, the Roman numbers support include:\n\n- both **Unicode** and **ASCII-only** representations\n- partial support for large numbers via the so-called Apostrophus notation\n (see: ``_)\n- additive-only or subtractive notations\n- toggleable forgiving/strict Roman number parsing\n- representation of zero\n (see: ``_)\n- negative numbers (with option to specify a custom negative sign)\n- partial support for archaic/late forms\n (see: ``_)\n\n\nInstallation\n------------\nThe recommended way of installing the software is through\n`PyPI `_:\n\n.. code:: shell\n\n $ pip install numeral\n\nAlternatively, you can clone the source repository from\n`Bitbucket `_:\n\n.. code:: shell\n\n $ mkdir numeral\n $ cd numeral\n $ git clone git@bitbucket.org:norok2/numeral.git\n $ python setup.py install\n\n(some steps may require additional permissions depending on your configuration)\n\nThe software does not have additional dependencies beyond Python and its\nstandard library.\n\nIt was tested with Python 2.7 and 3.5.\nOther version were not tested.\n\n\nUsage\n-----\n\nThe following functions are defined:\n\nint2letter\n~~~~~~~~~~\nConvert a number to the least amount letters (within an alphabet).\n\n.. code:: python\n\n >>> int2letter(10)\n 'k'\n >>> import string # Common string operations\n >>> int2letter(10, string.ascii_letters) # using both lower and upper cases\n 'aW'\n\nletter2int\n~~~~~~~~~~\nConvert a group of letters (within a given alphabet) to a number.\n\n.. code:: python\n\n >>> letter2int('aa')\n 26\n\n\nint2tokens\n~~~~~~~~~~\nConvert a number to the least amount tokens (within a tokens set).\n\n\n.. code:: python\n\n >>> int2tokens(12, ('!', '@', '#', '$'))\n '#!'\n\n\ntokens2int\n~~~~~~~~~~\nConvert a group of tokens (within a given set) to a number.\n\n.. code:: python\n\n >>> tokens2int('#!', ('!', '@', '#', '$'))\n 12\n\n\nint2roman\n~~~~~~~~~\nConvert an integer to its corresponding Roman number representation.\n\n.. code:: python\n\n >>> int2roman(1666) # using dedicated unicode chars\n '\u216f\u216e\u216d\u216c\u2169\u2165'\n >>> int2roman(1666, only_ascii=True) # using only ASCII\n 'MDCLXVI'\n\n\nroman2int\n~~~~~~~~~\nConvert a string representation of a Roman number to integer.\n\n.. code:: python\n\n >>> int2roman('MDCLXVI')\n 1666", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/norok2/numeral", "keywords": "numeral,letter,alphabet,numeric,arabic,roman", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "numeral", "package_url": "https://pypi.org/project/numeral/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/numeral/", "project_urls": { "Homepage": "https://bitbucket.org/norok2/numeral" }, "release_url": "https://pypi.org/project/numeral/0.1.0.11/", "requires_dist": [ "blessed; extra == 'blessed'", "blessings; extra == 'blessings'" ], "requires_python": "", "summary": "Support for various integer-to-numeral conversion.", "version": "0.1.0.11" }, "last_serial": 2462049, "releases": { "0.1.0.10": [ { "comment_text": "", "digests": { "md5": "f2a9c67cfb3c83e2e8594ce660a50682", "sha256": "194145cffeab5acc410f6f35a4234f90fd1ffb18a2871247a01cf59f6a6a3461" }, "downloads": -1, "filename": "numeral-0.1.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f2a9c67cfb3c83e2e8594ce660a50682", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12279, "upload_time": "2016-11-15T15:57:49", "url": "https://files.pythonhosted.org/packages/83/a6/cc76279085af666ae65ce2ebf8933a28a6ea6b97f1112b8e68a11604d47e/numeral-0.1.0.10-py2.py3-none-any.whl" } ], "0.1.0.11": [ { "comment_text": "", "digests": { "md5": "0dce23f5c1a98264f2dab63da18bd428", "sha256": "33e004e30ebae5f8a32d74ff4e4c0b4f95f001885a03b52376870596d310660c" }, "downloads": -1, "filename": "numeral-0.1.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0dce23f5c1a98264f2dab63da18bd428", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12280, "upload_time": "2016-11-15T16:05:44", "url": "https://files.pythonhosted.org/packages/75/5e/6ffee408ecfee40cd467db064d794bcfd5565577ca85f585aab4cfd87d7d/numeral-0.1.0.11-py2.py3-none-any.whl" } ], "0.1.0.3": [ { "comment_text": "", "digests": { "md5": "74964cd3f5dcc2e7fc34d048993b4381", "sha256": "b501f6cd4c57d6d39852e730c7e640da240b16ab08236c43521b3b8539aa0adc" }, "downloads": -1, "filename": "numeral-0.1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "74964cd3f5dcc2e7fc34d048993b4381", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 11515, "upload_time": "2016-11-15T08:18:19", "url": "https://files.pythonhosted.org/packages/69/0c/21a797b0b37e55d73289276266ef2f4fb08d60c64139e50c785c73767a7c/numeral-0.1.0.4-py2.py3-none-any.whl" } ], "0.1.0.4": [], "0.1.0.5": [ { "comment_text": "", "digests": { "md5": "820e65ca7cb75cf81bd94b3b56387e0b", "sha256": "d13e85d2e8f942f55a8cb96079d8d7154c63cec5beba282d80f98301360fb8ea" }, "downloads": -1, "filename": "numeral-0.1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "820e65ca7cb75cf81bd94b3b56387e0b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11349, "upload_time": "2016-11-15T09:49:22", "url": "https://files.pythonhosted.org/packages/9e/69/2f25f2a69c788e9e0830b48032589428a2f16f172a2b60936589083c59b9/numeral-0.1.0.5-py2.py3-none-any.whl" } ], "0.1.0.6": [], "0.1.0.7": [ { "comment_text": "", "digests": { "md5": "1b392a472bcca30d5a2bed78c545cc82", "sha256": "bd796546930902194b97c527be6222d0cedf5bda30aa1b7dfa7e20b87b14b729" }, "downloads": -1, "filename": "numeral-0.1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1b392a472bcca30d5a2bed78c545cc82", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11348, "upload_time": "2016-11-15T10:48:59", "url": "https://files.pythonhosted.org/packages/7c/94/56418dc75a7799e011e9cf8ecf5145681c43b3f279c4699bee12d4d55c37/numeral-0.1.0.7-py2.py3-none-any.whl" } ], "0.1.0.8": [ { "comment_text": "", "digests": { "md5": "47ad3c91292c33671f9ead13359b655c", "sha256": "3efbcc7d0d20bb2265a4f8e8d19ddfc7e357b08c057702e03870402fde0bd365" }, "downloads": -1, "filename": "numeral-0.1.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "47ad3c91292c33671f9ead13359b655c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11346, "upload_time": "2016-11-15T12:09:22", "url": "https://files.pythonhosted.org/packages/57/89/a0561705d6af95c4e1199aa9305e17c5d3083a5a2e3c3ee0599c66607e02/numeral-0.1.0.8-py2.py3-none-any.whl" } ], "0.1.0.9": [ { "comment_text": "", "digests": { "md5": "5ec553f08f2072046ec703daa9d5d68e", "sha256": "4234b0665c68b4e60efe7b648b974d01a7e60641d38cb9659f1d50896046719e" }, "downloads": -1, "filename": "numeral-0.1.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5ec553f08f2072046ec703daa9d5d68e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11344, "upload_time": "2016-11-15T12:13:24", "url": "https://files.pythonhosted.org/packages/72/ee/4be09a7c5a63d999a431958f0a11a95d26e2e0e4543bebdbedd479cb87ef/numeral-0.1.0.9-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0dce23f5c1a98264f2dab63da18bd428", "sha256": "33e004e30ebae5f8a32d74ff4e4c0b4f95f001885a03b52376870596d310660c" }, "downloads": -1, "filename": "numeral-0.1.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0dce23f5c1a98264f2dab63da18bd428", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12280, "upload_time": "2016-11-15T16:05:44", "url": "https://files.pythonhosted.org/packages/75/5e/6ffee408ecfee40cd467db064d794bcfd5565577ca85f585aab4cfd87d7d/numeral-0.1.0.11-py2.py3-none-any.whl" } ] }