| import os |
| import pathlib |
| from sys import version_info, exit |
| from setuptools import setup, find_packages |
| from Cython.Build import cythonize |
| from pkg_resources import parse_requirements |
|
|
| def write_version_py(): |
| version_txt_path = os.path.join("IndicTransToolkit", "version.txt") |
| with open(version_txt_path, "r", encoding="utf-8") as f: |
| version = f.read().strip() |
|
|
| version_py_path = os.path.join("IndicTransToolkit", "version.py") |
| with open(version_py_path, "w", encoding="utf-8") as f: |
| f.write(f'__version__ = "{version}"\n') |
| return version |
|
|
| |
| if version_info < (3, 8): |
| exit("Sorry, Python >= 3.8 is required for IndicTransToolkit.") |
|
|
| |
| with open("README.md", "r", errors="ignore", encoding="utf-8") as fh: |
| long_description = fh.read().strip() |
|
|
| |
| version = write_version_py() |
|
|
| |
| req_file = pathlib.Path("requirements.txt") |
| requirements = [str(req) for req in parse_requirements(req_file.open())] |
|
|
| |
| cython_extensions = cythonize( |
| [ |
| "IndicTransToolkit/processor.pyx", |
| ], |
| compiler_directives={"language_level": "3", "boundscheck": False}, |
| ) |
|
|
| setup( |
| name="IndicTransToolkit", |
| version=version, |
| author="Varun Gumma", |
| author_email="varun230999@gmail.com", |
| description="A simple, consistent, and extendable module for IndicTrans2 tokenizer compatible with HuggingFace models", |
| long_description=long_description, |
| long_description_content_type="text/markdown", |
| url="https://github.com/VarunGumma/IndicTransToolkit", |
| packages=find_packages(), |
| license="MIT", |
| classifiers=[ |
| "Programming Language :: Python :: 3", |
| "License :: OSI Approved :: MIT License", |
| "Operating System :: OS Independent", |
| ], |
| python_requires=">=3.8", |
| install_requires=requirements, |
| ext_modules=cython_extensions, |
| zip_safe=False, |
| ) |
|
|