Metadata-Version: 2.1
Name: pykakasi
Version: 0.0.0
Summary: Python implementation of kakasi - kana kanji simple inversion library
Home-page: https://github.com/miurahr/pykakasi
Author: Hiroshi Miura
Author-email: miurahr@linux.com
License: GPLv3
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/x-rst
Requires-Dist: deprecated
Requires-Dist: importlib-metadata ; python_version < "3.8"
Provides-Extra: check
Requires-Dist: mypy (==0.770) ; extra == 'check'
Requires-Dist: mypy-extensions (==0.4.3) ; extra == 'check'
Requires-Dist: docutils ; extra == 'check'
Requires-Dist: check-manifest ; extra == 'check'
Requires-Dist: flake8 ; extra == 'check'
Requires-Dist: flake8-black ; extra == 'check'
Requires-Dist: flake8-deprecated ; extra == 'check'
Requires-Dist: readme-renderer ; extra == 'check'
Requires-Dist: pygments ; extra == 'check'
Requires-Dist: isort ; extra == 'check'
Requires-Dist: twine ; extra == 'check'
Provides-Extra: docs
Requires-Dist: sphinx (>=1.8) ; extra == 'docs'
Requires-Dist: sphinx-intl ; extra == 'docs'
Requires-Dist: sphinx-py3doc-enhanced-theme ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme ; extra == 'docs'
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-benchmark ; extra == 'test'
Requires-Dist: pytest-pep8 ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-profiling ; extra == 'test'
Requires-Dist: coverage[toml] (>=5.2) ; extra == 'test'
Requires-Dist: py-cpuinfo ; extra == 'test'

========
Pykakasi
========

Overview
========

.. image:: https://readthedocs.org/projects/pykakasi/badge/?version=latest
   :target: https://pykakasi.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status

.. image:: https://badge.fury.io/py/pykakasi.png
   :target: http://badge.fury.io/py/Pykakasi
   :alt: PyPI version

.. image:: https://github.com/miurahr/pykakasi/workflows/Run%20Tox%20tests/badge.svg
   :target: https://github.com/miurahr/pykakasi/actions?query=workflow%3A%22Run+Tox+tests%22
   :alt: Run Tox tests

.. image:: https://dev.azure.com/miurahr/github/_apis/build/status/miurahr.pykakasi?branchName=master
   :target: https://dev.azure.com/miurahr/github/_build?definitionId=13&branchName=master
   :alt: Azure-Pipelines

.. image:: https://coveralls.io/repos/miurahr/pykakasi/badge.svg?branch=master
   :target: https://coveralls.io/r/miurahr/pykakasi?branch=master
   :alt: Coverage status


``pykakasi`` is a Python Natural Language Processing (NLP) library to transliterate *hiragana*, *katakana* and *kanji* (Japanese text) into *rōmaji* (Latin/Roman alphabet). It can handle characters in NFC form.

Its algorithms are based on the `kakasi`_ library, which is written in C.

* Install (from `PyPI`_): ``pip install pykakasi``
* `Documentation available on readthedocs`_

.. _`PyPI`: https://pypi.org/project/pykakasi/
.. _`kakasi`: http://kakasi.namazu.org/
.. _`Documentation available on readthedocs`: https://pykakasi.readthedocs.io/en/latest/index.html


Supported python versions
=========================

* pykakasi supports python 3.6, 3.7, 3.8, 3.9, and pypy3

Usage
=====

Transliterate Japanese text to kana, hiragana and romaji:

.. code-block:: python

    import pykakasi
    kks = pykakasi.kakasi()
    text = "かな漢字"
    result = kks.convert(text)
    for item in result:
        print("{}: kana '{}', hiragana '{}', romaji: '{}'".format(item['orig'], item['kana'], item['hira'], item['hepburn']))

    かな: kana 'カナ', hiragana: 'かな', romaji: 'kana'
    漢字: kana 'カンジ', hiragana: 'かんじ', romaji: 'kanji'


Here is an example that output as similar with furigana mode.

