RoManTools


NameRoManTools JSON
Version 0.2.0b2 PyPI version JSON
download
home_pageNone
SummaryTools for processing and converting Romanized Mandarin text
upload_time2025-01-31 19:31:24
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseGPL-3.0 license
keywords
VCS
bugtrack_url
requirements setuptools
Travis-CI No Travis.
coveralls test coverage
            # RoManTools - Romanized Mandarin Tools

![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen)
![Python](https://img.shields.io/badge/python-3.9%2B-blue)
![Flake8](https://img.shields.io/badge/code%20style-flake8-brightgreen)
![Pylint](https://img.shields.io/badge/pylint-10.0%2F10-brightgreen)

This package comprises a set of tools designed to facilitate the handling of romanized Mandarin text. It is currently under active development by Jeff Heller, Digital Project Specialist for the Department of East Asian Studies at Princeton University. This is a beta release, open for testing and forking.

## Features Planned for Version 1.0

Version 1.0 of this project will include the following features:

- **Conversion between Romanization Standards**: Support for converting between Pinyin and Wade-Giles (with Yale and additional standards to be added in future versions).
- **Cherry Pick**: Converts only identified romanized Chinese terms, excluding any English words or those in a stopword list.
- **Text Segmentation**: Segments text into meaningful chunks, a feature that will be utilized by other features but also available for direct use by the user.
- **Syllable Count**: Counts the number of syllables per word and reports the list to the user.
- **Method Detect**: Identifies the romanization standard used in the input text and returns the detected standard(s) to the user as either a single standard or a list of multiple standards.
- **Validator**: Basic validation of supplied text.

## Prerequisites

There are no prerequisites. RoManTools was originally built using Numpy 2D arrays, but this has since been replaced with nested tuples.

## Installation

To install RoManTools, the easiest method is through pip:

``pip -m install RoManTools``

You can also download the package directly from the GitHub repository. This method is ***not recommended*** as it requires a specific execution process, detailed in the last bullet point below.

## Execution

RoManTools can be executed in three ways.

* From the command-line using the installed command:

```bash
RoManTools [action] -i [input] [other parameters]
```

* From within the Python console or scripts via import:

```python
from RoManTools import *
[action]([input], [other parameters])
```

* From the command-line after downloading the package directly from GitHub:

```bash
python -m RoManTools.main [action] -i [input] [other parameters]
```

Documentation on command-line execution can be found in [CLI.md](https://github.com/JHGFD82/RoManTools/blob/main/docs/CLI.md), as well as execution within Python from [Python.md](https://github.com/JHGFD82/RoManTools/blob/main/docs/Python.md). Please refer to [Input_Requirements.md](https://github.com/JHGFD82/RoManTools/blob/main/docs/Input_Requirements.md) for guidelines on how text should be formatted for input, and [Methodology.md](https://github.com/JHGFD82/RoManTools/blob/main/docs/Methodology.md) will provide details on the text analysis process.

## Possible Future Goals (suggestions welcome!)

* **Feedback**: Provide meaningful and specific error messages for incorrect syntax (e.g., `missing or invalid final: chy`, `extraneous characters: "(2)"`, `Xui is not a valid Wade-Giles syllable.`).
* **IPA Pronunciation**: Convert between romanized text and the International Phonetic Alphabet.
* **Tone Marking Conversion**: Convert between tone marking systems (numerical and IPA).
* **Audio Pronunciation**: Produce audio recordings of inputted text.
* **Flashcards/Quizzes**: Gamification of text input and pronunciation.
* To submit suggestions for future updates, contact main developer Jeff Heller via [Github issues](https://github.com/JHGFD82/RoManTools/issues) or via [e-mail](mailto:jh43@princeton.edu).

## Origin

This project originated as the `syllable_count` function developed for use with the Tang History Database, led by Professor Anna Shields of the Department of East Asian Studies at Princeton University. The objective was to validate user input of romanized Mandarin, facilitating the incorporation of data from Harvard University's Chinese Biographical Database (CBDB). By analyzing the syllable structure of romanized Mandarin strings and comparing them to corresponding Chinese characters, the function initially focused on validating the entry of Tang dynasty figures' names. As the project evolved, it expanded to include robust error handling, detection of both Pinyin and Wade-Giles romanization systems, and cross-system translation, even within mixed English text. The motivation to release this tool as a publicly available package stems from the need for a fast, efficient solution to validate romanized Mandarin text, promoting consistency in future datasets and ensuring flawless adherence to romanization standards.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "RoManTools",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Jeff Heller <jsheller@princeton.edu>",
    "download_url": "https://files.pythonhosted.org/packages/8c/51/6265163d76ff9a332a2d324593800cf758ffad603cac8201c685adeaf1ba/romantools-0.2.0b2.tar.gz",
    "platform": null,
    "description": "# RoManTools - Romanized Mandarin Tools\n\n![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen)\n![Python](https://img.shields.io/badge/python-3.9%2B-blue)\n![Flake8](https://img.shields.io/badge/code%20style-flake8-brightgreen)\n![Pylint](https://img.shields.io/badge/pylint-10.0%2F10-brightgreen)\n\nThis package comprises a set of tools designed to facilitate the handling of romanized Mandarin text. It is currently under active development by Jeff Heller, Digital Project Specialist for the Department of East Asian Studies at Princeton University. This is a beta release, open for testing and forking.\n\n## Features Planned for Version 1.0\n\nVersion 1.0 of this project will include the following features:\n\n- **Conversion between Romanization Standards**: Support for converting between Pinyin and Wade-Giles (with Yale and additional standards to be added in future versions).\n- **Cherry Pick**: Converts only identified romanized Chinese terms, excluding any English words or those in a stopword list.\n- **Text Segmentation**: Segments text into meaningful chunks, a feature that will be utilized by other features but also available for direct use by the user.\n- **Syllable Count**: Counts the number of syllables per word and reports the list to the user.\n- **Method Detect**: Identifies the romanization standard used in the input text and returns the detected standard(s) to the user as either a single standard or a list of multiple standards.\n- **Validator**: Basic validation of supplied text.\n\n## Prerequisites\n\nThere are no prerequisites. RoManTools was originally built using Numpy 2D arrays, but this has since been replaced with nested tuples.\n\n## Installation\n\nTo install RoManTools, the easiest method is through pip:\n\n``pip -m install RoManTools``\n\nYou can also download the package directly from the GitHub repository. This method is ***not recommended*** as it requires a specific execution process, detailed in the last bullet point below.\n\n## Execution\n\nRoManTools can be executed in three ways.\n\n* From the command-line using the installed command:\n\n```bash\nRoManTools [action] -i [input] [other parameters]\n```\n\n* From within the Python console or scripts via import:\n\n```python\nfrom RoManTools import *\n[action]([input], [other parameters])\n```\n\n* From the command-line after downloading the package directly from GitHub:\n\n```bash\npython -m RoManTools.main [action] -i [input] [other parameters]\n```\n\nDocumentation on command-line execution can be found in [CLI.md](https://github.com/JHGFD82/RoManTools/blob/main/docs/CLI.md), as well as execution within Python from [Python.md](https://github.com/JHGFD82/RoManTools/blob/main/docs/Python.md). Please refer to [Input_Requirements.md](https://github.com/JHGFD82/RoManTools/blob/main/docs/Input_Requirements.md) for guidelines on how text should be formatted for input, and [Methodology.md](https://github.com/JHGFD82/RoManTools/blob/main/docs/Methodology.md) will provide details on the text analysis process.\n\n## Possible Future Goals (suggestions welcome!)\n\n* **Feedback**: Provide meaningful and specific error messages for incorrect syntax (e.g., `missing or invalid final: chy`, `extraneous characters: \"(2)\"`, `Xui is not a valid Wade-Giles syllable.`).\n* **IPA Pronunciation**: Convert between romanized text and the International Phonetic Alphabet.\n* **Tone Marking Conversion**: Convert between tone marking systems (numerical and IPA).\n* **Audio Pronunciation**: Produce audio recordings of inputted text.\n* **Flashcards/Quizzes**: Gamification of text input and pronunciation.\n* To submit suggestions for future updates, contact main developer Jeff Heller via [Github issues](https://github.com/JHGFD82/RoManTools/issues) or via [e-mail](mailto:jh43@princeton.edu).\n\n## Origin\n\nThis project originated as the `syllable_count` function developed for use with the Tang History Database, led by Professor Anna Shields of the Department of East Asian Studies at Princeton University. The objective was to validate user input of romanized Mandarin, facilitating the incorporation of data from Harvard University's Chinese Biographical Database (CBDB). By analyzing the syllable structure of romanized Mandarin strings and comparing them to corresponding Chinese characters, the function initially focused on validating the entry of Tang dynasty figures' names. As the project evolved, it expanded to include robust error handling, detection of both Pinyin and Wade-Giles romanization systems, and cross-system translation, even within mixed English text. The motivation to release this tool as a publicly available package stems from the need for a fast, efficient solution to validate romanized Mandarin text, promoting consistency in future datasets and ensuring flawless adherence to romanization standards.\n",
    "bugtrack_url": null,
    "license": "GPL-3.0 license",
    "summary": "Tools for processing and converting Romanized Mandarin text",
    "version": "0.2.0b2",
    "project_urls": {
        "Documentation": "https://github.com/JHGFD82/RoManTools/tree/main/docs",
        "Homepage": "https://github.com/JHGFD82/RoManTools",
        "Source": "https://github.com/JHGFD82/RoManTools",
        "Tracker": "https://github.com/JHGFD82/RoManTools/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "43607b05eba34cc14f741aa146a949127e34647e4d9281b3bb68d3fdff7de3c3",
                "md5": "9a2dfb2d23dc9002607fb5be330473c9",
                "sha256": "0c0d949fb7c49ecb548c49e576f03b2b355fb7d3d6bbb8af083efa89000cea97"
            },
            "downloads": -1,
            "filename": "RoManTools-0.2.0b2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9a2dfb2d23dc9002607fb5be330473c9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 59478,
            "upload_time": "2025-01-31T19:31:22",
            "upload_time_iso_8601": "2025-01-31T19:31:22.934121Z",
            "url": "https://files.pythonhosted.org/packages/43/60/7b05eba34cc14f741aa146a949127e34647e4d9281b3bb68d3fdff7de3c3/RoManTools-0.2.0b2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8c516265163d76ff9a332a2d324593800cf758ffad603cac8201c685adeaf1ba",
                "md5": "20e66e9081caee677c8f59aff75b34e7",
                "sha256": "29cd7f1363fe58633cad3be2153675afb18ac34fdde2a97e8ef8102ddc9bc1a1"
            },
            "downloads": -1,
            "filename": "romantools-0.2.0b2.tar.gz",
            "has_sig": false,
            "md5_digest": "20e66e9081caee677c8f59aff75b34e7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 66512,
            "upload_time": "2025-01-31T19:31:24",
            "upload_time_iso_8601": "2025-01-31T19:31:24.167256Z",
            "url": "https://files.pythonhosted.org/packages/8c/51/6265163d76ff9a332a2d324593800cf758ffad603cac8201c685adeaf1ba/romantools-0.2.0b2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-31 19:31:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "JHGFD82",
    "github_project": "RoManTools",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [
        {
            "name": "setuptools",
            "specs": [
                [
                    "~=",
                    "75.6.0"
                ]
            ]
        }
    ],
    "lcname": "romantools"
}
        
Elapsed time: 1.24733s