gonidium 0.0.4

A DSL compiler and REPL for typed numeric expression pipelines
Documentation
[project]
name = "gonidium"
description = "Python bindings for the Gonidium DSL compiler"
readme = "README.md"
requires-python = ">=3.12"
license = "MIT"
license-files = ["LICENSE"]
authors = [{ name = "Zhan Rongrui" }]
dynamic = ["version"]

[build-system]
requires = ["maturin>=1.10,<2.0"]
build-backend = "maturin"

[tool.maturin]
features = ["python"]
module-name = "gonidium._gonidium"
python-source = "python"

[tool.ruff]
line-length = 100
src = ["src", "packages", "tests"]
target-version = "py312"

[tool.ruff.lint]
select = [
  "F",
  "SIM",
  "UP",
  "FA",  # flake8-annotations
  "I",  # isort
  "B",  # flake8-bugbear
  "C4",  # flake8-comprehensions
  "PGH",  # pygrep-hooks
  "RUF",
  "E",  # pycodestyle
  "W",  # pycodestyle
  "YTT",  # flake8-2020
  "D",  # pydocstyle
]
ignore = ["D100", "D104", "D105", "D107"]

[tool.ruff.lint.pydocstyle]
convention = "google"

[tool.ruff.lint.isort]
known-first-party = ["gonidium"]

[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"]
"tests/**" = ["D"]

[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"