diff --git a/.gitignore b/.gitignore
index 31892b2..2569dec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,3 +41,9 @@ examples/.ipynb_checkpoints
# Node
node_modules
package-lock.json
+
+# uv
+uv.lock
+
+# graft's local graph cache — regenerable, not committed (run `graft build`).
+/graft/
diff --git a/.ignore b/.ignore
new file mode 100644
index 0000000..615e581
--- /dev/null
+++ b/.ignore
@@ -0,0 +1,5 @@
+# graft's cards are gitignored but should stay greppable: ripgrep reads
+# .ignore before .gitignore, so this re-admits the tree to search only.
+!graft/
+graft/.cache/
+graft/.graph/
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 7c3e64d..70cb43b 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -11,7 +11,7 @@ repos:
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
- rev: v9.26.0
+ rev: v9.27.0
hooks:
- id: commitlint
language_version: 20.17.0
@@ -19,11 +19,11 @@ repos:
- commit-msg
additional_dependencies: ['conventional-changelog-conventionalcommits@4.6.3']
- repo: https://github.com/pycqa/isort
- rev: 9.0.1
+ rev: 9.0.2
hooks:
- id: isort
- repo: https://github.com/psf/black-pre-commit-mirror
- rev: 26.5.1
+ rev: 26.10.0
hooks:
- id: black
- repo: https://github.com/codespell-project/codespell
@@ -37,7 +37,7 @@ repos:
- id: pydocstyle
additional_dependencies: ["tomli"]
- repo: https://github.com/PyCQA/flake8
- rev: 7.3.0
+ rev: 7.4.1
hooks:
- id: flake8
ci:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4eec3bc..36dda2e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,32 +2,32 @@
We would love for you to contribute to this package and help make it even better than it is today!
As a contributor, here are the guidelines we would like you to follow:
-* [Issues and Bugs](#issue)
-* [Feature Requests](#feature)
-* [Submission Guidelines](#submit)
+* [Issues and Bugs](#got-a-question-or-found-a-bug)
+* [Feature Requests](#missing-a-feature)
+* [Submission Guidelines](#submission-guidelines)
-## Got a question or found a bug?
+## Got a question or found a bug?
If you have a question or find a bug in the source code, you can help us by
-[submitting an issue](#submit-issue) to our [GitHub Repository][github]. Even better, you can
-[submit a Pull Request](#submit-pr) with a fix.
+[submitting an issue](#submitting-an-issue) to our [GitHub Repository][github]. Even better, you can
+[submit a Pull Request](#submitting-a-pull-request-pr) with a fix.
-## Missing a Feature?
+## Missing a Feature?
-You can *request* a new feature by [submitting an issue](#submit-issue) to our
+You can *request* a new feature by [submitting an issue](#submitting-an-issue) to our
[GitHub Repository][github]. If you would like to *implement* a new feature, please submit an
issue with a proposal for your work first, to be sure that we can use it. Then
-[submit a Pull Request](#submit-pr) that points to this issue.
+[submit a Pull Request](#submitting-a-pull-request-pr) that points to this issue.
Please consider what kind of change it is:
* For a **Major Feature**, first open an issue and outline your proposal so that it can be
discussed. This will also allow us to better coordinate our efforts, prevent duplication of work,
and help you to craft the change so that it is successfully accepted into the project.
-* **Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr).
+* **Small Features** can be crafted and directly [submitted as a Pull Request](#submitting-a-pull-request-pr).
-## Submission Guidelines
+## Submission Guidelines
-### Submitting an Issue
+### Submitting an Issue
Before you submit an issue, please search the issue tracker, maybe an issue for your problem
already exists and the discussion might inform you of workarounds readily available.
@@ -37,7 +37,7 @@ and confirm it. In order to reproduce bugs we will need as much information as p
[Minimal Working Example](https://stackoverflow.com/help/minimal-reproducible-example), and
preferably be in touch with you to gather information.
-### Submitting a Pull Request (PR)
+### Submitting a Pull Request (PR)
When you wish to contribute to the code base, please consider the following guidelines:
* Make a [fork](https://guides.github.com/activities/forking/) of this repository.
@@ -119,7 +119,7 @@ main (upstream) repository:
git pull --ff upstream main
```
-### Releasing a new version
+### Releasing a new version
Releasing a new version can only be done by the maintainers.
diff --git a/docs/source/_static/custom.css b/docs/source/_static/custom.css
new file mode 100644
index 0000000..0f3fd7f
--- /dev/null
+++ b/docs/source/_static/custom.css
@@ -0,0 +1,4 @@
+/* Keep section titles visible below the fixed header when following an anchor link */
+section {
+ scroll-margin-top: 4rem;
+}
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 259cd2d..11da668 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -65,7 +65,8 @@
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
-# html_static_path = ['_static']
+html_static_path = ["_static"]
+html_css_files = ["custom.css"]
html_theme_options = {
"metadata_distribution": package_name,