Commit Graph

78 Commits

Author SHA1 Message Date
Florian Bruhin
a6af9d7d35 flake8 reqs: Undo accidental pep8 downgrade 2016-07-26 16:51:45 +02:00
Florian Bruhin
d19c7012a5 flake8 reqs: Update flake8-docstrings to 1.0.2
- Use pycodestyle to get standard-in.
2016-07-26 16:51:19 +02:00
Florian Bruhin
b30773aa68 flake8 requirements: Add comment for pep8 pin 2016-07-26 16:14:21 +02:00
Florian Bruhin
54b9ead0d0 flake8 reqs: Update flake8-docstrings to 1.0.1
1.0.1
-----

Make sure this works out of the box (is enabled by default) with
Flake8 3.0

1.0.0
-----

Switch dependency name to pydocstyle. pep257 was renamed to pydocstyle,
this update switches the requirement to that new package name. Since
we’re swapping out dependencies, we’ve issued a major version bump.
2016-07-26 16:12:23 +02:00
Florian Bruhin
ded733c674 test requirements: Update CherryPy to 7.1.0
Implement systemd's socket activation mechanism for CherryPy servers,
based on work sponsored by Endless Computers.

Socket Activation allows one to setup a system so that systemd will sit
on a port and start services 'on demand' (a little bit like inetd and
xinetd used to do).
2016-07-25 22:59:28 +02:00
Florian Bruhin
c618983b3d flake8 requirements: Update flake8-tuple to 0.2.12
flake8>=3.0.0 compatibility
2016-07-25 18:07:41 +02:00
Florian Bruhin
b8ea3d3c39 flake8 requirements: Pin flake8 properly 2016-07-25 18:07:31 +02:00
Florian Bruhin
3efb41f743 flake8 requirements: Filter to flake8 < 3.0 2016-07-25 16:39:30 +02:00
Florian Bruhin
9f45a27a2a test requirements: Update CherryPy to 7.0.0
7.0.0
-----

Removed the long-deprecated backward compatibility for
legacy config keys in the engine. Use the config for the
namespaced-plugins instead:

 - autoreload_on -> autoreload.on
 - autoreload_frequency -> autoreload.frequency
 - autoreload_match -> autoreload.match
 - reload_files -> autoreload.files
 - deadlock_poll_frequency -> timeout_monitor.frequency

6.2.1
-----

Fix KeyError in Bus.publish when signal handlers set in config.
2016-07-25 13:06:32 +02:00
Florian Bruhin
811361dbbe test requirements: Update beautifulsoup4 to 4.5.0
* Beautiful Soup is no longer compatible with Python 2.6. This
  actually happened a few releases ago, but it's now official.

* Beautiful Soup will now work with versions of html5lib greater than
  0.99999999.

* If a search against each individual value of a multi-valued
  attribute fails, the search will be run one final time against the
  complete attribute value considered as a single string. That is, if
  a tag has class="foo bar" and neither "foo" nor "bar" matches, but
  "foo bar" does, the tag is now considered a match.

  This happened in previous versions, but only when the value being
  searched for was a string. Now it also works when that value is
  a regular expression, a list of strings, etc.

* Fixed a bug that deranged the tree when a whitespace element was
  reparented into a tag that contained an identical whitespace
  element.

* Added support for CSS selector values that contain quoted spaces,
  such as tag[style="display: foo"].

* Corrected handling of XML processing instructions.

* Corrected an encoding error that happened when a BeautifulSoup
  object was copied.

* The contents of <textarea> tags will no longer be modified when the
  tree is prettified.

* When a BeautifulSoup object is pickled but its tree builder cannot
  be pickled, its .builder attribute is set to None instead of being
  destroyed. This avoids a performance problem once the object is
  unpickled.

* Specify the file and line number when warning about a
  BeautifulSoup object being instantiated without a parser being
  specified.

* The `limit` argument to `select()` now works correctly, though it's
  not implemented very efficiently.

* Fixed a Python 3 ByteWarning when a URL was passed in as though it
  were markup. Thanks to James Salter for a patch and
  test.

* We don't run the check for a filename passed in as markup if the
  'filename' contains a less-than character; the less-than character
  indicates it's most likely a very small document.
