4066696956
Version 4.1 --- 2016-05-21 - The internal attribute Reporter.file_reporters was removed in 4.1b3. It should have come has no surprise that there were third-party tools out there using that attribute. It has been restored, but with a deprecation warning. Version 4.1b3 --- 2016-05-10 - When running your program, execution can jump from an except X: line to some other line when an exception other than X happens. This jump is no longer considered a branch when measuring branch coverage. - When measuring branch coverage, yield statements that were never resumed were incorrectly marked as missing. This is now fixed. - During branch coverage of single-line callables like lambdas and generator expressions, coverage.py can now distinguish between them never being called, or being called but not completed. - The HTML report now has a map of the file along the rightmost edge of the page, giving an overview of where the missed lines are. Thanks, Dmitry Shishov. - The HTML report now uses different monospaced fonts, favoring Consolas over Courier. Along the way not properly handling one-space indents was fixed. The index page also has slightly different styling, to try to make the clickable detail pages more apparent. - Missing branches reported with coverage report -m will now say ->exit for missed branches to the exit of a function, rather than a negative number. - coverage --help and coverage --version now mention which tracer is installed, to help diagnose problems. The docs mention which features need the C extension. - Officially support PyPy 5.1, which required no changes, just updates to the docs. - The Coverage.report function had two parameters with non-None defaults, which have been changed. show_missing used to default to True, but now defaults to None. If you had been calling Coverage.report without specifying show_missing, you'll need to explicitly set it to True to keep the same behavior. skip_covered used to default to False. It is now None, which doesn't change the behavior. - It's never been possible to pass a namespace module to one of the analysis functions, but now at least we raise a more specific error message, rather than getting confused. - The coverage.process_startup function now returns the Coverage instance it creates. - Make a small tweak to how we compare threads, to avoid buggy custom comparison code in thread classes. Version 4.1b2 --- 2016-01-23 - Problems with the new branch measurement in 4.1 beta 1 were fixed: - Class docstrings were considered executable. Now they no longer are. - yield from and await were considered returns from functions, since they could tranfer control to the caller. This produced unhelpful "missing branch" reports in a number of circumstances. Now they no longer are considered returns. - In unusual situations, a missing branch to a negative number was reported. - The XML report now produces correct package names for modules found in directories specified with source=. - coverage report won't produce trailing whitespace. Version 4.1b1 --- 2016-01-10 - Branch analysis has been rewritten: it used to be based on bytecode, but now uses AST analysis. This has changed a number of things: - More code paths are now considered runnable, especially in try/except structures. This may mean that coverage.py will identify more code paths as uncovered. This could either raise or lower your overall coverage number. - Python 3.5's async and await keywords are properly supported - Some long-standing branch coverage bugs were fixed: - functions with only a docstring for a body would incorrectly report a missing branch on the def line. - code in an except block could be incorrectly marked as a missing branch. - context managers (with statements) in a loop or try block could confuse the branch measurement, reporting incorrect partial branches. - In Python 3.5, an actual partial branch could be marked as complete. - Pragmas to disable coverage measurement can now be used on decorator lines, and they will apply to the entire function or class being decorated. - Multiprocessing support is now available on Windows. - Files with two encoding declarations are properly supported. - Non-ascii characters in regexes in the configuration file worked in 3.7, but stopped working in 4.0. Now they work again. - Form-feed characters would prevent accurate determination of the beginning of statements in the rest of the file. This is now fixed. |
||
---|---|---|
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"] // 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 * Antoni Boucher * Lamar Pavel * Bruno Oliveira * Ryan Roden-Corrent * Alexander Cogneau * Felix Van der Jeugt * Martin Tournoij * Raphael Pierzina * Joel Torstensson * Patric Schmitz * Claude * Corentin Julé * meles5 * Jakub Klinkovský * Tarcisio Fedrizzi * Philipp Hansch * Panagiotis Ktistakis * Artur Shaik * Nathan Isom * Thorsten Wißmann * Kevin Velghe * Austin Anderson * Jimmy * 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 * Halfwit * rikn00 * kanikaa1234 * haitaka * Michael Ilsaas * Martin Zimmermann * Brian Jackson * sbinix * neeasade * jnphilipp * Tobias Patzl * Stefan Tatschner * Peter Michely * Link * Larry Hynes * Johannes Altmanninger * Ismail * Samir Benmendil * Regina Hug * Mathias Fussenegger * Marcelo Santos * Jan Verbeek * Fritz V155 Reichwald * Franz Fellner * zwarag * xd1le * issue * haxwithaxe * evan * dylan araps * Xitian9 * Tomasz Kramkowski * Tomas Orsava * Tobias Werth * Tim Harder * Thiago Barroso Perrotta * Sorokin Alexei * Samuel Loury * Matthias Lisin * Marcel Schilling * Johannes Martinsson * Jean-Christophe Petkovich * Jay Kamat * Helen Sherwood-Taylor * HalosGhost * Gregor Pohl * Eivind Uggedal * 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 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].