[build-system] requires = ['maturin>=1,<2', 'typing_extensions'] build-backend = 'maturin' [project] name = 'limbo' description = "Limbo is a work-in-progress, in-process OLTP database management system, compatible with SQLite." requires-python = '>=3.8' classifiers = [ 'Development Status :: 3 - Alpha', 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3 :: Only', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', 'Programming Language :: Rust', 'License :: OSI Approved :: MIT License', 'Operating System :: POSIX :: Linux', 'Operating System :: Microsoft :: Windows', 'Operating System :: MacOS', 'Topic :: Database', 'Topic :: Software Development :: Libraries', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: Database :: Database Engines/Servers', ] dependencies = ['typing-extensions >=4.6.0,!=4.7.0'] dynamic = ['readme', 'version'] [project.optional-dependencies] dev = [ "black==24.4.2", "isort==5.13.2", "mypy==1.11.0", "pytest==8.3.1", "pytest-cov==5.0.0", "ruff==0.5.4", ] [project.urls] Homepage = "https://github.com/penberg/limbo" Source = "https://github.com/penberg/limbo" [tool.maturin] bindings = 'pyo3' module-name = "limbo._limbo" features = ["pyo3/extension-module"] [tool.ruff] line-length = 120 [tool.ruff.lint] extend-select = ['Q', 'RUF100', 'C90', 'I'] extend-ignore = [ 'E721', # using type() instead of isinstance() - we use this in tests ] flake8-quotes = { inline-quotes = 'single', multiline-quotes = 'double' } mccabe = { max-complexity = 13 } isort = { known-first-party = ['pydantic_core', 'tests'] } [tool.ruff.format] quote-style = 'single' [tool.pytest.ini_options] testpaths = 'tests' log_format = '%(name)s %(levelname)s: %(message)s' [tool.coverage.run] source = ['limbo'] branch = true [tool.coverage.report] precision = 2 exclude_lines = [ 'pragma: no cover', 'raise NotImplementedError', 'if TYPE_CHECKING:', '@overload', ]