2016-07-20 14:07:01 +02:00
Florian Bruhin
d271c31edf pylint requirements: Update pylint to 1.6.4
* Recurse into all the ancestors when checking if an object is an exception

  Since we were going only into the first level, we weren't inferring
  when a class used a metaclass which defined a base Exception class
  for the aforementioned class.
2016-07-19 19:22:25 +02:00
Florian Bruhin
4161f4d6eb test requirements: Update CherryPy to 6.2.0
* Added tool to automatically convert request params based on type
  annotations (primarily in Python 3). For example:

    @cherrypy.tools.params()
    def resource(self, limit: int):
        assert isinstance(limit, int)
2016-07-19 09:36:51 +02:00
Florian Bruhin
70f14329e3 pylint requirements: Update pylint to 1.6.3
* Do not crash when inferring uninferable exception types for docparams
  extension
2016-07-19 09:24:51 +02:00
Florian Bruhin
f597b052c6 test requirements: Update CherryPy to 6.1.1
Fix issue where autoreload fails when the host interpreter for CherryPy
was launched using ``python -m``.
2016-07-17 12:00:54 +02:00
Florian Bruhin
321e5319c6 pylint requirements: Update pylint to 1.6.2
* Do not crash when printing the help of options with default regular
  expressions
* More granular versions for deprecated modules.
* Do not crash in docparams when we can't infer the exception types.
2016-07-15 11:06:46 +02:00
Florian Bruhin
a8dc940b73 test/vulture reqs: Update vulture to 0.10
* Detect unused function and method arguments.
* Detect unused *args and **kwargs parameters.
* Change license from GPL to MIT.
2016-07-14 23:17:39 +02:00
Florian Bruhin
2848ab1904 test requirements: Update CherryPy to 6.1.0
* Combined wsgiserver2 and wsgiserver3 modules into a single module,
  `cherrypy.wsgiserver`.
2016-07-14 07:07:00 +02:00
Florian Bruhin
a436468026 test requirements: Update hypothesis to 3.4.2
- Test functions defined using @given can now be called from other
  threads
- Attempting to delete a settings property would previously have
  silently done the wrong thing. Now it raises an AttributeError.
- Creating a settings object with a custom database_file parameter was
  silently getting ignored and the default was being used instead. Now
  it’s not.
2016-07-13 20:21:20 +02:00
Florian Bruhin
4328169274 flake8 requirements: Get rid of ebb-lint
We've had many checks disabled - these are the ones we actually lose:

    L104
    Docstrings must use Napoleon, not reStructuredText fields.

    L205
    __init__.py is not allowed to contain function or class definitions.

    L206
    Implicit relative imports are not allowed.

    L208
    Pokémon exception handling is always a mistake. If the intent is
    really to catch and ignore exceptions, explicitly name which
    exception types to silence.

    L209
    return, del, raise, assert, print (in python 2, without
    print_function) yield, and yield from are statements, not functions,
    and as such, do not require parentheses.

    L210
    Instead of intentionally relying on the side effects of map, filter,
    or a comprehension, write an explicit for loop.

    L211
    Using map or filter with a lambda as the first argument is always
    better written as list comprehension or generator expression. An
    expression is more readable and extensible, and less importantly,
    doesn't incur as much function call overhead.

    L212
    Using @staticmethod is always wrong.

    L301
    Files must end with a trailing newline.

    L303
    noqa is ignored, and as such, # noqa comments should be deleted to
    reduce pointless noise.

However, most of those are also checked by pylint (and the rest I don't
really care about), and ebb-lint increases flake8's runtime a lot
(45s -> almost 2min).
2016-07-13 07:24:10 +02:00
Florian Bruhin
038f803180 flake8 requirements: Update flake8-putty to 0.4.0
- Microsoft Windows filename selector fixes, with Appveyor CI testing
- Allow multiple codes to be disabled by per-line comments
- Allow comment after each rule line
- Prevent use with flake8 v3
- Support both pep8 and pycodestyle in test suite
2016-07-12 14:16:04 +02:00
Florian Bruhin
63b8d225e8 pylint requirements: pylint 1.6
Closes #1632.

