shlesha 0.5.7

High-performance extensible transliteration library with hub-and-spoke architecture
Documentation
[build-system]
requires = ["maturin>=1.0,<2.0"]
build-backend = "maturin"

[project]
name = "shlesha"
description = "High-performance extensible transliteration library for Sanskrit and Indic scripts"
authors = [
    {name = "udapaana"},
]
license = {text = "MIT OR Apache-2.0"}
keywords = ["transliteration", "sanskrit", "indic", "devanagari", "unicode"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: MIT License",
    "License :: OSI Approved :: Apache Software License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Rust",
    "Topic :: Text Processing :: Linguistic",
    "Topic :: Software Development :: Libraries :: Python Modules",
]
requires-python = ">=3.9"
dependencies = []
dynamic = ["version"]

[project.urls]
homepage = "https://github.com/udapaana/shlesha"
repository = "https://github.com/udapaana/shlesha"
documentation = "https://github.com/udapaana/shlesha/blob/main/README.md"

[project.optional-dependencies]
dev = [
    "pytest>=6.0",
    "pytest-benchmark>=3.4",
    "maturin>=1.0,<2.0",
]
test = [
    "pytest>=6.0",
    "pytest-asyncio>=0.20.0",
]
docs = [
    "sphinx>=4.0",
    "sphinx-rtd-theme>=1.0",
]

[tool.maturin]
features = ["pyo3/extension-module", "python"]
module-name = "shlesha.shlesha"

# Removed pytest configuration as python/ directory was removed

[tool.uv]
dev-dependencies = [
    "pytest>=6.0",
    "pytest-benchmark>=3.4",
    "maturin>=1.0,<2.0",
]

[tool.cibuildwheel]
# Build wheels for Python 3.9-3.13 on all platforms
build = "cp39-* cp310-* cp311-* cp312-* cp313-*"
# Skip 32-bit builds and musl builds to save time and focus on main platforms
skip = "*-win32 *-manylinux_i686 *-musllinux_*"
# Use maturin for building Rust extensions with Python features
before-build = "pip install maturin"
build-frontend = "pip"
# Set environment variable for PyO3 compatibility
environment = {PYO3_USE_ABI3_FORWARD_COMPATIBILITY = "1"}
# Test that the wheel imports correctly
test-command = "python -c \"import shlesha; print('shlesha wheel import test passed')\""