Typing:
- Add more strict typing for
konch.config
andkonch.named_config
so that auto-completion works in editors (:pr:`264`).
Other changes:
- Explicitly support IPython>=8.0.0 and ptpython>=3.0.0.
Bug fixes:
- Fix bug that caused:
TypeError: Shell.__init__() got an unexpected keyword argument
when usingkonch.start()
orkonch.AutoShell
with shell-specific keyword arguments (:issue:`sloria/flask-konch#41`).
Typing:
- Fix typing of
context
parameter to allow callables. - Restrict
Context
type todict[str, Any]
.
Other changes:
- Drop support for Python 3.8 (EOL).
- Test against Python 3.13.
- Remove unnecessary tabcomplete code from
PythonShell
, since tab completion is enabled by default. - Backwards-incompatible: Remove
konch.__version__
attribute. Useimportlib.metadata.version("konch")
instead.
Features:
- Install konch within a konch package. This prevents docopt.py from polluting the site packages directory.
- Add py.typed marker file for PEP 561 compatibility.
Other changes:
- Drop support for Python 3.7 (EOL).
- Test against Python 3.11 and Python 3.12.
Bug fixes:
- Fix compatibility with IPython 8.0 (:issue:`211`).
Other changes:
- Drop support for Python 3.6 (EOL).
- Test against Python 3.10.
Features:
- Follow XDG standard in config file discovery (:issue:`177`). Thanks :user:`rpdelaney` for PR and the suggestion.
Other changes:
- Test against Python 3.8 and 3.9.
Bug fixes:
- Remove usage of deprecated
imp
module. - Handle
AttributeError
when object in context list has no__name__
attribute (:issue:`105`). Thanks :user:`brl0` for reporting.
Bug fixes:
- Prevent error when ptpython config file exists (:issue:`84`). Thanks :user:`svanburen`.
Features:
- Add BPython Curses shell (:pr:`78`). Thanks :user:`goandbuild` for the suggestion and PR.
Bug fixes:
- Fix casing when using "context_format": "short".
Features:
- Use a
[y/N]
prompt for authorizing a config file instead of requiring user to runkonch allow
.
Bug fixes:
- Fix behavior when
konch edit
is passed a file that does not exist.
Other changes:
- Various documentation improvements and updates.
Features:
- Add ANSI coloring and improve messaging (:issue:`67`).
konch.config()
will shallow-mergecontext
when called multiple times.konch edit
may be passed a filename to edit.konch.main
accepts anargv
argument.- Add
trust
parameter tokonch.use_file()
.
Other changes:
- Python 2 is no longer supported. Python>=3.6 is officially supported.
Bug fixes:
- Fix handling of nested modules when passing a list to
context
.
- Add
python_requires
to PyPI metadata.
3.2.x will be the last release line to support Python 2.
- Show preview when .konchrc file has changed.
- Show preview of unauthorized files.
- Distribute a universal wheel.
Features:
- Config files must be approved before executing them.
Use
konch allow
to authorize a config file. This is a security mechanism to prevent executing untrusted Python code (:issue:`47`). Thanks :user:`hartwork` for the suggestion. - Allow customizing the editor to use for
konch edit
via theKONCH_EDITOR
environment variable. konch init
only adds the encoding pragma (# -*- coding: utf-8 -*-\n
) on Python 2.- Raise error when an invalid
--name
is passed.
Bug fixes:
- Respect ptpython's user config file (
~/.ptpython/config.py
) (:issue:`16`). Thanks :user:`nasyxx` for reporting and thanks :user:`pycadelic` for helping out with the implementation. - Address a
DeprecationWarning
about importing fromcollections.abc
on Python 3.7.
- Update dev environment.
- Python 3.4 is no longer officially supported.
- Tested on Python 3.7.
Features:
- Add basic tab-completion to plain Python shell.
Features:
- Allow
context
to be a callable. - Multiple names may be passed to
named_config
.
Bug fixes:
- Fix error raised when some options are passed to
konch.named_config
.
Features:
- Add
ipy_colors
andipy_highlighting_style
options for customizing IPython terminal colors.
Features:
- Compatibility with IPython>=5.0.0.
Support:
- Update tasks.py for compatibility with invoke>=0.13.0.
Features:
- Customizable context formatting via the
context_format
option. - More CONCHES!
Deprecations/Removals:
- Remove
hide_context
option. Use thecontext_format
option instead. - Drop support for Python<=2.6 and <=3.3.
Bug fixes:
- Fix bug in checking availability of PtIPython.
- Fix bug in passing shell subclass as
shell
argument tokonch.start
.
ShellNotAvailableErrors
no longer pollute tracebacks when using theAutoShell
.
- Remove deprecated import of IPython.config.
- Add ptpython support.
- Add support for
setup
andteardown
functions in.konchrc
files. - If
~/.konchrc.default
exists, use that file as the template for new.konchrc
files created withkonch init
. - Add
ipy_extensions
andipy_autoreload
options. - Make sure that vim opens .konchrc files in Python mode.
- Drop Python 3.2 support.
- "shell" option in .konchrc can be a string: either 'bpy', 'ipy', 'py', or 'auto'.
- Fix error in "konch edit".
- Fix bug that caused konch to hang if no .konchrc file can be found.
- Add
edit
command for editing .konchrc file. - Properly output error messages to stderr.
- Tested on Python 3.4.
- Fix bug that raised SyntaxError when executing konch on Windows.
- Fix bug in resolve_path that caused infinite loop if config file not found.
- Fix bug with initializing konch in home directory.
- Add
hide_context
option.
- Some changes to make it easier to use konch programatically.
konch.start()
can be called with no arguments.- Expose docopt argument parsing via
konch.parse_args()
.
- Doesn't change current working directory.
- Less magicks.
- Tested on Python 3.4.
- Smarter path resolution. konch will search parent directories until it finds a .konchrc file to use.
- Make prompt configurable on IPython and built-in shell. Output template is also supported on IPython.
- Backwards-incompatible: Remove support for old (<=0.10.x--released 3 years ago!) versions of IPython.
- Fix bug with importing modules and packages in the current working directory.
- Introducing named configs.
- First release to PyPI.