-
-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.4.1: pytest flake8 errors and warnings #21
Comments
Hello! The Exxx errors are reported in The other Hxxx are probably reported by hacking, a tool we don’t use. |
Ha 😎 |
We use flit to generate our packages. |
Really bad because --- a/pyproject.toml 2020-10-29 22:06:49.000000000 +0000
+++ b/pyproject.toml 2021-09-03 17:44:33.344833893 +0100
@@ -1,6 +1,5 @@
[build-system]
-requires = ['flit']
-build-backend = 'flit.buildapi'
+requires = ["setuptools", "wheel"]
[tool.flit.metadata]
module = 'cssselect2'
--- a/setup.py 1970-01-01 01:00:00.000000000 +0100
+++ b/setup.py 2021-02-01 09:26:14.000000000 +0000
@@ -0,0 +1,3 @@
+from setuptools import setup
+
+setup() Wit that patch still is possible to generate documentation using + SPHINXOPTS=-j48
+ /usr/bin/python3 setup.py build_sphinx -b man --build-dir build/sphinx
running build_sphinx
Running Sphinx v4.1.2
making output directory... done
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://pythonhosted.org/webencodings/objects.inv...
loading intersphinx inventory from https://doc.courtbouillon.org/tinycss2/latest/objects.inv...
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 6 added, 0 changed, 0 removed
reading sources... [100%] support
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
writing... python-cssselect2.3 { first_steps api_reference changelog contribute support } done
build succeeded.
The manual pages are in build/sphinx/man. Please let me know if you want that patch as PR. BTW: using tagged git tar ball pytest still is failing: + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-cssselect2-0.4.1-2.1.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-cssselect2-0.4.1-2.1.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.10.0, pluggy-0.13.1
benchmark: 3.4.1 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
Using --randomly-seed=4186984689
rootdir: /home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1, configfile: pyproject.toml
plugins: forked-1.3.0, shutil-1.7.0, virtualenv-1.7.0, expect-1.1.0, flake8-1.0.7, timeout-1.4.2, betamax-0.8.1, freezegun-0.4.2, aspectlib-1.5.2, toolbox-0.5, rerunfailures-9.1.1, requests-mock-1.9.3, cov-2.12.1, flaky-3.7.0, benchmark-3.4.1, xdist-2.3.0, pylama-7.7.1, datadir-1.3.1, regressions-2.2.0, cases-3.6.3, xprocess-0.18.1, black-0.3.12, anyio-3.3.0, asyncio-0.15.1, trio-0.7.0, subtests-0.5.0, isort-2.0.0, hypothesis-6.14.6, mock-3.6.1, profiling-1.7.0, randomly-3.8.0, Faker-8.12.1, nose2pytest-1.0.8, pyfakefs-4.5.1, tornado-0.8.1, twisted-1.13.3
collected 255 items
tests/test_cssselect2.py . [ 0%]
docs/conf.py . [ 0%]
tests/test_cssselect2.py .............. [ 6%]
tests/__init__.py . [ 6%]
tests/test_cssselect2.py .................................................. [ 26%]
cssselect2/parser.py F [ 26%]
tests/test_cssselect2.py .............. [ 32%]
docs/conf.py . [ 32%]
tests/test_cssselect2.py .. [ 33%]
cssselect2/tree.py . [ 33%]
cssselect2/__init__.py . [ 34%]
tests/test_cssselect2.py .... [ 35%]
setup.py . [ 36%]
tests/test_cssselect2.py . [ 36%]
cssselect2/compiler.py . [ 36%]
docs/example.py . [ 37%]
tests/test_cssselect2.py ...................................xx. [ 52%]
cssselect2/__init__.py . [ 52%]
tests/test_cssselect2.py ................. [ 59%]
tests/__init__.py . [ 59%]
tests/test_cssselect2.py ................. [ 66%]
docs/example.py . [ 66%]
tests/test_cssselect2.py ..F.. [ 68%]
cssselect2/tree.py F [ 69%]
tests/test_cssselect2.py ................ [ 75%]
cssselect2/compiler.py F [ 75%]
tests/test_cssselect2.py ............x............ [ 85%]
cssselect2/parser.py . [ 85%]
tests/test_cssselect2.py ......... [ 89%]
setup.py . [ 89%]
tests/test_cssselect2.py .......................... [100%]
================================================================================= FAILURES =================================================================================
_______________________________________________________________________________ FLAKE8-check _______________________________________________________________________________
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:26:16: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:48:13: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:96:9: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:99:9: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:100:16: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:106:9: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:110:9: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:111:16: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:113:20: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:142:39: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:149:13: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:162:16: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:174:9: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:176:16: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:187:12: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:205:23: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:210:9: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:217:16: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:224:9: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:227:9: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:233:12: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/parser.py:268:13: B305 `.next()` is not a thing on Python 3. Use the `next()` builtin. For Python 2 compatibility, use `six.next()`.
---------------------------------------------------------------------------- Captured log call -----------------------------------------------------------------------------
WARNING flake8.options.manager:manager.py:186 option --indent-size: please update `help=` text to use %(default)s instead of %default -- this will be an error in the future
WARNING flake8.options.manager:manager.py:207 option --max-complexity: please update from optparse string `type=` to argparse callable `type=` -- this will be an error in the future
_______________________________________________________________________________ FLAKE8-check _______________________________________________________________________________
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/tests/test_cssselect2.py:12:38: H301: one import per line
---------------------------------------------------------------------------- Captured log call -----------------------------------------------------------------------------
WARNING flake8.options.manager:manager.py:186 option --indent-size: please update `help=` text to use %(default)s instead of %default -- this will be an error in the future
WARNING flake8.options.manager:manager.py:207 option --max-complexity: please update from optparse string `type=` to argparse callable `type=` -- this will be an error in the future
_______________________________________________________________________________ FLAKE8-check _______________________________________________________________________________
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:3:44: H301: one import per line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:16:49: B008 Do not perform function calls in argument defaults. The call is performed only once at function definition time. All calls to your function will reuse the result of that definition-time function call. If this is intended, assign the function call to a module-level variable and use that variable as a default value.
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:27:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:27:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:28:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:28:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:29:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:29:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:30:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:30:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:31:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:31:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:32:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:32:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:33:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:33:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:34:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:34:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:35:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:35:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:36:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:36:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:37:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:37:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:38:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:38:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:39:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:39:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:40:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:40:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:62:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:63:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:64:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:65:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:66:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:67:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:68:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:69:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:119:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:120:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:121:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:122:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:123:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:124:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:125:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:126:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:133:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:134:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:135:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:136:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:137:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:138:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:139:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:140:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:147:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:148:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:149:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:150:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:151:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:164:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:165:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:166:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:167:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:168:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:169:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:170:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:171:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:172:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:173:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:174:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:175:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:176:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:177:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:211:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:211:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:212:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:212:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:213:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:213:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:214:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:214:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:215:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:215:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:216:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:216:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:217:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:217:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:218:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:218:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:219:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:219:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:220:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:220:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:221:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:221:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:222:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:222:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:223:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:223:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:224:1: H404: multi line docstring should start without a leading new line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:224:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:238:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:239:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:240:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:241:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:242:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:243:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:244:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:245:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:246:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:247:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:248:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:253:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:254:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:255:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:256:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:257:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:258:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:259:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:260:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:261:1: H405: multi line docstring summary not separated with an empty line
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/tree.py:262:1: H405: multi line docstring summary not separated with an empty line
---------------------------------------------------------------------------- Captured log call -----------------------------------------------------------------------------
WARNING flake8.options.manager:manager.py:186 option --indent-size: please update `help=` text to use %(default)s instead of %default -- this will be an error in the future
WARNING flake8.options.manager:manager.py:207 option --max-complexity: please update from optparse string `type=` to argparse callable `type=` -- this will be an error in the future
_______________________________________________________________________________ FLAKE8-check _______________________________________________________________________________
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/cssselect2/compiler.py:207:42: H101: Use TODO(NAME)
---------------------------------------------------------------------------- Captured log call -----------------------------------------------------------------------------
WARNING flake8.options.manager:manager.py:186 option --indent-size: please update `help=` text to use %(default)s instead of %default -- this will be an error in the future
WARNING flake8.options.manager:manager.py:207 option --max-complexity: please update from optparse string `type=` to argparse callable `type=` -- this will be an error in the future
---------- coverage: platform linux, python 3.8.12-final-0 -----------
Name Stmts Miss Branch BrPart Cover
------------------------------------------------------------
cssselect2/__init__.py 46 35 20 0 17%
cssselect2/compiler.py 172 12 142 10 92%
cssselect2/parser.py 252 7 98 8 96%
cssselect2/tree.py 143 9 59 7 91%
tests/__init__.py 0 0 0 0 100%
tests/test_cssselect2.py 210 6 24 2 97%
------------------------------------------------------------
TOTAL 823 69 343 27 90%
========================================================================= short test summary info ==========================================================================
XFAIL tests/test_cssselect2.py::test_valid_selectors[test107]
reason:
XFAIL tests/test_cssselect2.py::test_invalid_selectors[test27]
reason:
XFAIL tests/test_cssselect2.py::test_invalid_selectors[test28]
reason:
FAILED cssselect2/parser.py::FLAKE8
FAILED tests/test_cssselect2.py::FLAKE8
FAILED cssselect2/tree.py::FLAKE8
FAILED cssselect2/compiler.py::FLAKE8
================================================================= 4 failed, 248 passed, 3 xfailed in 4.94s =================================================================
pytest-xprocess reminder::Be sure to terminate the started process by running 'pytest --xkill' if you have not explicitly done so in your fixture with 'xprocess.getinfo(<process_name>).terminate()'. |
No that patch is only beginnig full switch to setuptools :/ |
Thanks for your work on this, but we’re actually really happy with Flit. It’s just a tool to create packages, for sure, but we find it really good at this. You can launch tests with I’m closing the issue now, as the original problem (flake8 errors and warnings) is caused by third-party plugins that we don’t use. |
Maybe you are happy however whoever would like to build documentation may be less happier |
We’re really sorry to see that this choice gives you problems, and we’d be really happy to help. What could you do with
We know that, and we’re really grateful for your help.
I actually know this problem, because I create packages too. There’s been a quite long conversation in Kozea/WeasyPrint#1410 about this issue, and I’d really like to fully understand the problems met by packagers in order to help them. As a summary, my current point of view is that:
As explained in Kozea/WeasyPrint#1410, I’d be really interested in discussing this topic, understanding everybody’s point of view, and of course changing my mind 😉. |
In case of my packages: [tkloczko@barrel SPECS]$ grep -w %py3_build python-*| wc -l; ls -l python-* | wc -l
609
616 (as you see in ~99% of all cases was possible to use
OK so how to:
~80% of all .whl files are stipped documentation and test suites. [tkloczko@barrel SPECS]$ grep -w "Source0:.*VCS" python-*| wc -l; ls -l python-* | wc -l
511
616 Especially striping down test suites is painful as looks like some people do not understand that executing packages test suites allows detest many issues not only in just packaged stuff but software which is in build env. Will show you some stats from my packages: [tkloczko@barrel SPECS]$ grep -w ^%pytest python-*| wc -l; ls -l python-* | wc -l
560
616 And the same metric out of Fedora spec files: [tkloczko@barrel SPECS.fedora]$ grep -w ^%pytest python-*| wc -l; ls -l python-* | wc -l
358
2611
This authority does not need to agree on anything as +98% of all packages is possible to build using
In this world we are dealing with only no-so-well-tested-software.
I woiud like to see example of such issue.
Additionally
That is small issue. Everything else is working without any issues. Using .whl files as interim archive additionally crates on packaging layer few new issue:
|
Of course, as setuptools has been the only solution for a very long time.
Actually, only two problems for you 😉.
With setuptools, and with custom Python code. As I said, "avoid the need to execute custom setup.py scripts for packaging and installation in many cases", not always. The goal of the new PEPs is not to replace setuptools. The goal is to provide a standard format allowing users and packagers to package and install the code is a defined way. Having a standard gives the possibility to have different tools for that. In a perfect world, the distribution packaging workflow would be:
In more and more cases, these two first steps can now be done without even knowing which tools are used for packaging.
Sure, wheels are mainly defined to store and distribute code. You know that distributions are very opinionated about what to install, where to install, how to install. The PyPA can’t solve all these problems at once 😞. At least they proposed a standard that works with Python code and data specific to the installed packages. That’s a start.
If you want to do more than to install code, you can use the source package distributed on PyPI. You can launch tests by launching
I agree 😄.
Again, I agree.
That’s not true anymore. It’s recently been standardized in PEP 621.
Here, I disagree. Yes, having a new standard means that new ways of packaging are possible. It also means that new tools have to be written, and that’s frustrating. But saying that Packaging with Python is a mess. Python Packaging can definitely be improved. But of course, it requires packagers to write new tools, and that’s painful. The difference is that, by building wheels, you can rely on a standard for more and more cases. When a package doesn’t follow the standard, we can complain, and it’s often easier to find an agreement. When a package use an undocumented
Then you’re fighting the wrong guy 😄. Python explains in PEP 517 that:
I just followed what the Python devs agreed on 3 years ago. Some of your points may be relevant, but you’ll have to convince them, not me ❤️. |
Actually one because one is already solved in form of PR. Both problem have been exposed because I'm trying to use setuptools<>sphinx integration to generate, build and install modules documentation as man pages. [tkloczko@barrel rpmbuild]$ man python-
Display all 273 possibilities? (y or n)
python-amqp python-greenlet python-parver python-smmap.tex
python-anyiodoc python-h11 python-paste python-sniffio
python-anytree python-h2 python-paste-deploy python-sos
python-argcomplete python-hacking python-path python-sphinx-argparse
python-argon2-cffi python-hpack python-pathspec python-sphinx-click
python-arrow python-html5lib python-pep517 python-sphinxcontrib-asyncio
python-asgi python-httpcore python-pillow python-sphinxcontrib-autoprogram
python-aspectlib python-httplib2 python-platformdirs python-sphinxcontrib-bibtex
python-astor python-hypercorn python-pluggy python-sphinxcontrib-httpdomain
python-astroid python-hyperframe python-polib python-sphinxcontrib-programoutput
python-async_generator python-hyperlink python-prb python-sphinxcontrib-trio
python-atomicwrites python-hypothesis python-priority python-sphinxcopybutton
python-attrs python-ifaddr python-productmd-compose python-sphinxext-opengraph
python-augeas python-importlib-metadata python-productmd-composeinfo python-sphinx-inline-tabs
python-autodocsumm python-inflect python-productmd-discinfo python-sphinx-removed-in
python-automat python-ipykernel python-productmd-images python-sphinx_rtd_theme
python-babel python-ipythonparallel python-productmd-rpms python-sphinx-tabs
python-backcall python-itsdangerous python-productmd-terminology python-sphinx-typlog-theme
python-backports.entry-points-selectable python-jaraco-classes python-productmd-treeinfo python-sphobjinv
python-benchmark python-jaraco-collections python-prompt_toolkit python-sqlalchemy
python-betamax python-jaraco-envs python-psutil python-sqlparse
python-billiard python-jaraco-functools python-ptyprocess python-stdlib-list
python-bleach python-jaraco.itertools python-purl python-stem
python-blinker python-jaraco-packaging python-py python-sure
python-boto3 python-jaraco-path python-pyasn1 python-sybil
python-botocore python-jaraco-text python-pybtex python-systemd
python-bottle python-jedi python-pybtex-docutils python-tempora
python-breathe python-Jinja python-pycodestyle python-terminado
python-build python-jinja2_pluralize python-pydocstyle python-testpath
python-cachetools python-jmespath python-pyfakefs python-test_server
python-cffi python-jsonschema python-pyftpdlib python-testtools
python-characteristic python-jupyter_client python-pygal python-tidy
python-chardet python-jupyter_core python-pygments python-tinycss2
python-charset-normalizer python-jupytext python-pyhamcrest python-toolz
python-cheroot python-kiwi python-pyiso8601 python-tornado
python-click python-kombu python-pylama python-tox
python-click-log python-lark python-pylint python-traitlets
python-commonmark-py python-latexcodec python-pymeeus python-transaction
python-contextlib2 python-lazy-object-proxy python-pynacl python-trio
python-convertdate python-libevdev python-pyopenssl python-trustme
python-coveragepy python-linkify-it-py python-pyrad python-twisted
python-coveralls python-lockfile python-pyrsistent python-uritemplate
python-cppy python-lxml python-pyscss python-urllib3
python-cssselect2 python-lz4 python-pytest python-validators
python-cython python-m2r python-pytest-cov python-vine
python-dateutil python-mako python-pytest-regressions python-virtualenv
python-decorator python-markupsafe python-pytest-runner python-waitress
python-dictdiffer python-mdit-py-plugins python-pytest-trio python-wcwidth
python-dnspython python-metaextract python-pytest-xprocess python-webcolors
python-dulwich python-mistune python-python-sphinx-contribspelling python-webencodings
python-elasticsearch-py python-mock python-pyudev python-webob
python-elementpath python-more-itertools python-pyxattr python-websocket-client
python-entrypoints python-mpi4py python-pyxdg python-websockets
python-evdev python-msgpack python-requests python-webtest
python-eventlet python-multidict python-requests-mock python-werkzeug
python-execnet python-multipledispatch python-requests_toolbelt python-wheel
python-factory-boy python-mypy python-rfc3986 python-Whoosh
python-faker python-myst-parser python-rich python-wrapt
python-fields python-nbclient python-rsa python-WSGIProxy2
python-flake8 python-nbformat python-rst.linker python-wsproto
python-flask python-netaddr python-scons python-xmlschema
python-flask-sqlalchemy python-nose2 python-scripttest python-yamlloader
python-flit python-notebook python-selenium python-yarl
python-fonttools python-numpydoc python-semantic-version python-zeroconf
python-gcovr python-olefile python-service-identity python-zipp
python-gidocgen python-openstackdocstheme python-setuptools python-zope-event
python-gitdb python-outcome python-simpleline
python-gitpython python-paramiko python-six
python-graphviz python-parso python-smartypants
In case of meson, cmake and autotools all what you need is declare GETTXTDOMAIN and list if supported languages.
However
So no possibility to choose documentation format, building DSOs or include test suite .. far from ideal world :/ [tkloczko@barrel SPECS]$ grep -l "BuildArch:.*noarch" python-*| wc -l; ls -l python-* | wc -l
562
616 As youi see ~1/12 of all python modules brings DSOs.
Sorry but I don't see that kind of cases. Can you point on such at least one?
That is the problem that it may work only in case when everything is maintained using
That varies only ion case of something new.
I can only repeat: what about modules with DSOs? Are you going to cross compile every possible OS/arch id package in .whl all possible executables files and on install out of pypi .whl file only what I need on my system?
At least in one point we've reached agreement 😄
Practice is different. Lines 5 to 31 in df091c4
This is why I was not able quickly prepare patch migrating from flit to setuptools backendYesterday I found that similar situation in in all currently using flit modules.
Can you provide some evidences of that?
IMO effectively
+/- few minor issues which re on the area which
Actually it i not mess. Possibility to usethe same tooling across 99% of all modules is incredibly high compare to what perl tooling provides (you have two major frameworks + another 2-3 used in case of less than 2% of all perl modules). python looks way better in case of php.
Wheel is only format standard which packs into zip all files + metadata.
Who exactly I need to convince? Look .. you cannot say "follow the lead" because what was crystal clear may not be still clear today. In last 3 years |
Of course, that would be nice to have this in
With both formats you can generate a wheel. You don’t have to take care of this if you use a wheel. (But we’ll do our best to use the new standard as soon as we can!)
While distutils / setuptools have taken us a long way, they suffer from three serious problems: (a) they're missing important features like usable build-time dependency declaration, autoconfiguration, and even basic ergonomic niceties like DRY-compliant version number management, and (b) extending them is difficult, so while there do exist various solutions to the above problems, they're often quirky, fragile, and expensive to maintain, and yet (c) it's very difficult to use anything else, because distutils/setuptools provide the standard interface for installing packages expected by both users and installation tools like pip. That’s what the PEP says, and I agree. That’s what I call a mess, but even if the the word is not the right one, the idea behind is still the same: some people (including the Python core devs who accepted the PEP) think that
Because the CLI and default options are really nice in my opinion.
Yes, we’ll always have packages that don’t work with wheels, and that will need a custom installation script.
They may not solve your problems, but they do solve some of my problems:
At least it’s now possible to totally remove these setup files for many projects. No more specific script, no more unspecified file format. That was a nice step for WeasyPrint.
The people who wrote and accepted the PEP 😄.
The 3 problems listed in the PEP about distutils/setuptools are not solved: And for me, technically, it’s still impossible to use setuptools with only one configuration file. I’ve spent a lot of time trying random things in various files when I was using setuptools, and I always had to dig the code and read endless comments in issues to find a fragile solution. It’s now easier: even if the format is young and sees a lot of regular improvements, I just have to read a PEP to write one file.
Good for you 😄. |
Going back to the subject .. I still have some pytest failing units :/ + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-cssselect2-0.4.1-2.1.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-cssselect2-0.4.1-2.1.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra tests
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.10.0, pluggy-0.13.1
benchmark: 3.4.1 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
Using --randomly-seed=2066477642
rootdir: /home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1, configfile: pyproject.toml
plugins: forked-1.3.0, shutil-1.7.0, virtualenv-1.7.0, expect-1.1.0, flake8-1.0.7, timeout-1.4.2, betamax-0.8.1, freezegun-0.4.2, aspectlib-1.5.2, toolbox-0.5, rerunfailures-9.1.1, requests-mock-1.9.3, cov-2.12.1, flaky-3.7.0, benchmark-3.4.1, xdist-2.3.0, pylama-7.7.1, datadir-1.3.1, regressions-2.2.0, xprocess-0.18.1, black-0.3.12, asyncio-0.15.1, subtests-0.5.0, isort-2.0.0, hypothesis-6.14.6, mock-3.6.1, profiling-1.7.0, randomly-3.8.0, nose2pytest-1.0.8, pyfakefs-4.5.1, tornado-0.8.1, twisted-1.13.3, aiohttp-0.3.0, localserver-0.5.0, anyio-3.3.1, trio-0.7.0, cases-3.6.4, yagot-0.5.0, Faker-8.14.1
collected 241 items
tests/test_cssselect2.py ......................x....................................................................... [ 39%]
tests/__init__.py . [ 39%]
tests/test_cssselect2.py .........................x.......................................................x........................................ [ 90%]
tests/__init__.py . [ 90%]
tests/test_cssselect2.py .........F............. [100%]
================================================================================= FAILURES =================================================================================
_______________________________________________________________________________ FLAKE8-check _______________________________________________________________________________
/home/tkloczko/rpmbuild/BUILD/cssselect2-0.4.1/tests/test_cssselect2.py:12:38: H301: one import per line
---------------------------------------------------------------------------- Captured log call -----------------------------------------------------------------------------
WARNING flake8.options.manager:manager.py:186 option --indent-size: please update `help=` text to use %(default)s instead of %default -- this will be an error in the future
WARNING flake8.options.manager:manager.py:207 option --max-complexity: please update from optparse string `type=` to argparse callable `type=` -- this will be an error in the future
---------- coverage: platform linux, python 3.8.12-final-0 -----------
Name Stmts Miss Branch BrPart Cover
------------------------------------------------------------
cssselect2/__init__.py 46 35 20 0 17%
cssselect2/compiler.py 172 12 142 10 92%
cssselect2/parser.py 252 7 98 8 96%
cssselect2/tree.py 143 9 59 7 91%
tests/__init__.py 0 0 0 0 100%
tests/test_cssselect2.py 210 6 24 2 97%
------------------------------------------------------------
TOTAL 823 69 343 27 90%
========================================================================= short test summary info ==========================================================================
XFAIL tests/test_cssselect2.py::test_invalid_selectors[test28]
reason:
XFAIL tests/test_cssselect2.py::test_valid_selectors[test107]
reason:
XFAIL tests/test_cssselect2.py::test_invalid_selectors[test27]
reason:
FAILED tests/test_cssselect2.py::FLAKE8
================================================================= 1 failed, 237 passed, 3 xfailed in 3.39s =================================================================
pytest-xprocess reminder::Be sure to terminate the started process by running 'pytest --xkill' if you have not explicitly done so in your fixture with 'xprocess.getinfo(<process_name>).terminate()'. |
The failing test is caused by hacking, we don’t want to use this tool for linting. |
The text was updated successfully, but these errors were encountered: