[Bug 1409654] Review Request: python-pydocstyle - Python docstring style checker

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1409654



--- Comment #4 from Tadej Janež <tadej.j@xxxxxx> ---
(In reply to Igor Gnatenko from comment #3)
> (In reply to Tadej Janež from comment #2)
> GitHub should be preferred as it's *real* source (with licenses, tests and
> all stuff). PyPI tarball is pre-processed source (usually without license,
> tests).

I disagree. The PyPI tarball is the actual upstream release tarball, whereas
the GitHub's Source archive link [1] is just a tarball of everything that is in
the git repo.
(As a side-note, pydocstyle actually uses GitHub's Releases feature and they
provide the same release tarball there [2] as is available on PyPI [3].)

I'm sure you know that in the Python world, source distributions are usually
made with 'python setup.py sdist' command. And application authors can control
what gets included in the source distribution by specifying it in setup.py and
MANIFEST.in files.

In pydocstyle's case, the authors decided to include the LICENSE file in the
source distribution (LICENSE-MIT) but they omitted the tests (src/tests). I
think tests are valuable and should be included in the source distribution.
However, I think I should try to persuade the upstream to include them, not
side-step them by using the GitHub's Source archive link.

> Question whether if it will check py2 source code docstrings properly. E.g.
> you have py3-incompatible source.

I checked this with Django 1.4 which is a quite large Python 2 project without
Python 3 support and it works without a problem.

Here are the details:

[tadej@tlinux64 pydocstyle-for-python2-only-code]$ wget -q
https://www.djangoproject.com/download/1.4/tarball -O Django-1.4.tar.gz
[tadej@tlinux64 pydocstyle-for-python2-only-code]$ tar -xf Django-1.4.tar.gz 
[tadej@tlinux64 pydocstyle-for-python2-only-code]$ cd Django-1.4/
[tadej@tlinux64 Django-1.4]$ cat $(which pydocstyle)
#!/usr/bin/python3
# EASY-INSTALL-ENTRY-SCRIPT: 'pydocstyle==1.1.1','console_scripts','pydocstyle'
__requires__ = 'pydocstyle==1.1.1'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('pydocstyle==1.1.1', 'console_scripts',
'pydocstyle')()
    )
[tadej@tlinux64 Django-1.4]$ pydocstyle django
django/contrib/admin/validation.py WARNING: __all__ is defined as a list, this
means pydocstyle cannot reliably detect contents of the __all__ variable,
because it can be mutated. Change __all__ to be an (immutable) tuple, to remove
this warning. Note, pydocstyle uses __all__ to detect which definitions are
public, to warn if public definitions are missing docstrings. If __all__ is a
(mutable) list, pydocstyle cannot reliably assume its contents. pydocstyle will
proceed assuming __all__ is not mutated.
django/contrib/gis/measure.py WARNING: __all__ is defined as a list, this means
pydocstyle cannot reliably detect contents of the __all__ variable, because it
can be mutated. Change __all__ to be an (immutable) tuple, to remove this
warning. Note, pydocstyle uses __all__ to detect which definitions are public,
to warn if public definitions are missing docstrings. If __all__ is a (mutable)
list, pydocstyle cannot reliably assume its contents. pydocstyle will proceed
assuming __all__ is not mutated.
[ ... output trimmed ... ]
django/__init__.py:1 at module level:
        D104: Missing docstring in public package
django/__init__.py:3 in public function `get_version`:
        D401: First line should be in imperative mood ('Derive', not 'Derives')
django/bin/django-admin.py:1 at module level:
        D100: Missing docstring in public module
[ ...  output trimmed ... ]
django/middleware/common.py:148 in private function `_is_internal_request`:
        D401: First line should be in imperative mood ('Return', not 'Returns')
django/middleware/__init__.py:1 at module level:
        D104: Missing docstring in public package
[tadej@tlinux64 Django-1.4]$

> > 
> > BTW, are you volunteering for a review ;-)?
> If you are going to change source to github - then definitely yes ;)

I can change it to
https://github.com/PyCQA/pydocstyle/releases/download/1.1.1/pydocstyle-1.1.1.zip
:-)


[1] https://github.com/PyCQA/pydocstyle/archive/1.1.1.tar.gz
[2]
https://github.com/PyCQA/pydocstyle/releases/download/1.1.1/pydocstyle-1.1.1.zip
[3]
https://files.pythonhosted.org/packages/source/p/pydocstyle/pydocstyle-1.1.1.zip

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]