Skip to content

Implement property-decorators configuration option for pydocstyle#3311

Merged
charliermarsh merged 3 commits into
astral-sh:mainfrom
staticssleever668:feat_pydocstyle_property_decorator
Mar 2, 2023
Merged

Implement property-decorators configuration option for pydocstyle#3311
charliermarsh merged 3 commits into
astral-sh:mainfrom
staticssleever668:feat_pydocstyle_property_decorator

Conversation

@staticssleever668
Copy link
Copy Markdown
Contributor

Implements the second part of #2205.
(I did not run pre-commit locally as it's installing the environment indefinitely)

Comment thread crates/ruff/resources/test/fixtures/pydocstyle/D401.py
@charliermarsh
Copy link
Copy Markdown
Member

(I did not run pre-commit locally as it's installing the environment indefinitely)

That's fine, only passing CI is strictly required.

Comment thread crates/ruff/src/rules/pydocstyle/helpers.rs Outdated
Comment on lines +109 to +110
/// Unlike pydocstyle, supplying this option doesn't disable standard
/// property decorators - `@property` and `@cached_property`.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this behavior makes much more sense, but I can make it match pydocstyle. What do you think?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer what you have here.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, although I guess staticmethod_decorators and classmethod_decorators don't work that way. I feel like they should though. Fine to leave it for now, maybe we change those other settings semantics in a follow-up.

Comment thread crates/ruff/src/rules/pydocstyle/rules/non_imperative_mood.rs Outdated
Comment thread crates/ruff/src/visibility.rs Outdated
@charliermarsh charliermarsh merged commit 508bc60 into astral-sh:main Mar 2, 2023
@charliermarsh charliermarsh added the configuration Related to settings and configuration label Mar 2, 2023
@charliermarsh
Copy link
Copy Markdown
Member

Rock! Thank you!

@staticssleever668 staticssleever668 deleted the feat_pydocstyle_property_decorator branch March 2, 2023 22:00
@staticssleever668
Copy link
Copy Markdown
Contributor Author

Thank you for reviewing and merging! :)

renovate Bot referenced this pull request in ixm-one/pytest-cmake-presets Mar 4, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff) | `^0.0.253` ->
`^0.0.254` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.254/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.254/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.254/compatibility-slim/0.0.253)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.254/confidence-slim/0.0.253)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.254`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.254)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.253...v0.0.254)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Rules

- \[`pyupgrade`] Replace tuples with type union in isinstance or
issubclass calls by
[@&#8203;martinlehoux](https://togithub.com/martinlehoux) in
[https://github.com/charliermarsh/ruff/pull/3280](https://togithub.com/charliermarsh/ruff/pull/3280)
- \[`flake8-pyi`] Add flake-pyi PYI033 "Do not use type comments in
stubs" by [@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/3302](https://togithub.com/charliermarsh/ruff/pull/3302)
- \[`flake8-pyi`] PYI006 bad version info comparison by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/3291](https://togithub.com/charliermarsh/ruff/pull/3291)
- \[`pycodestyle`] feat(E251,E252): add rules by
[@&#8203;carlosmiei](https://togithub.com/carlosmiei) in
[https://github.com/charliermarsh/ruff/pull/3274](https://togithub.com/charliermarsh/ruff/pull/3274)
- \[`pycodestyle`] feat(E211): add rule + autofix by
[@&#8203;carlosmiei](https://togithub.com/carlosmiei) in
[https://github.com/charliermarsh/ruff/pull/3313](https://togithub.com/charliermarsh/ruff/pull/3313)
- \[`pycodestyle`] feat(e225,226,227,228): add rules by
[@&#8203;carlosmiei](https://togithub.com/carlosmiei) in
[https://github.com/charliermarsh/ruff/pull/3300](https://togithub.com/charliermarsh/ruff/pull/3300)
- \[`pycodestyle`] feat(W191): add indentation_contains_tabs by
[@&#8203;carlosmiei](https://togithub.com/carlosmiei) in
[https://github.com/charliermarsh/ruff/pull/3249](https://togithub.com/charliermarsh/ruff/pull/3249)
- Redirect `RUF004` to `B026` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3293](https://togithub.com/charliermarsh/ruff/pull/3293)

##### CLI

- Add a `--ignore-noqa` CLI flag to force-ignore noqa directives by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3296](https://togithub.com/charliermarsh/ruff/pull/3296)

##### Settings

- Implement `property-decorators` configuration option for pydocstyle by
[@&#8203;staticssleever668](https://togithub.com/staticssleever668) in
[https://github.com/charliermarsh/ruff/pull/3311](https://togithub.com/charliermarsh/ruff/pull/3311)
- Always include `@classmethod` and `@staticmethod` in decorator lists
by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3314](https://togithub.com/charliermarsh/ruff/pull/3314)
- Detect quote style ignoring docstrings by
[@&#8203;bz2](https://togithub.com/bz2) in
[https://github.com/charliermarsh/ruff/pull/3306](https://togithub.com/charliermarsh/ruff/pull/3306)

##### Bug Fixes

- Deduplicate SIM116 errors by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3260](https://togithub.com/charliermarsh/ruff/pull/3260)
- Don't flag keyword-based logging format strings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3261](https://togithub.com/charliermarsh/ruff/pull/3261)
- Avoid raising TRY200 violations within new scopes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3275](https://togithub.com/charliermarsh/ruff/pull/3275)
- Use expression span for yoda-conditions fixes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3276](https://togithub.com/charliermarsh/ruff/pull/3276)
- Avoid PEP 585 rewrites when builtins are shadowed by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3286](https://togithub.com/charliermarsh/ruff/pull/3286)
- Ignore unused imports in ModuleNotFoundError blocks by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3288](https://togithub.com/charliermarsh/ruff/pull/3288)
- Treat function type annotations within classes as runtime-required by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3312](https://togithub.com/charliermarsh/ruff/pull/3312)
- Extend `RET503` autofixes to "end of statement", including comments by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3324](https://togithub.com/charliermarsh/ruff/pull/3324)
- Handle empty NamedTuple and TypedDict conversions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3251](https://togithub.com/charliermarsh/ruff/pull/3251)
- Use `identifier_range` for a few more rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3254](https://togithub.com/charliermarsh/ruff/pull/3254)
- Match non-lowercase with S105 again by
[@&#8203;scop](https://togithub.com/scop) in
[https://github.com/charliermarsh/ruff/pull/3258](https://togithub.com/charliermarsh/ruff/pull/3258)
- Abort when unable to fix relative imports past module root by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3319](https://togithub.com/charliermarsh/ruff/pull/3319)
- Use presence of convention-specific sections during docstring
inference by [@&#8203;charliermarsh](https://togithub.com/charliermarsh)
in
[https://github.com/charliermarsh/ruff/pull/3325](https://togithub.com/charliermarsh/ruff/pull/3325)
- Treat callables within type definitions as default-non-types by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3329](https://togithub.com/charliermarsh/ruff/pull/3329)
- Explicitly put `Path(...)` in Pathlib violations by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/3333](https://togithub.com/charliermarsh/ruff/pull/3333)

#### New Contributors

- [@&#8203;rouge8](https://togithub.com/rouge8) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/3277](https://togithub.com/charliermarsh/ruff/pull/3277)
- [@&#8203;staticssleever668](https://togithub.com/staticssleever668)
made their first contribution in
[https://github.com/charliermarsh/ruff/pull/3311](https://togithub.com/charliermarsh/ruff/pull/3311)
- [@&#8203;bz2](https://togithub.com/bz2) made their first contribution
in
[https://github.com/charliermarsh/ruff/pull/3306](https://togithub.com/charliermarsh/ruff/pull/3306)
- [@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) made
their first contribution in
[https://github.com/charliermarsh/ruff/pull/3333](https://togithub.com/charliermarsh/ruff/pull/3333)

**Full Changelog**:
astral-sh/ruff@v0.0.253...v0.0.254

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/ixm-one/pytest-cmake-presets).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNTQuNyIsInVwZGF0ZWRJblZlciI6IjM0LjE1NC43In0=-->

Signed-off-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate Bot referenced this pull request in allenporter/flux-local Mar 13, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff) | `==0.0.253` ->
`==0.0.254` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.254/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.254/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.254/compatibility-slim/0.0.253)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.254/confidence-slim/0.0.253)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.254`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.254)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.253...v0.0.254)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

