diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 8884a1b6c..f5f7fc08f 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -8,31 +8,31 @@ on: - '**.yml' jobs: - release: - name: Build - runs-on: ubuntu-20.04 + deploy-docs: + name: Build and deploy documentation + runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 - - name: Set up Python 3.8 + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.8' + python-version: "3.10" - name: Install dependencies env: SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL: True run: | python -m pip install --upgrade pip - pip install pytest coverage coveralls + python -m pip install coverage coveralls pytest if [ -f docker_requirements.txt ]; then pip install -r docker_requirements.txt; fi - pip install deepcut - pip install .[full] - pip install boto smart_open sphinx sphinx-rtd-theme + python -m pip install .[full] + python -m pip install boto smart_open sphinx sphinx-rtd-theme python -m nltk.downloader omw-1.4 - name: Build sphinx documentation run: | cd docs && make html cd .. - - name: Deploy + - name: Deploy documentation uses: peaceiris/actions-gh-pages@v4 with: personal_token: ${{ secrets.PERSONAL_TOKEN }} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e50bae84b..5214a7437 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -18,7 +18,7 @@ on: jobs: ruff: - runs-on: ubuntu-24.04 + runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml index adaccf97e..30d12808c 100644 --- a/.github/workflows/pypi-publish.yml +++ b/.github/workflows/pypi-publish.yml @@ -5,12 +5,12 @@ on: types: [created] jobs: - deploy: + pypi-publish: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: matrix: - python-version: [3.8] + python-version: ["3.10"] steps: - name: Checkout @@ -21,9 +21,9 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | - python -m pip install --upgrade pip - python -m pip install setuptools twine wheel + python -m pip install --upgrade "pip<24.1" setuptools twine wheel python setup.py sdist bdist_wheel + # "python setup.py" is no longer recommended. - name: Publish a Python distribution to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: diff --git a/.github/workflows/pypi-test.yml b/.github/workflows/pypi-test.yml index 90d579dec..f83e2865d 100644 --- a/.github/workflows/pypi-test.yml +++ b/.github/workflows/pypi-test.yml @@ -5,12 +5,12 @@ on: - cron: '0 0 * * *' # Once per day jobs: - build: + pypi-test: runs-on: ubuntu-20.04 strategy: matrix: - python-version: [3.8] + python-version: ["3.10"] steps: - uses: actions/checkout@v4 @@ -22,9 +22,8 @@ jobs: env: SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL: True run: | - python -m pip install --upgrade pip - python -m pip install deepcut tltk - SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True python -m pip install -r https://raw.githubusercontent.com/PyThaiNLP/pythainlp/dev/docker_requirements.txt + python -m pip install --upgrade "pip<24.1" setuptools + python -m pip install -r https://raw.githubusercontent.com/PyThaiNLP/pythainlp/dev/docker_requirements.txt python -m pip install pythainlp[full] python -m nltk.downloader omw-1.4 - name: Test diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index 30a2047ca..15c64e04b 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -1,11 +1,11 @@ -name: Unit test and code coverage (MacOS) +name: Unit test and code coverage (macOS) on: push: paths-ignore: - '**.md' + - '**.yml' - 'docs/**' -# - '**.yml' pull_request: branches: - dev @@ -15,87 +15,52 @@ on: - 'docs/**' jobs: - build: - - runs-on: ${{ matrix.os }} + unittest: strategy: fail-fast: false matrix: - os: [macos-latest, self-hosted] - python-version: [3.8] + os: ["macos-latest"] + python-version: ["3.10"] + + runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: conda-incubator/setup-miniconda@v3 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - auto-activate-base: false - auto-update-conda: true - if: matrix.os == 'macos-latest' -# - name: Install mac m1 -# run: | -# mkdir -p ~/miniconda3 -# wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.12.0-MacOSX-arm64.sh -# chmod +x Miniconda3-py38_4.12.0-MacOSX-arm64.sh -# bash Miniconda3-py38_4.12.0-MacOSX-arm64.sh -b -u -p ~/miniconda3 -# ~/miniconda3/bin/conda init bash -# ~/miniconda3/bin/conda init zsh -# if: matrix.os == 'self-hosted' - - name: Test PyThaiNLP - M1 - shell: bash -l {0} + - name: Print system info + run: sw_vers; python --version; arch + - name: Install build tools run: | - source ~/miniconda3/etc/profile.d/conda.sh - conda create -y -n pythainlpwork38 python=3.8 - conda activate pythainlpwork38 - conda info - conda list - python -m pip install --upgrade pip - SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True pip install -r docker_requirements.txt - conda install -y -c conda-forge protobuf - pip install pytest coverage coveralls typing_extensions==4.5.0 - pip install ssg epitran - pip install fastai==1.0.61 - pip install fairseq==0.10.2 - conda install -y -c conda-forge icu - conda install -y -c conda-forge pyicu - pip install deepcut tltk - pip install .[full] - python -m nltk.downloader omw-1.4 - python -m pip cache purge - python -m unittest discover - if: matrix.os == 'self-hosted' - - name: Show environment - shell: bash -l {0} + python -m pip install --upgrade "pip<24.1" "setuptools==73.0.1" + python -m pip install coverage coveralls pytest + - name: Install ICU run: | - conda info - conda list - if: matrix.os == 'self-hosted' + brew install icu4c + PKG_CONFIG_PATH=$(brew --prefix)/opt/icu4c/lib/pkgconfig + echo "PKG_CONFIG_PATH=${PKG_CONFIG_PATH}" >> "${GITHUB_ENV}" + ICU_VER=$(pkg-config --modversion icu-i18n) + echo "ICU_VER=${ICU_VER}" + echo "ICU_VER=${ICU_VER}" >> "${GITHUB_ENV}" - name: Install PyTorch - shell: bash -l {0} - run: | - pip install torch==1.10.0 - if: matrix.os != 'self-hosted' - - name: Install dependencies - shell: bash -l {0} + run: pip install torch + # if needed, get pip wheel link from http://download.pytorch.org/whl/torch/ + # - name: Install dependencies + # env: + # SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL: True + # run: | + # python -m pip install -r docker_requirements.txt + - name: Install PyThaiNLP run: | - python -m pip install --upgrade pip - pip install pytest coverage coveralls - conda install -c conda-forge icu - conda install -c conda-forge pyicu - SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True pip install -r docker_requirements.txt - pip install deepcut tltk - pip install .[full] - python -m nltk.downloader omw-1.4 - python -m pip cache purge - if: matrix.os != 'self-hosted' + python -m pip install . - name: Test - shell: bash -l {0} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_SERVICE_NAME: github run: | - coverage run -m unittest discover + python -m nltk.downloader omw-1.4 coveralls - if: matrix.os != 'self-hosted' +# coverage run -m unittest discover diff --git a/.github/workflows/unittest-windows.yml b/.github/workflows/unittest-windows.yml index 5f9a71ceb..6de0deafe 100644 --- a/.github/workflows/unittest-windows.yml +++ b/.github/workflows/unittest-windows.yml @@ -15,14 +15,14 @@ on: - 'docs/**' jobs: - build: - - runs-on: ${{ matrix.os }} + unittest: strategy: fail-fast: false matrix: - os: [windows-latest] - python-version: [3.8] + os: ["windows-latest"] + python-version: ["3.10"] + + runs-on: ${{ matrix.os }} steps: - name: Checkout @@ -38,30 +38,36 @@ jobs: run: | conda info conda list - - name: Install PyTorch + - name: Install build tools shell: powershell run: | - pip install torch==1.8.1 - - name: Install dependencies + python -m pip install --upgrade "pip<24.1" "setuptools==73.0.1" + python -m pip install coverage coveralls pytest + - name: Install ICU shell: powershell - env: - SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL: True run: | - python -m pip install --disable-pip-version-check --user --upgrade pip setuptools - python -m pip install backports.zoneinfo[tzdata] - python -m pip --version - python -m pip install pytest coverage coveralls - conda install -y -c conda-forge fairseq - python -m pip install https://www.dropbox.com/s/o6p2sj5z50iim1e/PyICU-2.3.1-cp38-cp38-win_amd64.whl?dl=1 - python -m pip install -r docker_requirements.txt - python -m pip install .[full] - python -m nltk.downloader omw-1.4 - python -m pip install spacy deepcut tltk + python -m pip install "https://github.com/cgohlke/pyicu-build/releases/download/v2.14/PyICU-2.14-cp310-cp310-win_amd64.whl" + # if needed, get pip wheel link from https://github.com/cgohlke/pyicu-build/releases + - name: Install PyTorch + shell: powershell + run: python -m pip install torch + # if needed, get pip wheel link from http://download.pytorch.org/whl/torch/ + # - name: Install dependencies + # shell: powershell + # env: + # SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL: True + # run: | + # python -m pip install -r docker_requirements.txt + - name: Install PyThaiNLP + shell: powershell + run: | + python -m pip install . - name: Test shell: powershell env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_SERVICE_NAME: github run: | - coverage run -m unittest discover + python -m nltk.downloader omw-1.4 coveralls +# coverage run -m unittest discover diff --git a/.github/workflows/unitttest-ubuntu.yml b/.github/workflows/unitttest-ubuntu.yml index 3a94a4e62..8c58e2d65 100644 --- a/.github/workflows/unitttest-ubuntu.yml +++ b/.github/workflows/unitttest-ubuntu.yml @@ -7,18 +7,22 @@ on: - '**.yml' - 'docs/**' pull_request: + branches: + - dev paths-ignore: - '**.md' - '**.yml' - 'docs/**' jobs: - build: - - runs-on: ubuntu-22.04 + unittest: strategy: + fail-fast: false matrix: - python-version: [3.9] + os: ["ubuntu-24.04"] + python-version: ["3.10"] + + runs-on: ${{ matrix.os }} steps: - name: Checkout @@ -27,21 +31,26 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - - name: Install dependencies + - name: Install build tools run: | - python -m pip install --upgrade pip - python -m pip install backports.zoneinfo[tzdata] - pip install pytest coverage coveralls - SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True pip install -r docker_requirements.txt - pip install deepcut tltk - pip install .[full] - python -m nltk.downloader omw-1.4 - python -m pip install spacy deepcut tltk - python -m pip cache purge + python -m pip install --upgrade "pip<24.1" "setuptools==73.0.1" + python -m pip install coverage coveralls pytest + - name: Install PyTorch + run: python -m pip install torch + # if needed, get pip wheel link from http://download.pytorch.org/whl/torch/ + # - name: Install dependencies + # env: + # SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL: True + # run: | + # python -m pip install -r docker_requirements.txt + - name: Install PyThaiNLP + run: | + python -m pip install . - name: Test env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_SERVICE_NAME: github run: | - coverage run -m unittest discover + python -m nltk.downloader omw-1.4 coveralls +# coverage run -m unittest discover diff --git a/.python-version b/.python-version new file mode 100644 index 000000000..c8cfe3959 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.10 diff --git a/pyproject.toml b/pyproject.toml index faa102a79..f30ea6242 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ [tool.ruff] line-length = 79 indent-width = 4 -target-version = "py38" +target-version = "py310" [tool.ruff.format] quote-style = "double" diff --git a/pythainlp/util/date.py b/pythainlp/util/date.py index d2e03a11a..0201c4c8c 100644 --- a/pythainlp/util/date.py +++ b/pythainlp/util/date.py @@ -236,7 +236,7 @@ def thai_strptime( # 9, # 0, # 1, - # tzinfo=backports.zoneinfo.ZoneInfo(key='Asia/Bangkok') + # tzinfo=zoneinfo.ZoneInfo(key='Asia/Bangkok') # ) """ d = "" diff --git a/setup.py b/setup.py index 72897d889..cb55c0eb3 100644 --- a/setup.py +++ b/setup.py @@ -6,9 +6,10 @@ https://github.com/PyThaiNLP/pythainlp """ + from setuptools import find_packages, setup -readme = """ +LONG_DESC = """ ![PyThaiNLP Logo](https://avatars0.githubusercontent.com/u/32934255?s=200&v=4) PyThaiNLP is a Python library for Thai natural language processing. @@ -37,8 +38,9 @@ """ requirements = [ - "requests>=2.22.0", "backports.zoneinfo; python_version<'3.9'", + "nltk>=3.3", + "requests>=2.22.0", "tzdata; sys_platform == 'win32'" ] @@ -59,31 +61,17 @@ "transformers>=4.6.0", ], "wunsen": ["wunsen>=0.0.1"], - "textaugment": [ - "bpemb", - "gensim>=4.0.0" - ], - "wangchanberta": [ - "transformers>=4.6.0", - "sentencepiece>=0.1.91" - ], - "mt5": ["transformers>=4.6.0", "sentencepiece>=0.1.91"], + "textaugment": ["bpemb", "gensim>=4.0.0"], + "wangchanberta": ["sentencepiece>=0.1.91", "transformers>=4.6.0"], + "mt5": ["sentencepiece>=0.1.91", "transformers>=4.6.0"], "wtp": ["transformers>=4.6.0", "wtpsplit>=1.0.1"], "wordnet": ["nltk>=3.3"], "generate": ["fastai<2.0"], "sefr_cut": ["sefr_cut>=1.1"], - "spell": [ - "phunspell>=0.1.6", - "spylls>=0.1.5", - "symspellpy>=6.7.6" - ], + "spell": ["phunspell>=0.1.6", "spylls>=0.1.5", "symspellpy>=6.7.6"], "oskut": ["oskut>=1.3"], "nlpo3": ["nlpo3>=1.2.2"], - "onnx": [ - "sentencepiece>=0.1.91", - "numpy>=1.22", - "onnxruntime>=1.10.0" - ], + "onnx": ["numpy>=1.22", "onnxruntime>=1.10.0", "sentencepiece>=0.1.91"], "thai_nner": ["thai_nner"], "esupar": [ "esupar>=1.3.8", @@ -92,70 +80,62 @@ ], "spacy_thai": ["spacy_thai>=0.7.1"], "transformers_ud": [ - "ufal.chu-liu-edmonds>=1.0.2", "transformers>=4.22.1", + "ufal.chu-liu-edmonds>=1.0.2", ], "dependency_parsing": [ "spacy_thai>=0.7.1", - "ufal.chu-liu-edmonds>=1.0.2", "transformers>=4.22.1", + "ufal.chu-liu-edmonds>=1.0.2", ], - "coreference_resolution":{ - "spacy>=3.0", + "coreference_resolution": [ "fastcoref>=2.1.5", - }, - "word_approximation":{ - "panphon>=0.20.0" - }, + "spacy>=3.0", + ], + "word_approximation": ["panphon>=0.20.0"], "wangchanglm": [ - "transformers>=4.6.0", + "pandas>=0.24", "sentencepiece>=0.1.91", - "pandas>=0.24" + "transformers>=4.6.0", ], - "wsd":{ - "sentence-transformers>=2.2.2" - }, - "el":{ - "multiel>=0.5" - }, - "abbreviation":{ - "khamyo>=0.2.0" - }, + "wsd": ["sentence-transformers>=2.2.2"], + "el": ["multiel>=0.5"], + "abbreviation": ["khamyo>=0.2.0"], "full": [ "PyYAML>=5.3.1", "attacut>=1.0.4", + "bpemb>=0.3.2", "emoji>=0.5.1", "epitran>=1.1", "fairseq>=0.10.0", + "fastai<2.0", + "fastcoref>=2.1.5", "gensim>=4.0.0", + "khamyo>=0.2.0", + "nlpo3>=1.2.2", "nltk>=3.3", "numpy>=1.22", + "onnxruntime>=1.10.0", + "oskut>=1.3", "pandas>=0.24", + "panphon>=0.20.0", + "phunspell>=0.1.6", "pyicu>=2.3", "sacremoses>=0.0.41", - "sentencepiece>=0.1.91", - "ssg>=0.0.8", - "torch>=1.0.0", - "fastai<2.0", - "bpemb>=0.3.2", - "transformers>=4.22.1", "sefr_cut>=1.1", - "phunspell>=0.1.6", + "sentencepiece>=0.1.91", + "sentence-transformers>=2.2.2", + "spacy>=3.0", + "spacy_thai>=0.7.1", "spylls>=0.1.5", + "ssg>=0.0.8", "symspellpy>=6.7.6", - "oskut>=1.3", - "nlpo3>=1.2.2", - "onnxruntime>=1.10.0", "thai_nner", - "wunsen>=0.0.3", - "wtpsplit>=1.0.1", - "spacy_thai>=0.7.1", - "spacy>=3.0", - "fastcoref>=2.1.5", + "torch>=1.0.0", + "transformers>=4.22.1", "ufal.chu-liu-edmonds>=1.0.2", - "panphon>=0.20.0", - "sentence-transformers>=2.2.2", - "khamyo>=0.2.0", + "wtpsplit>=1.0.1", + "wunsen>=0.0.3", ], } @@ -163,7 +143,7 @@ name="pythainlp", version="5.0.4", description="Thai Natural Language Processing library", - long_description=readme, + long_description=LONG_DESC, long_description_content_type="text/markdown", author="PyThaiNLP", author_email="email@wannaphong.com", @@ -179,7 +159,7 @@ include_package_data=True, install_requires=requirements, extras_require=extras, - license="Apache Software License 2.0", + license="Apache-2.0", zip_safe=False, keywords=[ "pythainlp", diff --git a/tests/test_ancient.py b/tests/test_ancient.py index 349a7d3e5..ac3ef2da0 100644 --- a/tests/test_ancient.py +++ b/tests/test_ancient.py @@ -2,6 +2,7 @@ # SPDX-FileCopyrightText: 2016-2024 PyThaiNLP Project # SPDX-License-Identifier: Apache-2.0 import unittest + from pythainlp.ancient import aksonhan_to_current diff --git a/tests/test_augment.py b/tests/test_augment.py index 5b2d81380..8b97ed2e0 100644 --- a/tests/test_augment.py +++ b/tests/test_augment.py @@ -3,15 +3,16 @@ # SPDX-License-Identifier: Apache-2.0 import unittest + import nltk + from pythainlp.augment import WordNetAug -from pythainlp.augment.wordnet import postype2wordnet + # from pythainlp.augment.lm import Thai2transformersAug # from pythainlp.augment.lm.phayathaibert import ThaiTextAugmenter +from pythainlp.augment.word2vec import LTW2VAug from pythainlp.augment.word2vec.bpemb_wv import BPEmbAug -from pythainlp.augment.word2vec import ( - LTW2VAug -) +from pythainlp.augment.wordnet import postype2wordnet class TestTextaugmentPackage(unittest.TestCase): diff --git a/tests/test_benchmarks.py b/tests/test_benchmarks.py index c14a1a94d..45e79617e 100644 --- a/tests/test_benchmarks.py +++ b/tests/test_benchmarks.py @@ -6,6 +6,7 @@ import numpy as np import yaml + from pythainlp.benchmarks import word_tokenization with open("./tests/data/sentences.yml", "r", encoding="utf8") as stream: diff --git a/tests/test_classify.py b/tests/test_classify.py index e993a9a9a..723aad4dd 100644 --- a/tests/test_classify.py +++ b/tests/test_classify.py @@ -3,6 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 import unittest + from pythainlp.classify import GzipModel diff --git a/tests/test_coref.py b/tests/test_coref.py index 2aaf2a8ff..a2e0d301f 100644 --- a/tests/test_coref.py +++ b/tests/test_coref.py @@ -3,6 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 import unittest + from pythainlp.coref import coreference_resolution diff --git a/tests/test_el.py b/tests/test_el.py index 9266ca639..007442f1c 100644 --- a/tests/test_el.py +++ b/tests/test_el.py @@ -3,6 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 import unittest + from pythainlp.el import EntityLinker diff --git a/tests/test_generate.py b/tests/test_generate.py index 6114300fe..6e1db1389 100644 --- a/tests/test_generate.py +++ b/tests/test_generate.py @@ -4,7 +4,7 @@ import unittest -from pythainlp.generate import Unigram, Bigram, Trigram +from pythainlp.generate import Bigram, Trigram, Unigram from pythainlp.generate.thai2fit import gen_sentence diff --git a/tests/test_khavee.py b/tests/test_khavee.py index 69792e015..6b43e4da9 100644 --- a/tests/test_khavee.py +++ b/tests/test_khavee.py @@ -3,6 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 import unittest + from pythainlp.khavee import KhaveeVerifier kv = KhaveeVerifier() diff --git a/tests/test_misspell.py b/tests/test_misspell.py index cc479abd2..51b2bac44 100644 --- a/tests/test_misspell.py +++ b/tests/test_misspell.py @@ -3,7 +3,9 @@ # SPDX-License-Identifier: Apache-2.0 import unittest + import numpy as np + from pythainlp.tools.misspell import misspell diff --git a/tests/test_morpheme.py b/tests/test_morpheme.py index 7a2f054eb..35cdb4bc3 100644 --- a/tests/test_morpheme.py +++ b/tests/test_morpheme.py @@ -3,7 +3,8 @@ # SPDX-License-Identifier: Apache-2.0 import unittest -from pythainlp.morpheme import nighit, is_native_thai + +from pythainlp.morpheme import is_native_thai, nighit class TestMorphemePackage(unittest.TestCase): diff --git a/tests/test_parse.py b/tests/test_parse.py index 265bcfc32..b5ed5b85a 100644 --- a/tests/test_parse.py +++ b/tests/test_parse.py @@ -3,6 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 import unittest + from pythainlp.parse import dependency_parsing diff --git a/tests/test_soundex.py b/tests/test_soundex.py index 35bd718be..cbd8cbe53 100644 --- a/tests/test_soundex.py +++ b/tests/test_soundex.py @@ -11,7 +11,7 @@ soundex, udom83, ) -from pythainlp.soundex.sound import word_approximation, audio_vector +from pythainlp.soundex.sound import audio_vector, word_approximation class TestSoundexPackage(unittest.TestCase): diff --git a/tests/test_summarize.py b/tests/test_summarize.py index faaafc082..114a19d3f 100644 --- a/tests/test_summarize.py +++ b/tests/test_summarize.py @@ -4,7 +4,7 @@ import unittest -from pythainlp.summarize import summarize, extract_keywords +from pythainlp.summarize import extract_keywords, summarize class TestSummarizePackage(unittest.TestCase): diff --git a/tests/test_translate.py b/tests/test_translate.py index d7f94f1cf..e6809a3da 100644 --- a/tests/test_translate.py +++ b/tests/test_translate.py @@ -6,9 +6,10 @@ from pythainlp.translate.en_th import ( EnThTranslator, ThEnTranslator, - download_model_all + download_model_all, ) + class TestTranslatePackage(unittest.TestCase): def test_translate(self): # remove("scb_1m_th-en_spm") diff --git a/tests/test_transliterate.py b/tests/test_transliterate.py index 478716503..77c4c5eda 100644 --- a/tests/test_transliterate.py +++ b/tests/test_transliterate.py @@ -3,12 +3,13 @@ import unittest import torch -from pythainlp.transliterate import romanize, transliterate, pronunciate, puan + +from pythainlp.corpus import remove +from pythainlp.transliterate import pronunciate, puan, romanize, transliterate from pythainlp.transliterate.ipa import trans_list, xsampa_list from pythainlp.transliterate.thai2rom import ThaiTransliterator from pythainlp.transliterate.thai2rom_onnx import ThaiTransliterator_ONNX from pythainlp.transliterate.wunsen import WunsenTransliterate -from pythainlp.corpus import remove _BASIC_TESTS = { None: "", diff --git a/tests/test_ulmfit.py b/tests/test_ulmfit.py index c504731da..81db7ba30 100644 --- a/tests/test_ulmfit.py +++ b/tests/test_ulmfit.py @@ -3,13 +3,14 @@ import pickle import unittest -import pandas as pd -import torch - # fastai import fastai +import pandas as pd +import torch from fastai.text import * + from pythainlp.tokenize import THAI2FIT_TOKENIZER +from pythainlp.ulmfit import * from pythainlp.ulmfit import ( THWIKI_LSTM, ThaiTokenizer, @@ -38,9 +39,6 @@ ) from pythainlp.ulmfit.tokenizer import BaseTokenizer as base_tokenizer -# pythainlp -from pythainlp.ulmfit import * - class TestUlmfitPackage(unittest.TestCase): def test_ThaiTokenizer(self): diff --git a/tests/test_util.py b/tests/test_util.py index ce29784e5..2559f7069 100644 --- a/tests/test_util.py +++ b/tests/test_util.py @@ -22,8 +22,8 @@ count_thai_chars, countthai, dict_trie, - display_thai_char, digit_to_text, + display_thai_char, emoji_to_thai, eng_to_thai, find_keyword, @@ -31,11 +31,11 @@ is_native_thai, isthai, isthaichar, + maiyamok, + nectec_to_ipa, normalize, now_reign_year, num_to_thaiword, - maiyamok, - nectec_to_ipa, rank, reign_year_to_ad, remove_dangling, @@ -45,14 +45,17 @@ remove_trailing_repeat_consonants, remove_zw, rhyme, + sound_syllable, + syllable_length, + syllable_open_close_detector, text_to_arabic_digit, text_to_num, text_to_thai_digit, thai_digit_to_arabic_digit, thai_keyboard_dist, - thai_to_eng, thai_strftime, thai_strptime, + thai_to_eng, thai_word_tone_detector, thaiword_to_date, thaiword_to_num, @@ -61,9 +64,6 @@ tis620_to_utf8, to_idna, tone_detector, - sound_syllable, - syllable_length, - syllable_open_close_detector, words_to_num, ) from pythainlp.util.morse import morse_decode, morse_encode diff --git a/tests/test_wsd.py b/tests/test_wsd.py index b02f57fcf..372c04304 100644 --- a/tests/test_wsd.py +++ b/tests/test_wsd.py @@ -3,6 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 import unittest + from pythainlp.wsd import get_sense diff --git a/tox.ini b/tox.ini index 010ec9dc1..ae24e75d4 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist=py{36,37,38,py3},flake8 +envlist=py{39,310,311,312,313,py3},flake8 skip_missing_interpreters = true [testenv]