Spaces:
Running
Running
File size: 1,890 Bytes
0bbf2df |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import numpy
from setuptools import Extension, setup
from Cython.Build import cythonize
# It's good practice to specify encoding for portability
with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()
setup(
name="tibetan text metrics webapp",
version="0.1.0",
author="Daniel Wojahn / Tibetan Text Metrics",
author_email="daniel.wojahn@outlook.de",
description="Cython components for the Tibetan Text Metrics Webapp",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/daniel-wojahn/tibetan-text-metrics",
ext_modules=cythonize(
[
Extension(
"pipeline.fast_lcs", # Module name to import: from pipeline.fast_lcs import ...
["pipeline/fast_lcs.pyx"],
include_dirs=[numpy.get_include()],
)
],
compiler_directives={'language_level' : "3"} # For Python 3 compatibility
),
# Indicates that package data (like .pyx files) should be included if specified in MANIFEST.in
# For simple cases like this, Cythonize usually handles it.
include_package_data=True,
# Although this setup.py is in webapp, it's building modules for the 'pipeline' sub-package
# We don't list packages here as this setup.py is just for the extension.
# The main app will treat 'pipeline' as a regular package.
zip_safe=False, # Cython extensions are generally not zip-safe
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
python_requires='>=3.8',
install_requires=[
"numpy>=1.20", # Ensure numpy is available for runtime if not just build time
],
# setup_requires is deprecated, use pyproject.toml for build-system requirements
)
|