63b8d225e8
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. |
||
---|---|---|
.github | ||
doc | ||
icons | ||
misc | ||
qutebrowser | ||
scripts | ||
tests | ||
www | ||
.appveyor.yml | ||
.coveragerc | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc | ||
.flake8 | ||
.gitignore | ||
.pydocstylerc | ||
.pylintrc | ||
.travis.yml | ||
CHANGELOG.asciidoc | ||
codecov.yml | ||
CONTRIBUTING.asciidoc | ||
COPYING | ||
FAQ.asciidoc | ||
INSTALL.asciidoc | ||
MANIFEST.in | ||
pytest.ini | ||
qutebrowser.desktop | ||
qutebrowser.py | ||
README.asciidoc | ||
requirements.txt | ||
setup.py | ||
tox.ini |
// If you are reading this in plaintext or on PyPi: // // A rendered version is available at: // https://github.com/The-Compiler/qutebrowser/blob/master/README.asciidoc qutebrowser =========== // QUTE_WEB_HIDE image:icons/qutebrowser-64x64.png[qutebrowser logo] *A keyboard-driven, vim-like browser based on PyQt5 and QtWebKit.* image:https://img.shields.io/pypi/l/qutebrowser.svg?style=flat["license badge",link="https://github.com/The-Compiler/qutebrowser/blob/master/COPYING"] image:https://img.shields.io/pypi/v/qutebrowser.svg?style=flat["version badge",link="https://pypi.python.org/pypi/qutebrowser/"] image:https://requires.io/github/The-Compiler/qutebrowser/requirements.svg?branch=master["requirements badge",link="https://requires.io/github/The-Compiler/qutebrowser/requirements/?branch=master"] image:https://travis-ci.org/The-Compiler/qutebrowser.svg?branch=master["Build Status", link="https://travis-ci.org/The-Compiler/qutebrowser"] image:https://ci.appveyor.com/api/projects/status/9gmnuip6i1oq7046?svg=true["AppVeyor build status", link="https://ci.appveyor.com/project/The-Compiler/qutebrowser"] image:https://codecov.io/github/The-Compiler/qutebrowser/coverage.svg?branch=master["coverage badge",link="https://codecov.io/github/The-Compiler/qutebrowser?branch=master"] link:http://www.qutebrowser.org[website] | link:http://blog.qutebrowser.org[blog] | link:https://github.com/The-Compiler/qutebrowser/releases[releases] // QUTE_WEB_HIDE_END qutebrowser is a keyboard-focused browser with a minimal GUI. It's based on Python, PyQt5 and QtWebKit and free software, licensed under the GPL. It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl. Screenshots ----------- image:doc/img/main.png["screenshot 1",width=300,link="doc/img/main.png"] image:doc/img/downloads.png["screenshot 2",width=300,link="doc/img/downloads.png"] image:doc/img/completion.png["screenshot 3",width=300,link="doc/img/completion.png"] image:doc/img/hints.png["screenshot 4",width=300,link="doc/img/hints.png"] Downloads --------- See the https://github.com/The-Compiler/qutebrowser/releases[github releases page] for available downloads (currently a source archive, and standalone packages as well as MSI installers for Windows). See link:INSTALL.asciidoc[INSTALL] for detailed instructions on how to get qutebrowser running for various platforms. Documentation ------------- In addition to the topics mentioned in this README, the following documents are available: * A http://qutebrowser.org/img/cheatsheet-big.png[key binding cheatsheet]: + image:http://qutebrowser.org/img/cheatsheet-small.png["qutebrowser key binding cheatsheet",link="http://qutebrowser.org/img/cheatsheet-big.png"] * link:doc/quickstart.asciidoc[Quick start guide] * link:FAQ.asciidoc[Frequently asked questions] * link:CONTRIBUTING.asciidoc[Contributing to qutebrowser] * link:INSTALL.asciidoc[INSTALL] * link:CHANGELOG.asciidoc[Change Log] * link:doc/stacktrace.asciidoc[Reporting segfaults] * link:doc/userscripts.asciidoc[How to write userscripts] Getting help ------------ You can get help in the IRC channel irc://irc.freenode.org/#qutebrowser[`#qutebrowser`] on http://freenode.net/[Freenode] (https://webchat.freenode.net/?channels=#qutebrowser[webchat]), or by writing a message to the https://lists.schokokeks.org/mailman/listinfo.cgi/qutebrowser[mailinglist] at mailto:qutebrowser@lists.qutebrowser.org[]. Contributions / Bugs -------------------- You want to contribute to qutebrowser? Awesome! Please read link:CONTRIBUTING.asciidoc[the contribution guidelines] for details and useful hints. If you found a bug or have a feature request, you can report it in several ways: * Use the built-in `:report` command or the automatic crash dialog. * Open an issue in the Github issue tracker. * Write a mail to the https://lists.schokokeks.org/mailman/listinfo.cgi/qutebrowser[mailinglist] at mailto:qutebrowser@lists.qutebrowser.org[]. For security bugs, please contact me directly at mail@qutebrowser.org, GPG ID http://www.the-compiler.org/pubkey.asc[0xFD55A072]. Requirements ------------ The following software and libraries are required to run qutebrowser: * http://www.python.org/[Python] 3.4 or newer * http://qt.io/[Qt] 5.2.0 or newer (5.5.1 recommended) * QtWebKit * http://www.riverbankcomputing.com/software/pyqt/intro[PyQt] 5.2.0 or newer (5.5.1 recommended) for Python 3 * https://pypi.python.org/pypi/setuptools/[pkg_resources/setuptools] * http://fdik.org/pyPEG/[pyPEG2] * http://jinja.pocoo.org/[jinja2] * http://pygments.org/[pygments] * http://pyyaml.org/wiki/PyYAML[PyYAML] The following libraries are optional and provide a better user experience: * http://cthedot.de/cssutils/[cssutils] To generate the documentation for the `:help` command, when using the git repository (rather than a release), http://asciidoc.org/[asciidoc] is needed. On Windows, https://pypi.python.org/pypi/colorama/[colorama] is needed to display colored log output. See link:INSTALL.asciidoc[INSTALL] for directions on how to install qutebrowser and its dependencies. Donating -------- Working on qutebrowser is a very rewarding hobby, but like (nearly) all hobbies it also costs some money. Namely I have to pay for the server and domain, and do occasional hardware upgrades footnote:[It turned out a 160 GB SSD is rather small - the VMs and custom Qt builds I use for testing/developing qutebrowser need about 100 GB of space]. If you want to give me a beer or a pizza back, I'm trying to make it as easy as possible for you to do so. If some other way would be easier for you, please get in touch! * PayPal: me@the-compiler.org * Bitcoin: link:bitcoin:1PMzbcetAHfpxoXww8Bj5XqquHtVvMjJtE[1PMzbcetAHfpxoXww8Bj5XqquHtVvMjJtE] Authors ------- Contributors, sorted by the number of commits in descending order: // QUTE_AUTHORS_START * Florian Bruhin * Daniel Schadt * Ryan Roden-Corrent * Antoni Boucher * Lamar Pavel * Bruno Oliveira * Alexander Cogneau * Felix Van der Jeugt * Martin Tournoij * Jakub Klinkovský * Raphael Pierzina * Joel Torstensson * Tarcisio Fedrizzi * Patric Schmitz * Claude * Corentin Julé * meles5 * Philipp Hansch * Panagiotis Ktistakis * Artur Shaik * Nathan Isom * Thorsten Wißmann * Kevin Velghe * Austin Anderson * Jimmy * Jan Verbeek * Alexey "Averrin" Nabrodov * avk * ZDarian * Milan Svoboda * John ShaggyTwoDope Jenkins * Peter Vilim * Clayton Craft * Oliver Caldwell * Jonas Schürmann * error800 * Liam BEGUIN * skinnay * Zach-Button * Tomasz Kramkowski * Halfwit * rikn00 * kanikaa1234 * haitaka * Nick Ginther * Michał Góral * Michael Ilsaas * Martin Zimmermann * Fritz Reichwald * Brian Jackson * sbinix * neeasade * jnphilipp * Tobias Patzl * Stefan Tatschner * Samuel Loury * Peter Michely * Panashe M. Fundira * Link * Larry Hynes * Johannes Altmanninger * Ismail * Edgar Hipp * Daryl Finlay * adam * Samir Benmendil * Regina Hug * Mathias Fussenegger * Marcelo Santos * Fritz V155 Reichwald * Franz Fellner * zwarag * xd1le * oniondreams * issue * haxwithaxe * evan * dylan araps * Xitian9 * Tomas Orsava * Tobias Werth * Tim Harder * Thiago Barroso Perrotta * Sorokin Alexei * Noah Huesser * Matthias Lisin * Marcel Schilling * Johannes Martinsson * Jean-Christophe Petkovich * Jay Kamat * Helen Sherwood-Taylor * HalosGhost * Gregor Pohl * Eivind Uggedal * Dietrich Daroch * Daniel Lu * Arseniy Seroka * Andy Balaam * Andreas Fischer // QUTE_AUTHORS_END The following people have contributed graphics: * Jad/link:http://yelostudio.com[yelo] (new icon) * WOFall (original icon) * regines (key binding cheatsheet) Thanks / Similar projects ------------------------- Many projects with a similar goal as qutebrowser exist: * http://portix.bitbucket.org/dwb/[dwb] (C, GTK+ with WebKit1, currently http://www.reddit.com/r/linux/comments/2huqbc/dwb_abandoned/[unmaintained] - main inspiration for qutebrowser) * https://github.com/fanglingsu/vimb[vimb] (C, GTK+ with WebKit1, active) * http://sourceforge.net/p/vimprobable/wiki/Home/[vimprobable] (C, GTK+ with WebKit1, dead) * http://surf.suckless.org/[surf] (C, GTK+ with WebKit1, active) * https://mason-larobina.github.io/luakit/[luakit] (C/Lua, GTK+ with WebKit1, not very active) * http://pwmt.org/projects/jumanji/[jumanji] (C, GTK+ with WebKit1, not very active) * http://www.uzbl.org/[uzbl] (C, GTK+ with WebKit1/WebKit2, active) * http://conkeror.org/[conkeror] (Javascript, Emacs-like, XULRunner/Gecko, active) * https://github.com/AeroNotix/lispkit[lispkit] (quite new, lisp, GTK+ with WebKit, active) * http://www.vimperator.org/[Vimperator] (Firefox addon) * http://5digits.org/pentadactyl/[Pentadactyl] (Firefox addon) * https://github.com/akhodakivskiy/VimFx[VimFx] (Firefox addon) * https://github.com/1995eaton/chromium-vim[cVim] (Chrome/Chromium addon) * http://vimium.github.io/[vimium] (Chrome/Chromium addon) * https://chrome.google.com/webstore/detail/vichrome/gghkfhpblkcmlkmpcpgaajbbiikbhpdi?hl=en[ViChrome] (Chrome/Chromium addon) * https://github.com/jinzhu/vrome[Vrome] (Chrome/Chromium addon) Most of them were inspirations for qutebrowser in some way, thanks for that! Thanks as well to the following projects and people for helping me with problems and helpful hints: * http://eric-ide.python-projects.org/[eric5] / Detlev Offenbach * https://code.google.com/p/devicenzo/[devicenzo] * portix * seir * nitroxleecher Also, thanks to: * Everyone contributing to the link:doc/backers.asciidoc[crowdfunding]. * Everyone who had the patience to test qutebrowser before v0.1. * Everyone triaging/fixing my bugs in the https://bugreports.qt.io/secure/Dashboard.jspa[Qt bugtracker] * Everyone answering my questions on http://stackoverflow.com/[Stack Overflow] and in IRC. * All the projects which were a great help while developing qutebrowser. License ------- This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. pdf.js ------ qutebrowser optionally uses https://github.com/mozilla/pdf.js/[pdf.js] to display PDF files in the browser. Windows releases come with a bundled pdf.js. pdf.js is distributed under the terms of the Apache License. You can find a copy of the license in `qutebrowser/3rdparty/pdfjs/LICENSE` (in the Windows release or after running `scripts/dev/update_3rdparty.py`), or online http://www.apache.org/licenses/LICENSE-2.0.html[here].