http://open-source-security-software.net/project/bpython/releases.atomRecent releases for bpython2025-04-25T08:26:32.211628+00:00python-feedgenbpython 0.13.2-releasebpython 0.13.2-release2015-01-10T21:35:38+00:00A bugfix release. The fixed bugs are:
- #424: Use new JSON API at bpaste.net.
- #430: Fixed SNI issues with new pastebin service on Mac OS X.
- #432: Fixed crash in bpython-curtsies in special circumstances if history file
is empty. Thanks to Lisa van Gelder.
2015-01-10T21:35:38+00:00bpython 0.13.1-releasebpython 0.13.1-release2015-01-10T21:36:29+00:00A bugfix release. The fixed bugs are:
- #287: Turned off dictionary completion in bpython-curtsies
- #281: Fixed a crash on error-raising properties
- #286: Fixed input in Python 3
- #293: Added encoding attribute to stdin bpython curtsies
- #296: Fixed warnings in import completion for Python 3
- #290: Stop using root logger
- #301: Specify curtsies version in requirements
There's also a necessary regression: #232 (adding fileno() on stdin) is reintroduced because its previous fix was found to be the cause of #286.
2015-01-10T21:36:29+00:00bpython 0.13-releasebpython 0.13-release2015-01-10T21:38:06+00:00## 0.13
There are a few new features, a bunch of bugfixes, and a new frontend for bpython in this release.
- Dictionary key completion, thanks to Maja Frydrychowicz (#226).
To use normal completion and ignore these key completions, type a space.
- Edit current line in external editor: ctrl-x (#161)
Fixes:
- Python 2.5 compatibility, thanks to Michael Schuller (#279). Python 2.5
is not officially supported, but after few changes Michael introduced, he
says it's working fine.
- FakeStream has flush(), so works correctly with
django.core.email.backends.console thanks to Marc Sibson (#259)
- FakeStdin has fileno() (#232)
- Changes to sys.ps1 and sys.ps2 are respected thanks to Michael Schulle (#267)
- atexit registered functions run on exit (#258)
- fixed an error on exit code when running a script with bpython script.py (#260)
- setup.py extras are used to define dependencies for urwid and
curtsies frontends
There's a new frontend for bpython: bpython-curtsies. Curtsies is a terminal wrapper written to making native scrolling work in bpython. (#56, #245) Try bpython-curtsies for the bpython experience with a vanilla python layout. (demo: http://ballingt.com/assets/bpython-curtsies-scroll-demo-large.gif)
This curtsies frontend addresses some issues unfixed in bpython-cli, and has
a few extra features:
- Editing full interpreter history in external editor with F7, which is rerun
as in rewind
- A new interpreter is used for rewind, unless bpython-curtsies was started
with custom locals or in interactive mode (#71)
- Ctrl-c behaves more like vanilla python (#177)
- Completion still works if cursor at the end of the line (#147)
- Movement keys meta-b, meta-f, and meta-backspace, ctrl-left and ctrl-right
are all honored (#246, #201)
- Non-ascii characters work in the file save prompt (#236)
- New --type / -t option to run the contents of a file as though they were
typed into the bpython-curtsies prompt
A few things about bpython-curtsies are worse than regular bpython:
- Bad things can happen when using several threads (#265)
- output prints slowly (#262)
- bpython-curtsies can't be backgrounded and resumed correctly (via ctrl-z,
fg) (#274)
There are two new options in the new [curtsies] section of the bpython config
- list_above: whether completion window can cover text above the current line;
defaults to True
- fill_terminal: whether bpython-curtsies should be fullscreen (like bpython);
defaults to False
2015-01-10T21:38:06+00:00bpython 0.14-releasebpython 0.14-release2015-02-16T22:50:58+00:00This release contains major changes to the frontends:
- curtsies is the new default frontend.
- The old curses frontend is available as bpython-curses.
- The GTK+ frontend has been removed.
New features:
- #194: Syntax-highlighted tracebacks. Thanks to Miriam Lauter.
- #234: Copy to system keyboard.
- #285: Re-evaluate session and reimport modules.
- #313: Warn when undo may take cause extended delay, and prompt to undo
multiple lines.
- #322: Watch imported modules for changes and re-evaluate on changes.
- #328: bpython history not re-evaluated to edit a previous line of a multiline
statement.
- #334: readline command Meta-. for yank last argument. Thanks to Susan
Steinman and Steph Samson.
- #338: bpython help with F1.
- #354: Edit config file from within bpython.
- #382: Partial support for pasting in text with blank lines.
- #410: Startup banner that shows Python and bpython version
- #426: Experimental mutliline autocompletion.
- fish style last history completion with Arrow Right. Thanks to Nicholas
Sweeting.
- fish style automatic reverse history search with Arrow Up.
Thanks to Nicholas Sweeting.
- Incremental forward and reverse search.
- All readline keys which kill/cut text correctly copy text for paste
with Ctrl-y or Meta-y.
- French translation.
- Removal links for bpaste pastebins are now displayed.
- More informative error messages when source cannot be found for an object.
Thanks to Liudmila Nikolaeva and Miriam Lauter.
- Message displayed if history in scrollback buffer is inconsistent with
output from last re-evaluation of bpython session. Thanks to Susan Steinman.
- Adjust logging level with -L or -LL.
- String literal attribute completion.
Fixes:
- #254: Use ASCII characters if Unicode box characters are not supported by the
terminal.
- #284: `__file__` is in scope after module run with bpython -i. Thanks to
Lindsey Raymond.
- #347: Fixed crash on unsafe autocompletion.
- #349: Fixed writing newlines to stderr.
- #363: Fixed banner crashing bpython-urwid. Thanks to Luca Barbato.
- #366, #367: Fixed help() support in curtsies.
- #369: Interactive sessions inherit compiler directives from files run with -i
interactive flag.
- #370, #401, #440, #448, #468, #472: Fixed various display issues in curtsies.
- #391: Fixed crash when using Meta-backspace. Thanks to Tony Wang.
- #438, #450: bpython-curtsies startup behavior fixed. Errors
during startup are reported instead of crashing.
- #447: Fixed behavior of duplicate keybindings. Thanks to Keyan Pishdadian.
- #458: Fixed dictionary key completion crash in Python 2.6. Thanks to Mary
Mokuolu.
- Documentation fixes from Lindsey Raymond.
- Fixed filename completion.
- Fixed various Unicode issues in curtsies.
- Fixed and re-enabled dictionary key completion in curtsies.
The commandline option --type / -t has been renamed to --paste / -p.
Python 2.6, 2.7, 3.3 and newer are supported. Support for 2.5 has been dropped.
Furthermore, it is no longer necessary to run 2to3 on the source code.
This release brings a lot more code coverage, a new contributing guide,
and most of the code now conforms to PEP-8.
Changes to dependencies:
- greenlet and curtsies are no longer optional.
- six is a new dependency.
- jedi is a new optional dependency required for multiline completion.
- watchdog is a new optional dependency required for watching changes in
imported modules
2015-02-16T22:50:58+00:00bpython 0.14.1-releasebpython 0.14.1-release2015-03-01T14:28:03+00:00Fixes:
- #483: Fixed jedi exceptions handling.
- #486: Fixed Python 3.3 compatibility.
- #489: Create history file with mode 0600.
- #491: Fix issues with file name completion.
- #494: Fix six version requirement.
- Fix conditional dependencies for SNI support in Python versions before 2.7.7.
2015-03-01T14:28:03+00:00bpython 0.14.2-releasebpython 0.14.2-release2016-10-10T17:27:07+00:00Fixes:
- #498: Fixed is_callable
- #509: Fixed fcntl usage.
- #523, #524: Fix conditional dependencies for SNI support again.
- Fix binary name of bpdb.
2016-10-10T17:27:07+00:00bpython 0.15-releasebpython 0.15-release2016-10-10T17:28:27+00:00This release contains new features and plenty of bug fixes.
New features:
- #425: Added curtsies 0.2.x support.
- #528: Hide private attribute from initial autocompletion suggestions.
Thanks to Jeppe Toustrup.
- #538: Multi-line banners are allowed.
- #229: inspect.getsource works on interactively defined functions.
Thanks to Michael Mulley.
- Attribute completion works on literals and some expressions containing
builtin objects.
- Ctrl-e can be used to autocomplete current fish-style suggestion.
Thanks to Amjith Ramanujam.
Fixes:
- #484: Switch `bpython.embed` to the curtsies frontend.
- #548 Fix transpose character bug.
Thanks to Wes E. Vial.
- #527 -q disables version banner.
- #544 Fix Jedi completion error.
- #536 Fix completion on old-style classes with custom **getattr**.
- #480 Fix old-style class autocompletion.
Thanks to Joe Jevnik.
- #506 In python -i mod.py sys.modules[**name**] refers to module dict.
- #590 Fix "None" not being displayed.
- #546 Paste detection uses events instead of bytes returned in a single
os.read call.
- Exceptions in autocompletion are now logged instead of crashing bpython.
- Fix reload in Python 3.
Thanks to sharow.
- Fix keyword argument parameter name completion.
Changes to dependencies:
- requests[security] has been changed to pyOpenSSL, pyasn1, and ndg-httpsclient.
These dependencies are required before Python 2.7.7.
2016-10-10T17:28:27+00:00bpython 0.16-releasebpython 0.16-release2016-10-10T17:29:25+00:00New features:
- #466: Improve handling of completion box height.
Fixes:
- Fix various spelling mistakes.
Thanks to Josh Soref and Simeon Visser.
- #601: Fix Python 2 issues on Windows.
Thanks to Aditya Gupta.
- #614: Fix issues when view source.
Thanks to Daniel Hahler.
- #625: Fix issues when runnings scripts with non-ASCII characters.
- #639: Fix compatbility issues with pdb++.
Thanks to Daniel Hahler.
Support for Python 2.6 has been dropped.
2016-10-10T17:29:25+00:00bpython 0.17-releasebpython 0.17-release2017-07-15T09:55:55+00:00New features:
* #641: Implement Ctrl+O.
* Add default_autoreload config option.
Thanks to Alex Frieder.
Fixes:
* Fix deprecation warnings.
* Do not call signal outside of main thread.
Thanks to Max Nordlund.
* Fix option-backspace behavior.
Thanks to Alex Frieder.
* #648: Fix paste helper.
Thanks to Jakob Bowyer.
* #653: Handle docstrings more carefully.
* #654: Do not modify history file during tests.
* #658: Fix newline handling.
Thanks to Attila Szöllősi.
* #670: Fix handlign of ANSI escape codes.
Thanks to Attila Szöllősi.
* #687: Fix encoding of jedi completions.2017-07-15T09:55:55+00:00bpython 0.18-releasebpython 0.18-release2020-10-13T17:23:10+00:00New features:
* #713 expose globals in bpdb debugging.
Thanks to toejough.
Fixes:
* Fix file locking on Windows.
* Exit gracefully if config file fails to be loaded due to encoding errors.
* #744: Fix newline handling.
Thanks to Attila Szöllősi.
* #731: Fix exit code.
Thanks to benkrig.
* #767: Fix crash when matching certain lines in history.
Support for Python 3.3 has been dropped.2020-10-13T17:23:10+00:00bpython 0.19-releasebpython 0.19-release2020-10-13T17:23:44+00:00General information:
* The bpython-cli and bpython-urwid rendering backends have been deprecated and
will show a warning that they'll be removed in a future release when started.
* Usage in combination with Python 2 has been deprecated. This does not mean that
support is dropped instantly but rather that at some point in the future we will
stop running our testcases against Python 2.
* The new pinnwand API is used for the pastebin functionality. We have dropped
two configuration options: `pastebin_show_url` and `pastebin_removal_url`. If
you have your bpython configured to run against an old version of `pinnwand`
please update it.
New features:
Fixes:
* #765: Display correct signature for decorated functions.
Thanks to Benedikt Rascher-Friesenhausen.
* #776: Protect get_args from user code exceptions
* Improve lock file handling on Windows
* #791: Use importlib instead of deprecated imp when running under Python 3
Support for Python 3.8 has been added. Support for Python 3.4 has been dropped.2020-10-13T17:23:44+00:00bpython 0.20-releasebpython 0.20-release2020-10-13T18:33:57+00:00General information:
* The next release of bpython (0.21) will drop support for Python 2.
* Support for Python 3.9 has been added. Support for Python 3.5 has been
dropped.
New features:
* #802: Provide redo.
Thanks to Evan.
* #835: Add support for importing namespace packages.
Thanks to Thomas Babej.
Fixes:
* #622: Provide encoding attribute for FakeOutput.
* #806: Prevent symbolic link loops in import completion.
Thanks to Etienne Richart.
* #807: Support packages using importlib.metadata API.
Thanks to uriariel.
* #809: Fix support for Python 3.9's ast module.
* #817: Fix cursor position with full-width characters.
Thanks to Jack Rybarczyk.
* #853: Fix invalid escape sequences.
2020-10-13T18:33:57+00:00bpython 0.20.1-releasebpython 0.20.1-release2020-11-13T18:02:26+00:00Fixes:
* Fix check of key code (fixes #859)2020-11-13T18:02:26+00:00bpython 0.21-releasebpython 0.21-release2021-01-25T10:12:01+00:00General information:
* Support for Python 2 has been dropped.
New features:
* #643: Provide bpython._version if built from Github tarballs
* #849: Make import completion skip list configurable
* #876: Check spelling with codespell
Thanks to Christian Clauss
Fixes:
* #847: Fix import completion of modules
* #857: Replace remaining use of deprecated imp with importlib
* #862: Upgrade curtsies version requirements
Thanks to Kelsey Blair
* #863: State correct default config file directory
Thanks to niloct
* #866: Add more directories to the default import completion skip list
* #873: Handle 'd' when mapping colors
* #874: Avoid breakage with six's importer
Changes to dependencies:
* curtsies >= 0.3.5 is now required
* pyxdg is now required
* wcwidth has been replaced with cwcwidth2021-01-25T10:12:01+00:00bpython 0.22-releasebpython 0.22-release2021-11-07T21:18:24+00:00General information:
* The #bpython channel has moved to OFTC.
* Type annotations have been added to the bpython code base.
* Declarative build configuration is used as much as possible.
New features:
* #883: Allow auto-completion to be disabled
* #841: Respect locals when using bpython.embed
* Use pyperclip for better clipboard handling
Fixes:
* #700, #884: Fix writing of b"" on fake stdout
* #879: Iterate over all completers until a successful one is found
* #882: Handle errors in theme configuration without crashing
* #888: Read PYTHONSTARTUP with utf8 as encoding
* #896: Use default sys.ps1 and sys.ps2 if user specified ones are not usable
* #902: Do not crash when encountering unreadable files while processing modules for import completion
* #909: Fix sys.stdin.readline
* #917: Fix tab completion for dict keys
* #919: Replicate python behavior when running with -i and a non-existing file
* #932: Fix handling of __signature__ for completion. Thanks to gpotter2
Changes to dependencies:
* pyperclip is a new optional dependency for clipboard support
* backports.cached-property is now required for Python < 3.8
* dataclasses is now required for Python < 3.7
* Support for Python 3.10 has been added.2021-11-07T21:18:24+00:00bpython 0.22.1-releasebpython 0.22.1-release2021-11-08T10:30:41+00:00Fixes:
* #938: Fix missing dependency on typing_extensions. Thanks to Dustin Rodrigues2021-11-08T10:30:41+00:00bpython 0.23-releasebpython 0.23-release2022-08-30T07:58:45+00:00General information:
More and more type annotations have been added to the bpython code base. Some work has been performed to stop relying on blessings.
New features:
* #905: Auto-closing brackets option added. To enable, add brackets_completion = True in the bpython config. Thanks to samuelgregorovic
Fixes:
* Improve handling of SyntaxErrors
* #948: Fix crash on Ctrl-Z
* #952: Fix tests for Python 3.10.1 and newer
* #955: Handle optional readline parameters in stdin emulation. Thanks to thevibingcat
* #959: Fix handling of `__name__`
* #966: Fix function signature completion for `classmethod`s
Changes to dependencies:
* curtsies 0.4 or newer is now required
* Support for Python 3.6 has been dropped.2022-08-30T07:58:45+00:00bpython 0.24-releasebpython 0.24-release2023-08-05T09:17:15+00:00General information:
* This release is focused on Python 3.11 support.
New features:
* #980: Add more keywords to trigger auto-deindent.
Thanks to Eric Burgess
Fixes:
* Improve inspection of builtin functions.
Changes to dependencies:
* wheel is no required as part of pyproject.toml's build dependencies
Support for Python 3.11 has been added.2023-08-05T09:17:15+00:00