new: mccabe
new: isort
deleted: colorama

astroid 1.4.7
-------------

* Stop saving assignment locals in ExceptHandlers, when the context is a store.

  This fixes a tripping case, where the RHS of a ExceptHandler can be redefined
  by the LHS, leading to a local save. For instance, ``except KeyError, exceptions.IndexError``
  could result in a local save for IndexError as KeyError, resulting in potential unexpected
  inferences. Since we don't lose a lot, this syntax gets prohibited.

pylint 1.6.0
------------

* Added a new extension, `pylint.extensions.mccabe`, for warning
  about complexity in code.

* Deprecate support for --optimize-ast.
* Deprecate support for the HTML output.
* Deprecate support for --output-files.

* Fixed a documentation error for the check_docs extension.

* Made the list of property-defining decorators configurable.

* Fix a bug where the top name of a qualified import was detected as unused variable.

* bad-builtin is now an extension check.

* generated-members support qualified name through regular expressions.

  For instance, one can specify a regular expression as --generated-members=astroid.node_classes.*
  for ignoring every no-member error that is accessed as in `astroid.node_classes.missing.object`.

* Add the ability to ignore files based on regex matching, with the new ``--ignore-patterns``
  option.

  This allows for multiple ignore patterns to be specified. Rather than
  clobber the existing ignore option, we introduced a new one called
  ignore-patterns.

* Added a new error, 'trailing-newlines', which is emitted when a file
  has trailing new lines.

* Add a new option, 'redefining-builtins-modules', for controlling the modules
  which can redefine builtins, such as six.moves and future.builtins.

* 'reimported' is emitted when the same name is imported from different module.

* Add a new recommendation checker, 'consider-iterating-dictionary', which is emitted
  which is emitted when a dictionary is iterated through .keys().

* Use the configparser backport for Python 2

  This fixes a problem we were having with comments inside values, which is fixed
  in Python 3's configparser.

* A new error was added, 'invalid-length-returned', when the `__len__`
  special method returned something else than a non-negative number.

* Switch to using isort internally for wrong-import-order.

* check_docs extension can find constructor parameters in __init__.

* Don't warn about invalid-sequence-index if the indexed object has unknown base
  classes.

* Don't crash when checking, for super-init-not-called, a method defined in an if block.

* Do not emit import-error or no-name-in-module for fallback import blocks by default.

  Until now, we warned with these errors when a fallback import block (a TryExcept block
  that contained imports for Python 2 and 3) was found, but this gets cumbersome when
  trying to write compatible code. As such, we don't check these blocks by default,
  but the analysis can be enforced by using the new ``--analyse-fallback-block`` flag.

pylint 1.6.1
------------

* Use environment markers for supporting conditional dependencies.
2016-07-11 13:00:08 +02:00
Florian Bruhin
216d8c3c13 test requirements: Update hypothesis to 3.4.1
On Windows when running two Hypothesis processes in parallel (e.g. using
pytest-xdist) they could race with each other and one would raise an
exception due to the non-atomic nature of file renaming on Windows and
the fact that you can't rename over an existing file. This is now fixed.
2016-07-11 12:45:47 +02:00
Florian Bruhin
60cc72b5a6 test requirements: Update pytest-cov to 2.3.0
- Add support for specifying output location for html, xml, and annotate
  report.
- Fix bug hiding test failure when cov-fail-under failed.
- For coverage >= 4.0, match the default behaviour of coverage report
  and error if coverage fails to find the source instead of just
  printing a warning.
- Fixed bug occurred when bare --cov parameter was used with xdist.
- Add support for skip_covered and added --cov-report=term-skip-covered
  command line options.
