diff --git a/.cursor/rules/custom-rule.mdc b/.cursor/rules/custom-rule.mdc deleted file mode 100644 index d678d98..0000000 --- a/.cursor/rules/custom-rule.mdc +++ /dev/null @@ -1,12 +0,0 @@ ---- -description: python files -globs: -alwaysApply: false ---- - -# Your rule content - -- We use python 3.10 typing -- For tests we use pytest and parametrize -- We use Google type dosctrings. -- To check syntax we do not run ruff, flake8, but just run pre-commit run --all-files diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1569a83..27d93e5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,7 +61,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13"] steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 95871aa..b8f7e71 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,7 +12,7 @@ ci: repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 + rev: v6.0.0 hooks: - id: check-added-large-files - id: check-ast @@ -49,13 +49,13 @@ repos: - id: codespell additional_dependencies: ["tomli"] - repo: https://github.com/tox-dev/pyproject-fmt - rev: "v2.6.0" + rev: "v2.11.1" hooks: - id: pyproject-fmt additional_dependencies: ["tomli"] - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.11.10 + rev: v0.14.11 hooks: # Run the linter with configuration from pyproject.toml - id: ruff @@ -65,7 +65,7 @@ repos: # Run the formatter. - id: ruff-format - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.15.0 + rev: v1.19.1 hooks: - id: mypy files: ^(google_docstring_parser|tests)/ diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..04050d5 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,26 @@ +# Claude AI Rules + +This document contains rules and guidelines for Claude AI when working on this project. + +## Communication + +- Do not create a summary document on every fix + +## Philosophy + +Our development approach follows this priority order: + +1. **Delete** - First, delete as much code as possible +2. **Simplify** - Second, simplify what remains +3. **Optimize** - Third, optimize if needed + +## Python Development + +- We use Python 3.10 typing +- For tests we use pytest and parametrize +- We use Google type docstrings +- To check syntax we do not run ruff, flake8, but just run `pre-commit run --all-files` + +## Testing + +- We use extensive testing diff --git a/google_docstring_parser/py.typed b/google_docstring_parser/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/pyproject.toml b/pyproject.toml index 9a6b22d..9138f38 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ requires = [ "setuptools>=45", "wheel" ] [project] name = "google-docstring-parser" -version = "0.0.8" +version = "0.0.9" description = "A lightweight, efficient parser for Google-style Python docstrings that converts them into structured dictionaries." readme = "README.md" @@ -14,7 +14,7 @@ license = { text = "Custom License - See LICENSE file for details" } maintainers = [ { name = "Vladimir Iglovikov" } ] authors = [ { name = "Vladimir Iglovikov" } ] -requires-python = ">=3.9" +requires-python = ">=3.10" classifiers = [ "Development Status :: 5 - Production/Stable", @@ -24,11 +24,11 @@ classifiers = [ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Documentation", "Topic :: Software Development :: Libraries", @@ -38,7 +38,6 @@ classifiers = [ dependencies = [ "docstring-parser>=0.16", - "typing-extensions>=4.9; python_version<'3.10'", ] optional-dependencies.dev = [ @@ -50,19 +49,19 @@ optional-dependencies.dev = [ packages = [ "google_docstring_parser", "tools" ] [tool.setuptools.package-data] -google_docstring_parser = [ "*.md" ] +google_docstring_parser = [ "*.md", "py.typed" ] [tool.setuptools.exclude-package-data] "*" = [ "tests*" ] [tool.ruff] # Exclude a variety of commonly ignored directories. -target-version = "py39" +target-version = "py310" line-length = 120 indent-width = 4 -# Assume Python 3.9 +# Assume Python 3.10 exclude = [ ".bzr", ".cursor", @@ -130,7 +129,7 @@ lint.dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" lint.pydocstyle.convention = "google" [tool.mypy] -python_version = "3.9" +python_version = "3.10" ignore_missing_imports = true follow_imports = "silent" warn_redundant_casts = true