##### What's Changed

##### Rules

- \[`pyupgrade`] Replace tuples with type union in isinstance or
issubclass calls by
[@&#8203;martinlehoux](https://togithub.com/martinlehoux) in
[https://github.com/charliermarsh/ruff/pull/3280](https://togithub.com/charliermarsh/ruff/pull/3280)
- \[`flake8-pyi`] Add flake-pyi PYI033 "Do not use type comments in
stubs" by [@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/3302](https://togithub.com/charliermarsh/ruff/pull/3302)
- \[`flake8-pyi`] PYI006 bad version info comparison by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/3291](https://togithub.com/charliermarsh/ruff/pull/3291)
- \[`pycodestyle`] feat(E251,E252): add rules by
[@&#8203;carlosmiei](https://togithub.com/carlosmiei) in
[https://github.com/charliermarsh/ruff/pull/3274](https://togithub.com/charliermarsh/ruff/pull/3274)
- \[`pycodestyle`] feat(E211): add rule + autofix by
[@&#8203;carlosmiei](https://togithub.com/carlosmiei) in
[https://github.com/charliermarsh/ruff/pull/3313](https://togithub.com/charliermarsh/ruff/pull/3313)
- \[`pycodestyle`] feat(e225,226,227,228): add rules by
[@&#8203;carlosmiei](https://togithub.com/carlosmiei) in
[https://github.com/charliermarsh/ruff/pull/3300](https://togithub.com/charliermarsh/ruff/pull/3300)
- \[`pycodestyle`] feat(W191): add indentation_contains_tabs by
[@&#8203;carlosmiei](https://togithub.com/carlosmiei) in
[https://github.com/charliermarsh/ruff/pull/3249](https://togithub.com/charliermarsh/ruff/pull/3249)
- Redirect `RUF004` to `B026` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3293](https://togithub.com/charliermarsh/ruff/pull/3293)

##### CLI

- Add a `--ignore-noqa` CLI flag to force-ignore noqa directives by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3296](https://togithub.com/charliermarsh/ruff/pull/3296)

##### Settings

- Implement `property-decorators` configuration option for pydocstyle by
[@&#8203;staticssleever668](https://togithub.com/staticssleever668) in
[https://github.com/charliermarsh/ruff/pull/3311](https://togithub.com/charliermarsh/ruff/pull/3311)
- Always include `@classmethod` and `@staticmethod` in decorator lists
by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3314](https://togithub.com/charliermarsh/ruff/pull/3314)
- Detect quote style ignoring docstrings by
[@&#8203;bz2](https://togithub.com/bz2) in
[https://github.com/charliermarsh/ruff/pull/3306](https://togithub.com/charliermarsh/ruff/pull/3306)

##### Bug Fixes

- Deduplicate SIM116 errors by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3260](https://togithub.com/charliermarsh/ruff/pull/3260)
- Don't flag keyword-based logging format strings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3261](https://togithub.com/charliermarsh/ruff/pull/3261)
- Avoid raising TRY200 violations within new scopes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3275](https://togithub.com/charliermarsh/ruff/pull/3275)
- Use expression span for yoda-conditions fixes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3276](https://togithub.com/charliermarsh/ruff/pull/3276)
- Avoid PEP 585 rewrites when builtins are shadowed by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3286](https://togithub.com/charliermarsh/ruff/pull/3286)
- Ignore unused imports in ModuleNotFoundError blocks by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3288](https://togithub.com/charliermarsh/ruff/pull/3288)
- Treat function type annotations within classes as runtime-required by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3312](https://togithub.com/charliermarsh/ruff/pull/3312)
- Extend `RET503` autofixes to "end of statement", including comments by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3324](https://togithub.com/charliermarsh/ruff/pull/3324)
- Handle empty NamedTuple and TypedDict conversions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3251](https://togithub.com/charliermarsh/ruff/pull/3251)
- Use `identifier_range` for a few more rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3254](https://togithub.com/charliermarsh/ruff/pull/3254)
- Match non-lowercase with S105 again by
[@&#8203;scop](https://togithub.com/scop) in
[https://github.com/charliermarsh/ruff/pull/3258](https://togithub.com/charliermarsh/ruff/pull/3258)
- Abort when unable to fix relative imports past module root by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3319](https://togithub.com/charliermarsh/ruff/pull/3319)
- Use presence of convention-specific sections during docstring
inference by [@&#8203;charliermarsh](https://togithub.com/charliermarsh)
in
[https://github.com/charliermarsh/ruff/pull/3325](https://togithub.com/charliermarsh/ruff/pull/3325)
- Treat callables within type definitions as default-non-types by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/3329](https://togithub.com/charliermarsh/ruff/pull/3329)
- Explicitly put `Path(...)` in Pathlib violations by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/3333](https://togithub.com/charliermarsh/ruff/pull/3333)

##### New Contributors

- [@&#8203;rouge8](https://togithub.com/rouge8) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/3277](https://togithub.com/charliermarsh/ruff/pull/3277)
- [@&#8203;staticssleever668](https://togithub.com/staticssleever668)
made their first contribution in
[https://github.com/charliermarsh/ruff/pull/3311](https://togithub.com/charliermarsh/ruff/pull/3311)
- [@&#8203;bz2](https://togithub.com/bz2) made their first contribution
in
[https://github.com/charliermarsh/ruff/pull/3306](https://togithub.com/charliermarsh/ruff/pull/3306)
- [@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) made
their first contribution in
[https://github.com/charliermarsh/ruff/pull/3333](https://togithub.com/charliermarsh/ruff/pull/3333)

**Full Changelog**:
astral-sh/ruff@v0.0.253...v0.0.254

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/allenporter/flux-local).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNjAuMCIsInVwZGF0ZWRJblZlciI6IjM0LjE2MC4wIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

configuration Related to settings and configuration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants