Spaces:
Sleeping
Sleeping
| 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 | |
| ) | |