2016-07-06 00:18:13 +02:00
Florian Bruhin
294560ec6d flake8 requirements: Update flake8-tuple to 0.2.11
- fixed: non exists file raise IOError
- fixed: compatibility with older versions of flake8
2016-07-06 00:16:43 +02:00
Florian Bruhin
30131f0ec4 flake8 reqs: Update flake8-tidy-imports to 1.0.2
- Fixed I201 rule to detect banned imports like from x import y.
2016-07-05 08:39:18 +02:00
Florian Bruhin
eb990d4bd5 Revert "flake8 reqs: Remove obsolete comment"
This reverts commit 3a481a2fa5.
2016-07-05 08:35:58 +02:00
Florian Bruhin
3a481a2fa5 flake8 reqs: Remove obsolete comment 2016-07-03 16:09:53 +02:00
Florian Bruhin
dce3e0fb78 flake8 reqs: Update flake8-pep3101 to 0.4
- Rename pep8 to pycodestyle.
- Add support for python 3.5.
- Add flake8 pypi classifier.
- Drop python 3.3 and 3.4 support (only testing it probably works just
  fine).
- Fix travis and coveralls to work properly with python 3.5.
2016-07-03 16:09:16 +02:00
Florian Bruhin
596a3841dd flake8 reqs: Update flake8-future-import tp 0.4.3
- Restore old option name behaviour that an option like min-version in
  the tox.ini is recognized.
2016-07-03 16:06:28 +02:00
Florian Bruhin
39fee34b91 flake8 reqs: Update flake8-tidy-imports to 1.0.1
- I201 rule that allows you to configure complaining about certain
  modules being imported, e.g. if you are moving from Python 2 to 3 you
  could stop urlparse being imported in favour of
  six.moves.urllib.parse.
2016-07-01 21:58:18 +02:00
Florian Bruhin
1c2aca5e82 flake8 reqs: Blacklist flake8-future-import 0.4.2
0.4.2 ignores config options for flake8 2.6.2:
https://github.com/xZise/flake8-future-import/issues/8#issuecomment-229921673
2016-07-01 13:18:39 +02:00
Florian Bruhin
b527cf53d2 flake8 requirements: Update flake8-tuple to 0.2.10
pep8 -> pycodestyle
2016-06-30 18:33:58 +02:00
Florian Bruhin
1209d4192f test requirements: Update pytest-repeat to 0.3.0 2016-06-30 17:56:19 +02:00
Florian Bruhin
8d9a699b5b test requirements: Update to pytest-bdd 2.17.0
This also allows us to have dynamic pyqt>=5.3.1 etc. tags.
2016-06-30 14:02:30 +02:00
Florian Bruhin
03fbacd93c requirements: Update vulture to 0.9
* Don't flag attributes as unused if they are used as global variables in
  another module.
* Don't consider "True" and "False" variable names.
* Abort with error message when invoked on .pyc files.

This means we can remove the whitelisted globals in run_vulture.py and
the associated xfailing test.

We also needed to adjust run_vulture.py slightly as the file attribute
got renamed to filename.
2016-06-29 23:44:39 +02:00
Florian Bruhin
cd136b7b33 flake8 reqs: Update flake8-copyright to 0.2.0
Add flake8 v3.x compatibility
2016-06-28 20:48:52 +02:00
Florian Bruhin
72e5bf35e1 flake8 requirements: Update pep8-naming to 0.4.1 2016-06-26 15:13:12 +02:00
Florian Bruhin
eda6fc6e17 flake8 requirements: Update flake8 to 2.6.2
- Update the config files to search for to include setup.cfg and
  tox.ini. This was broken in 2.5.5 when we stopped passing config_file
  to our Style Guide
2016-06-26 00:22:41 +02:00
Florian Bruhin
d8a01d84b3 test requirements: Update CherryPy to 6.0.2
* Correct additional typos.
2016-06-24 11:17:03 +02:00
Florian Bruhin
2b285740d9 Update flake8 requirements
flake8 2.6.0
------------

- Switch to pycodestyle as all future pep8 releases will use that
  package name
- Allow for Windows users on select versions of Python to use --jobs and
  multiprocessing
- Update bounds on McCabe
- Update bounds on PyFlakes and blacklist known broken versions
- Handle new PyFlakes warning with a new error code: F405

flake8-copyright 0.1.1
----------------------

- Set line & column to 1,1 to avoid a flake8 error
- Support multi-year copyright notices

flake8-docstrings 0.2.8
-----------------------

- Try to import pydocstyle (not pycodestyle) as pep257
- Import either pycodestyle or pep8 to use stdin_get_value. This fixes
  the problem for newer Flake8’s (2.6.0+) and older ones.