.. code-block:: python

    import pykakasi
    kks = pykakasi.kakasi()
    text = "かな漢字交じり文"
    result = kks.convert(text)
    for item in result:
        print("{}[{}] ".format(item['orig'], item['hepburn'].capitalize()), end='')
    print()

    かな[Kana] 漢字[Kanji] 交じり[Majiri] 文[Bun]


Benchmark result
================

You can see benchmark result on various versions and platforms at https://github.com/miurahr/pykakasi/issues/123


Copyright and License
=====================

Copyright 2010-2020 Hiroshi Miura <miurahr@linux.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.


==================
PyKakasi ChangeLog
==================

All notable changes to this project will be documented in this file.

Unreleased_
===========

Added
-----

Changed
-------

Fixed
-----

Deprecated
----------

Removed
-------

Security
--------

v2.1.0_ (6, May 2021)
=====================

Added
-----
* Deprecation warning when using old api(#124)
* Add type hint file(pyi) (#124)
* Benchmark test codes(#122)

Changed
-------
* Cache internal results and improve performance about 30-40 times.(#128)
* Use standard pickle for database file(#128)
* Exceptions module is now `pykakasi`, not `pykakasi.exceptions`

Removed
-------
* Dependency for klepto(#128)


v2.0.8_ (4, May 2021)
=====================

Added
-----

* test: Benchmark and profiling (#122)

Changed
-------

* Performance: avoid ord() when checking long-mark, speed up about 6%
* Reformat code by black(#121)


v2.0.7_ (26, Feb. 2021)
=======================

Fixed
-----

* Infinite loop after running for a while,
  handle independent HW VOICED SOUND MARK (#115, #118)


v2.0.6_ (7, Feb. 2021)
======================

Fixed
-----

* Hiragana for Age countersa(#116,#117)


v2.0.5_ (5, Feb. 2021)
======================

Changed
-------

* CLI: use argparse for option parse(#113)

Fixed
-----

* Handle 思った、言った、行った properly.(#114)
* CI: fix coveralls error

Deprecated
----------

* CI: drop travis-ci test and badge


v2.0.4_ (26, Nov. 2020)
=======================

Fixed
-----

* CLI: Fix -v and -h option crash on python 3.7 and before (#108).

v2.0.3_ (25, Nov. 2020)
=======================

Fixed
-----

* CLI: Fix -v and -h option crash (#108).


v2.0.2_ (23, Jul. 2020)
=======================

Fixed
-----

* Fix convert() to handle Katakana correctly.(#103)


v2.0.1_ (23, Jul. 2020)
=======================

Changed
-------

* Update setup.py, setup.cfg, tox.ini(#102)


Fixed
-----

* Fix convert() misses last part of a text (#99, #100)
* Fix CI, coverage, and coveralls configurations(#101)


v2.0.0_ (31, May. 2020)
=======================


.. _Unreleased: https://github.com/miurahr/pykakasi/compare/v2.1.0...HEAD
.. _v2.1.0: https://github.com/miurahr/pykakasi/compare/v2.0.8...v2.1.0
.. _v2.0.8: https://github.com/miurahr/pykakasi/compare/v2.0.7...v2.0.8
.. _v2.0.7: https://github.com/miurahr/pykakasi/compare/v2.0.6...v2.0.7
.. _v2.0.6: https://github.com/miurahr/pykakasi/compare/v2.0.5...v2.0.6
.. _v2.0.5: https://github.com/miurahr/pykakasi/compare/v2.0.4...v2.0.5
.. _v2.0.4: https://github.com/miurahr/pykakasi/compare/v2.0.3...v2.0.4
.. _v2.0.3: https://github.com/miurahr/pykakasi/compare/v2.0.2...v2.0.3
.. _v2.0.2: https://github.com/miurahr/pykakasi/compare/v2.0.1...v2.0.2
.. _v2.0.1: https://github.com/miurahr/pykakasi/compare/v2.0.0...v2.0.1
.. _v2.0.0: https://github.com/miurahr/pykakasi/compare/v2.0.0b1...v2.0.0


