Comments (7)
Is that the only code in the file? Pydocstyle works fine with f strings on all of my projects.
Further, the error is coming from the standard-library ast parsing library. That means it's not valid python and it wouldn't run anyway so this falls under the principle of
"Garbage in, garbage out"
from pydocstyle.
@sigmavirus24 I drilled it down to that code. And python foo.py
returns no error, so it's valid python. You are right, it's from the stdlib but it seems that pydocstyle passes something wrong to literal_eval
from pydocstyle.
@sigmavirus24 the issue is in pydocstyle/checker.py
check_docstring_empty
. It passes the whole code to ast.literal_eval
which is not valid, because literal_eval cannot handled f-strings. I'm happy to open a PR if you want
from pydocstyle.
@kasium you misunderstand me. f-strings cannot be documentation strings. Docstrings must be string literals. In other words, pydocstyle
has every right - when it encounters something that appears to be a docstring - to attempt to use ast.literal_eval
.
A file that has a string and only a string in it, would appear to have a docstring. That docstring being an f-string means that it's a garbage file since f-strings cannot be docstrings.
I think it makes sense that we attempt to catch this and report an error but I don't think the tool is doing anything other than exposing an exception to the user.
from pydocstyle.
@sigmavirus24 I just found #381. Not sure about the process but I'm willing to pick it up since there is no progress since 2020.
I guess a new PR makes sense, right?
from pydocstyle.
@kasium yes, I think that does make sense. There is some significant review there though about a better way to implement that, so don't feel too attached to what's there if it turns out to slow you down
from pydocstyle.
Okay, let me read it and create a new PR to start with a fresh base. Thanks for your timely answers !
from pydocstyle.
Related Issues (20)
- option to ban `noqa` comments that don't specify a code
- D102 - false positive on overload with comment
- cosmetic bug: wrong version stamp in webpage title: 1.0.0 instead of 2.1.1
- The match-dir parameter is not used. HOT 4
- Not detecting wrong DocStrings HOT 1
- Your website is down - https://pydocstyle.org HOT 3
- Docs website is down? HOT 1
- sdist: PKG-INFO should list LICENSE-MIT in License-File
- `D300` and `D301` false positives on docstrings with escaped triple quotes in them
- Should `__main__.py` really be considered a public module?
- Option to not report error for empty file HOT 1
- test_simple_fstring and test_fstring_with_args fail with Python 3.12 beta HOT 2
- 6.3.0: incorrect version in pyproject.toml?🤔 HOT 2
- pydocstyle 6.3.0 fails silently on a python script that has no .py extension
- Rule for missing PEP 698 `@overrides` decorators?
- Keyword Args not recognized in Google convention with no return
- Python3.12: Two tests fail HOT 1
- Google convention section names not properly checked
- D417 not raised in a standard Google configuration with missing arguments descriptions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pydocstyle.