[build-system]
requires = ["setuptools>=61.0", "cffi>=1.17.1", "wheel>=0.38.0"]
build-backend = "setuptools.build_meta"

[project]
name = "islenska"
version = "1.3.2"
description = "The vocabulary of modern Icelandic, encapsulated in a Python package"
authors = [{ name = "Miðeind ehf.", email = "mideind@mideind.is" }]
maintainers = [{ name = "Miðeind ehf.", email = "mideind@mideind.is" }]
readme = { file = "README.md", content-type = "text/markdown" }
license = { text = "MIT License" }
keywords = ["nlp", "icelandic", "language", "vocabulary", "dictionary"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: MIT License",
    "Operating System :: Unix",
    "Operating System :: POSIX",
    "Operating System :: Microsoft :: Windows",
    "Operating System :: MacOS",
    "Natural Language :: Icelandic",
    "Programming Language :: Python",
    "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 :: Python :: 3.14",
    "Programming Language :: Python :: Implementation :: CPython",
    # PyPy support is limited to PyPy 3.11 — that is the only PyPy wheel
    # we publish (see CIBW_BUILD in .github/workflows/wheels.yml).
    "Programming Language :: Python :: Implementation :: PyPy",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Utilities",
    "Topic :: Text Processing :: Linguistic",
]
requires-python = ">=3.9"
dependencies = ["cffi>=1.17.1", "typing_extensions"]

[project.urls]
Repository = "https://github.com/mideind/BinPackage"

[project.optional-dependencies]
# dev dependencies
dev = ["pytest", "pyright"]

# *** Configuration of tools ***

[tool.setuptools]
include-package-data = true

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.package-data]
islenska = ["py.typed"]

[tool.ruff]
line-length = 88
#lint.select = ["ALL"] # We use default rules for now
# extend-select = ["E501"] # Complain about line length
# Ignore specific rules
# (we should aim to have these as few as possible)
lint.ignore = [
    "E731", # 'E731: Do not assign a lambda expression, use a def'
]

[tool.isort]
# This forces these imports to placed at the top
known_future_library = ["__future__", "typing", "typing_extensions"]
line_length = 88
