Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ repos:
- id: check-hooks-apply
- id: check-useless-excludes
- repo: https://github.com/tox-dev/pyproject-fmt
rev: v2.21.2
rev: v2.29.3
hooks:
- id: pyproject-fmt
- repo: https://github.com/lyz-code/yamlfix
Expand Down Expand Up @@ -47,11 +47,11 @@ repos:
hooks:
- id: yamllint
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.37.2
rev: 0.38.0
hooks:
- id: check-github-workflows
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.12
rev: v0.16.6
hooks:
- id: ruff-check
args:
Expand Down
56 changes: 30 additions & 26 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,47 +29,51 @@ dependencies = [
"flatten-dict",
"networkx>=3.6",
]
[[project.maintainers]]
name = "Hans-Martin von Gaudecker"
email = "hmgaudecker@uni-bonn.de"

[[project.maintainers]]
name = "Tim Mensinger"
email = "mensingertim@gmail.com"
[[project.authors]]
name = "Janoś Gabler"
email = "janos.gabler@gmail.com"

[[project.authors]]
name = "Tobias Raabe"

[[project.authors]]
name = "Tim Mensinger"
email = "mensingertim@gmail.com"

[[project.authors]]
name = "Hans-Martin von Gaudecker"
email = "hmgaudecker@uni-bonn.de"
[[project.maintainers]]
name = "Hans-Martin von Gaudecker"
email = "hmgaudecker@uni-bonn.de"
[[project.maintainers]]
name = "Tim Mensinger"
email = "mensingertim@gmail.com"
[project.urls]
Github = "https://github.com/OpenSourceEconomics/dags"
Repository = "https://github.com/OpenSourceEconomics/dags"
Tracker = "https://github.com/OpenSourceEconomics/dags/issues"

[tool.hatch]
version.source = "vcs"
metadata.allow-direct-references = true
build.hooks.vcs.version-file = "src/dags/_version.py"
build.targets.sdist.exclude = [ "tests" ]
build.targets.sdist.only-packages = true
build.targets.wheel.only-include = [ "src" ]
build.targets.wheel.sources = [ "src" ]
metadata.allow-direct-references = true
version.source = "vcs"

[tool.pixi.workspace]
channels = [ "conda-forge" ]
platforms = [ "linux-64", "osx-64", "osx-arm64", "win-64" ]
[tool.pixi.dependencies]
jupyterlab = "*"
prek = "*"
python = ">=3.11,<3.15"
[tool.pixi.environments]
docs = [ "docs", "py314" ]
py311 = [ "py311", "tests" ]
py312 = [ "py312", "tests" ]
py313 = [ "py313", "tests" ]
py314 = [ "py314", "tests", "type-checking" ]
[tool.pixi.pypi-dependencies]
dags = { path = ".", editable = true }
pdbp = "*"
[tool.pixi.feature.docs.dependencies]
jupyter-book = ">=2.0"
mystmd = "*"
Expand Down Expand Up @@ -100,31 +104,31 @@ ty = "*"
types-networkx = "*"
[tool.pixi.feature.type-checking.tasks]
ty = "ty check"
[tool.pixi.pypi-dependencies]
dags = { path = ".", editable = true }
pdbp = "*"
[tool.pixi.workspace]
channels = [ "conda-forge" ]
platforms = [ "linux-64", "osx-64", "osx-arm64", "win-64" ]
[tool.pixi.environments]
docs = [ "docs", "py314" ]
py311 = [ "py311", "tests" ]
py312 = [ "py312", "tests" ]
py313 = [ "py313", "tests" ]
py314 = [ "py314", "tests", "type-checking" ]

[tool.ruff]
fix = true
unsafe-fixes = false
[tool.ruff.lint]
select = [ "ALL" ]
extend-ignore = [
"ANN401", # Dynamically typed expressions (typing.Any) are disallowed
"COM812", # Conflicts with ruff-format
"EM101", # Exception must not use a string literal
"EM102", # Exception must not use an f-string literal
"FA100", # Missing from __future__ import annotations
"FA102", # Missing from __future__ import annotations
"FIX002", # Line contains TODO
"ISC001", # Conflicts with ruff-format
"TC001", # Move application import into a type-checking block
"TC002", # Move third-party import into a type-checking block
"TC003", # Move standard library import into a type-checking block
"TRY003", # Long messages outside exception class
"ANN401", # Dynamically typed expressions (typing.Any) are disallowed
"FA100", # Missing from __future__ import annotations
"FA102", # Missing from __future__ import annotations
]
per-file-ignores."docs/**/*" = [
"ANN001", # Missing type annotation for function argument
Expand Down Expand Up @@ -161,7 +165,6 @@ pydocstyle.convention = "google"
column_width = 88
max_supported_python = "3.14"
table_format = "long"
collapse_tables = [ "tool.hatch", "tool.pytest", "tool.ty" ]
expand_tables = [
"tool.pixi.dependencies",
"tool.pixi.environments",
Expand All @@ -184,8 +187,10 @@ expand_tables = [
"tool.pixi.pypi-dependencies.dags",
"tool.pixi.workspace",
]
collapse_tables = [ "tool.hatch", "tool.pytest", "tool.ty" ]

[tool.ty]
src.exclude = [ "docs/**/*.ipynb" ]
rules.ambiguous-protocol-member = "error"
rules.deprecated = "error"
rules.division-by-zero = "error"
Expand All @@ -197,12 +202,11 @@ rules.invalid-legacy-positional-parameter = "error"
rules.redundant-cast = "error"
rules.unused-awaitable = "error"
rules.unused-ignore-comment = "error"
src.exclude = [ "docs/**/*.ipynb" ]

[tool.pytest]
ini_options.norecursedirs = [ "docs" ]
ini_options.addopts = [ "--pdbcls=pdbp:Pdb" ]
ini_options.filterwarnings = []
ini_options.norecursedirs = [ "docs" ]

[tool.yamlfix]
line_length = 88
Expand Down