[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "acikpoz" version = "0.2.2" description = "Structured, machine-readable data from Turkish public construction unit-price (birim fiyat) catalogs." readme = "README.md" license = "MIT" authors = [{ name = "Mehmet Eren Gülmez" }] requires-python = ">=3.10" keywords = [ "turkey", "construction", "unit-price", "birim-fiyat", "pdf-parsing", "cost-estimation", "ai-agents", ] classifiers = [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Financial and Insurance Industry", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Text Processing :: Markup", "Typing :: Typed", ] dependencies = [ "pdfplumber>=0.11", "rich>=13.7", "typer>=0.12", ] [project.optional-dependencies] mcp = ["mcp>=1.2"] [project.urls] Homepage = "https://github.com/gulmezeren2-byte/acikpoz" Repository = "https://github.com/gulmezeren2-byte/acikpoz" Issues = "https://github.com/gulmezeren2-byte/acikpoz/issues" [project.scripts] acikpoz = "acikpoz.cli:main" acikpoz-mcp = "acikpoz.mcp_server:main" [dependency-groups] dev = [ "pytest>=8.0", "ruff>=0.6", "mypy>=1.11", ] [tool.ruff] line-length = 100 target-version = "py310" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "SIM", "RET", "C4"] ignore = ["SIM108"] [tool.ruff.lint.flake8-bugbear] extend-immutable-calls = ["typer.Option", "typer.Argument"] [tool.mypy] python_version = "3.10" strict = false warn_unused_ignores = true warn_redundant_casts = true disallow_untyped_defs = true no_implicit_optional = true [[tool.mypy.overrides]] module = ["pdfplumber", "pdfplumber.*"] ignore_missing_imports = true [[tool.mypy.overrides]] # mcp is an optional extra; the server module guards its import at runtime. module = ["mcp", "mcp.*"] ignore_missing_imports = true follow_imports = "skip" [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-q"