diff --git a/.cruft.json b/.cruft.json index f8d19d0..a58e82b 100644 --- a/.cruft.json +++ b/.cruft.json @@ -1,7 +1,7 @@ { "template": "https://github.com/scverse/cookiecutter-scverse", - "commit": "8e96abb5c3e2d5078c44713958da672711cf2a48", - "checkout": "v0.3.0", + "commit": "586b1652162ff7994b0070a034023d64289ae416", + "checkout": "v0.3.1", "context": { "cookiecutter": { "project_name": "ehrdata", @@ -13,7 +13,8 @@ "project_repo": "https://github.com/theislab/ehrdata", "license": "Apache License Version 2.0", "_copy_without_render": [ - ".github/workflows/**.yaml", + ".github/workflows/build.yaml", + ".github/workflows/test.yaml", "docs/_templates/autosummary/**.rst" ], "_render_devdocs": false, diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index bd82eb5..e663f6e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest environment: name: pypi - url: https://pypi.org/p/{{ cookiecutter.package_name }} + url: https://pypi.org/p/ehrdata permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing steps: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 67e01ee..ad6226e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,28 +6,26 @@ default_stages: - push minimum_pre_commit_version: 2.16.0 repos: - - repo: https://github.com/psf/black - rev: "24.2.0" - hooks: - - id: black - - repo: https://github.com/asottile/blacken-docs - rev: 1.16.0 - hooks: - - id: blacken-docs - repo: https://github.com/pre-commit/mirrors-prettier rev: v4.0.0-alpha.8 hooks: - id: prettier +<<<<<<< ours # Newer versions of node don't work on systems that have an older version of GLIBC # (in particular Ubuntu 18.04 and Centos 7) # EOL of Centos 7 is in 2024-06, we can probably get rid of this then. # See https://github.com/scverse/cookiecutter-scverse/issues/143 and # https://github.com/jupyterlab/jupyterlab/issues/12675 +======= +>>>>>>> theirs - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.2.1 hooks: - id: ruff + types_or: [python, pyi, jupyter] args: [--fix, --exit-non-zero-on-fix] + - id: ruff-format + types_or: [python, pyi, jupyter] - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.5.0 hooks: diff --git a/docs/contributing.md b/docs/contributing.md index bc66c9f..22c89ba 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -93,7 +93,7 @@ Before making a release, you need to update the version number in the `pyproject > Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format. Once you are done, commit and push your changes and navigate to the "Releases" page of this project on GitHub. -Specify `vX.X.X` as a tag name and create a release. For more information, see [managing Github releases][]. This will automatically create a git tag and trigger a Github workflow that creates a release on PyPI. +Specify `vX.X.X` as a tag name and create a release. For more information, see [managing GitHub releases][]. This will automatically create a git tag and trigger a Github workflow that creates a release on PyPI. ## Writing documentation @@ -157,3 +157,4 @@ open _build/html/index.html [numpydoc]: https://numpydoc.readthedocs.io/en/latest/format.html [sphinx autodoc typehints]: https://github.com/tox-dev/sphinx-autodoc-typehints [pypi]: https://pypi.org/ +[managing GitHub releases]: https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository diff --git a/pyproject.toml b/pyproject.toml index 4d87a12..e5aabda 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,13 +31,13 @@ dependencies = [ "seaborn", # for debug logging (referenced from the issue template) - "session-info" + "session-info", ] [project.optional-dependencies] dev = [ "pre-commit", - "twine>=4.0.2" + "twine>=4.0.2", ] doc = [ "docutils>=0.8,!=0.18.*,!=0.19.*", @@ -71,12 +71,15 @@ addopts = [ "--import-mode=importlib", # allow using test files with same name ] -[tool.black] -line-length = 120 - [tool.ruff] -src = ["src"] line-length = 120 +src = ["src"] +extend-include = ["*.ipynb"] + +[tool.ruff.format] +docstring-code-format = true + +[tool.ruff.lint] select = [ "F", # Errors detected by Pyflakes "E", # Error detected by Pycodestyle @@ -91,7 +94,7 @@ select = [ "RUF100", # Report unused noqa directives ] ignore = [ - # line too long -> we accept long comment lines; black gets rid of long code lines + # line too long -> we accept long comment lines; formatter gets rid of long code lines "E501", # Do not assign a lambda expression, use a def -> lambda expression assignments are convenient "E731", @@ -118,10 +121,10 @@ ignore = [ "D213", ] -[tool.ruff.pydocstyle] +[tool.ruff.lint.pydocstyle] convention = "numpy" -[tool.ruff.per-file-ignores] +[tool.ruff.lint.per-file-ignores] "docs/*" = ["I"] "tests/*" = ["D"] "*/__init__.py" = ["F401"] @@ -135,5 +138,5 @@ skip = [ "docs/changelog.md", "docs/references.bib", "docs/references.md", - "docs/notebooks/example.ipynb" + "docs/notebooks/example.ipynb", ]