From 61f66c701797d768cd4728c40d22efb7dc3785bb Mon Sep 17 00:00:00 2001 From: Stefanie Molin <24376333+stefmolin@users.noreply.github.com> Date: Sat, 17 Oct 2026 07:00:42 -0400 Subject: [PATCH 1/3] Update build requirements and added dynamic versioning --- pyproject.toml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e036dc7..794b244 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,9 @@ [build-system] build-backend = "hatchling.build" -requires = [ "hatchling" ] +requires = [ "hatch-vcs", "hatchling" ] [project] name = "docstringify" -version = "2.0.0" description = "Flag missing docstrings and, optionally, generate them from signatures and type annotations." readme = "README.md" keywords = [ @@ -30,6 +29,7 @@ classifiers = [ "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3.15", ] +dynamic = [ "version" ] dependencies = [] urls.Documentation = "https://github.com/stefmolin/docstringify" urls.Homepage = "https://github.com/stefmolin/docstringify" @@ -44,6 +44,9 @@ test = [ "pytest-randomly>=3.12.0", ] +[tool.hatch] +version.source = "vcs" + [tool.ruff] line-length = 88 format.indent-style = "space" From 6104f9983a4de5cb88743d1ffb920f0a569cb2e3 Mon Sep 17 00:00:00 2001 From: Stefanie Molin <24376333+stefmolin@users.noreply.github.com> Date: Sat, 17 Oct 2026 07:03:57 -0400 Subject: [PATCH 2/3] Update lint rule and uv.lock --- pyproject.toml | 2 +- uv.lock | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 794b244..0f54baf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,7 @@ version.source = "vcs" line-length = 88 format.indent-style = "space" format.quote-style = "single" -format.skip-magic-trailing-comma = false +format.skip-magic-trailing-comma = true format.docstring-code-format = true lint.select = [ "ANN", # flake8-annotations diff --git a/uv.lock b/uv.lock index b83ecdd..973f1f3 100644 --- a/uv.lock +++ b/uv.lock @@ -135,7 +135,6 @@ wheels = [ [[package]] name = "docstringify" -version = "2.0.0" source = { editable = "." } [package.dev-dependencies] From 3d258543d554d6aa51d09a5197a164512e75b722 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 17 Oct 2026 11:05:01 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/docstringify/nodes/base.py | 6 +----- src/docstringify/traversal/__init__.py | 5 +---- src/docstringify/traversal/transformer.py | 7 ++----- src/docstringify/traversal/visitor.py | 16 ++++------------ 4 files changed, 8 insertions(+), 26 deletions(-) diff --git a/src/docstringify/nodes/base.py b/src/docstringify/nodes/base.py index c08c6ee..6feb33e 100644 --- a/src/docstringify/nodes/base.py +++ b/src/docstringify/nodes/base.py @@ -28,11 +28,7 @@ class DocstringNode: @overload def __init__( - self, - node: ast.Module, - module_name: str, - source_code: str, - parent: None = None, + self, node: ast.Module, module_name: str, source_code: str, parent: None = None ) -> None: ... @overload diff --git a/src/docstringify/traversal/__init__.py b/src/docstringify/traversal/__init__.py index eefc3b9..28ac5da 100644 --- a/src/docstringify/traversal/__init__.py +++ b/src/docstringify/traversal/__init__.py @@ -3,7 +3,4 @@ from .transformer import DocstringTransformer from .visitor import DocstringVisitor -__all__ = [ - 'DocstringTransformer', - 'DocstringVisitor', -] +__all__ = ['DocstringTransformer', 'DocstringVisitor'] diff --git a/src/docstringify/traversal/transformer.py b/src/docstringify/traversal/transformer.py index 17adc6d..62257c2 100644 --- a/src/docstringify/traversal/transformer.py +++ b/src/docstringify/traversal/transformer.py @@ -164,9 +164,7 @@ def _convert_to_source_code(self) -> str: output_lines.append( indent( self.docstring_converter.format_docstring( - docstring.splitlines(), - indent=0, - quote=True, + docstring.splitlines(), indent=0, quote=True ) + (f'\n{suffix}' if suffix else ''), ' ' * prefix, @@ -199,8 +197,7 @@ def handle_missing_docstring(self, docstring_node: DocstringNode) -> None: ) suggested_docstring = self.docstring_converter.suggest_docstring( - docstring_node, - indent=indent, + docstring_node, indent=indent ) docstring_ast_node = ast.Expr(ast.Constant(suggested_docstring)) diff --git a/src/docstringify/traversal/visitor.py b/src/docstringify/traversal/visitor.py index 6552a56..75dcd77 100644 --- a/src/docstringify/traversal/visitor.py +++ b/src/docstringify/traversal/visitor.py @@ -135,30 +135,22 @@ def process_docstring(self, docstring_node: DocstringNode) -> DocstringNode: @overload def visit_docstring( - self, - node: ast.Module, - docstring_class: type[DocstringNode], + self, node: ast.Module, docstring_class: type[DocstringNode] ) -> ast.Module: ... @overload def visit_docstring( - self, - node: ast.ClassDef, - docstring_class: type[DocstringNode], + self, node: ast.ClassDef, docstring_class: type[DocstringNode] ) -> ast.ClassDef: ... @overload def visit_docstring( - self, - node: ast.FunctionDef, - docstring_class: type[FunctionDocstringNode], + self, node: ast.FunctionDef, docstring_class: type[FunctionDocstringNode] ) -> ast.FunctionDef: ... @overload def visit_docstring( - self, - node: ast.AsyncFunctionDef, - docstring_class: type[FunctionDocstringNode], + self, node: ast.AsyncFunctionDef, docstring_class: type[FunctionDocstringNode] ) -> ast.AsyncFunctionDef: ... def visit_docstring(