[build-system] requires = ["hatchling>=1.21"] build-backend = "hatchling.build" [project] name = "finir-intent" dynamic = ["version"] description = "FinIR-Intent: natural-language financial instructions to the canonical FinIR Intent Contract." readme = "README.md" requires-python = ">=3.11" license = { text = "Apache-2.0" } # FinIR-Intent (the Hugging Face natural-language workstream) was contributed by # Alisha Fatima (@AlishaFatima16). No private email is recorded here by request; the # public author string can be adjusted later if needed. authors = [{ name = "Alisha Fatima (@AlishaFatima16)" }] maintainers = [{ name = "Olyxee" }] keywords = ["finir", "financial-nlp", "structured-generation", "hugging-face"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Office/Business :: Financial", ] dependencies = [ # Compatible FinIR runtime (published on PyPI). The contract range is stated in # docs/huggingface-intent-handoff.md and src/finir_intent/_version.py. "finir>=0.1.0,<0.2.0", ] [project.optional-dependencies] space = ["gradio>=4.0"] dev = [ "pytest>=8.1", "jsonschema>=4.21", ] [tool.hatch.version] path = "src/finir_intent/_version.py" [tool.hatch.build.targets.wheel] packages = ["src/finir_intent"] [tool.ruff] line-length = 100 target-version = "py311" src = ["src", "tests", "eval", "space"] [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "C4", "SIM", "RUF"] ignore = ["E501"] # line length is owned by the formatter, matching the core finir repo [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src"]