pycodestyle 2.0.0
-----------------

Announcements:

- Repository renamed to `pycodestyle`
- Added joint Code of Conduct as member of PyCQA

Changes:

- Added tox test support for Python 3.5 and pypy3
- Added check E275 for whitespace on `from ... import ...` lines
- Added W503 to the list of codes ignored by default ignore list
- Removed use of project level `.pep8` configuration file

Bugs:

- Fixed bug with treating `~` operator as binary
- Identify binary operators as unary

Other changes
-------------

- Unpin mccabe as the flake8 requirement got updated
- Pin pep8 as an older version gets installed otherwise
- DIsable D403 warning (false-positivies)
2016-06-20 07:16:59 +02:00
Florian Bruhin
f8301b185e flake8 requirements: Update flake8 to 2.5.5
- Fix setuptools integration when parsing config files
- Don't pass the user's config path as the config_file when creating a
  StyleGuide
2016-06-15 09:02:15 +02:00
Florian Bruhin
b099f64efa flake8 requirements: Update pyparsing to 2.1.5
- Added ParserElement.split() generator method, similar to re.split().
  Includes optional arguments maxsplit (to limit the number of splits),
  and includeSeparators (to include the separating matched text in the
  returned output, default=False).

- Added a new parse action construction helper tokenMap, which will
  apply a function and optional arguments to each element in a
  ParseResults. So this parse action:

      def lowercase_all(tokens):
          return [str(t).lower() for t in tokens]
      OneOrMore(Word(alphas)).setParseAction(lowercase_all)

  can now be written:

      OneOrMore(Word(alphas)).setParseAction(tokenMap(str.lower))

  Also simplifies writing conversion parse actions like:

      integer = Word(nums).setParseAction(lambda t: int(t[0]))

  to just:

      integer = Word(nums).setParseAction(tokenMap(int))

  If additional arguments are necessary, they can be included in the
  call to tokenMap, as in:

      hex_integer = Word(hexnums).setParseAction(tokenMap(int, 16))

- Added more expressions to pyparsing_common:
  . IPv4 and IPv6 addresses (including long, short, and mixed forms
    of IPv6)
  . MAC address
  . ISO8601 date and date time strings (with named fields for year, month, etc.)
  . UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
  . hex integer (returned as int)
  . fraction (integer '/' integer, returned as float)
  . mixed integer (integer '-' fraction, or just fraction, returned as float)
  . stripHTMLTags (parse action to remove tags from HTML source)
  . parse action helpers convertToDate and convertToDatetime to do custom parse
    time conversions of parsed ISO8601 strings

- runTests now returns a two-tuple: success if all tests succeed,
  and an output list of each test and its output lines.

- Added failureTests argument (default=False) to runTests, so that
  tests can be run that are expected failures, and runTests' success
  value will return True only if all tests *fail* as expected. Also,
  parseAll now defaults to True.

- New example numerics.py, shows samples of parsing integer and real
  numbers using locale-dependent formats:

    4.294.967.295,000
    4 294 967 295,000
    4,294,967,295.000
2016-06-14 09:48:14 +02:00
Florian Bruhin
278093afae Add requirements-qutebrowser.txt-raw 2016-06-08 00:03:07 +02:00
Florian Bruhin
4bae659fbe Re-add requests to pylint envs
This is needed because there's a script using requests
2016-06-08 00:02:43 +02:00
Florian Bruhin
cfb4ebb312 Add missing replace to requirements-pylint.txt-raw 2016-06-07 23:47:10 +02:00
Florian Bruhin
164d7bea4b recompile_requirements: Add replace command 2016-06-07 23:40:00 +02:00
Florian Bruhin
19037e8b75 Remove old .in requirements file 2016-06-07 23:32:35 +02:00
Florian Bruhin
81ccaff9c6 requirements: Update filter for Flask 2016-06-07 23:26:04 +02:00
Florian Bruhin
0819ed36f0 Update requirements README.md 2016-06-07 23:21:50 +02:00
Florian Bruhin
1c6b4da706 Use #@ as chars 2016-06-07 23:21:50 +02:00