[project] name = "xbrlkit" version = "0.17.1" description = "Work with XBRL filings above Arelle: one parse, portable models" readme = "README.md" requires-python = ">=3.10" authors = [ {name = "RFS LLC"}, ] license = {text = "MIT"} keywords = ["xbrl", "sec", "edgar", "financial", "arelle", "tavi", "oim", "holon", "jsonld", "rdf", "ladybugdb", "property-graph", "parquet"] classifiers = [ "Development Status :: 4 - Beta", "Environment :: Console", "Framework :: Pydantic", "Framework :: Pydantic :: 2", "Intended Audience :: Developers", "Intended Audience :: Financial and Insurance Industry", "License :: OSI Approved :: MIT License", "Natural Language :: English", "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 :: Office/Business :: Financial", "Topic :: Office/Business :: Financial :: Accounting", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities", "Typing :: Typed", ] dependencies = [ "arelle-release", "httpx>=0.28", "pydantic>=2.11", "python-dotenv>=1.0", "rdflib", "pyshacl", "requests>=2.31", # Required by the vendored EDGAR ixt-sec transform registry # (_vendor/arelle_plugins/EDGAR/transform). "regex", ] [project.optional-dependencies] # The property-graph projection: parquet tables and a single-filing LadybugDB # database (`xbrlkit build --format lpg`). lpg = [ "pyarrow>=17", "ladybug>=0.18", ] # The local MCP server over loaded filings (`xbrlkit serve`). mcp = [ "mcp>=2.1", ] dev = [ "basedpyright>=1.21", "ruff>=0.12", "pytest>=8.3", "pytest-asyncio>=0.26", "build>=1.0", "twine>=5.0", "pyarrow>=17", "ladybug>=0.18", "mcp>=2.1", ] [project.scripts] xbrlkit = "xbrlkit.cli:main" [project.urls] Repository = "https://github.com/RoboFinSystems/xbrlkit" Homepage = "https://github.com/RoboFinSystems/xbrlkit#readme" Viewer = "https://xbrlkit.com" "Bug Tracker" = "https://github.com/RoboFinSystems/xbrlkit/issues" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["xbrlkit"] # Keep internal dev tooling out of the sdist uploaded to PyPI. Hatchling # defaults to "everything not in .gitignore", which would drag along # `.claude/`, `.vscode/`, `.githooks/`, and other repo-local config. The # wheel target above is unaffected — it only includes the package dir. [tool.hatch.build.targets.sdist] include = [ "/xbrlkit", "/tests", "/README.md", "/LICENSE", "/pyproject.toml", "/pytest.ini", "/ruff.toml", ] [tool.basedpyright] include = ["xbrlkit"] exclude = ["tests", "xbrlkit/serialize/_kernel", "xbrlkit/_vendor"] extraPaths = ["."] pythonVersion = "3.13" venvPath = "." venv = ".venv" typeCheckingMode = "standard" reportAttributeAccessIssue = "none" reportArgumentType = "none" reportGeneralTypeIssues = "none" reportOptionalMemberAccess = "none" reportReturnType = "none" reportInvalidTypeForm = "none" reportMissingImports = "none"