Metadata-Version: 2.1
Name: konch
Version: 3.0.0
Summary: CLI and configuration utility for the Python shell, optimized for simplicity and productivity.
Home-page: https://github.com/sloria/konch
Author: Steven Loria
Author-email: sloria1@gmail.com
License: MIT
Keywords: konch shell custom ipython bpython repl ptpython ptipython
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: System :: Shells
Provides-Extra: dev
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: mock ; extra == 'dev'
Requires-Dist: scripttest (==1.3) ; extra == 'dev'
Requires-Dist: ipython ; extra == 'dev'
Requires-Dist: bpython ; extra == 'dev'
Requires-Dist: flake8 (==3.6.0) ; extra == 'dev'
Requires-Dist: pre-commit (==1.13.0) ; extra == 'dev'
Requires-Dist: ptpython ; extra == 'dev'
Requires-Dist: tox ; extra == 'dev'
Requires-Dist: flake8-bugbear (==18.8.0) ; (python_version >= "3.5") and extra == 'dev'
Provides-Extra: lint
Requires-Dist: flake8 (==3.6.0) ; extra == 'lint'
Requires-Dist: pre-commit (==1.13.0) ; extra == 'lint'
Requires-Dist: flake8-bugbear (==18.8.0) ; (python_version >= "3.5") and extra == 'lint'
Provides-Extra: tests
Requires-Dist: pytest ; extra == 'tests'
Requires-Dist: mock ; extra == 'tests'
Requires-Dist: scripttest (==1.3) ; extra == 'tests'
Requires-Dist: ipython ; extra == 'tests'
Requires-Dist: bpython ; extra == 'tests'

=====
konch
=====

.. image:: https://badge.fury.io/py/konch.svg
    :target: http://badge.fury.io/py/konch
    :alt: Latest version

.. image:: https://travis-ci.org/sloria/konch.svg?branch=master
    :target: https://travis-ci.org/sloria/konch
    :alt: Travis-CI

.. image:: https://readthedocs.org/projects/konch/badge/
   :target: http://konch.readthedocs.io/
   :alt: Documentation

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/ambv/black
   :alt: Code style: Black


Configures your Python shell
============================

**konch** is a CLI and configuration utility for the Python shell, optimized for simplicity and productivity.

- **Automatically import** any object upon startup
- **Simple**, per-project configuration in a single file (it's just Python code)
- **No external dependencies**
- Uses **IPython**, **BPython**, or **ptpython** if available, and falls back to built-in interpreter
- Automatically load **IPython extensions**
- Can have multiple configurations per project using **named configs**

.. image:: http://zippy.gfycat.com/EachTerrificChupacabra.gif
    :alt: Demo
    :target: http://konch.readthedocs.io


`http://konch.readthedocs.io <http://konch.readthedocs.io>`_
============================================================


*********
Changelog
*********

3.0.0 (2018-12-22)
------------------

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 the
  ``KONCH_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 from ``collections.abc`` on Python 3.7.

2.5.0 (2018-11-04)
------------------

- Update dev environment.
- Python 3.4 is no longer officially supported.
- Tested on Python 3.7.

2.4.0 (2017-04-29)
------------------

Features:

- Add basic tab-completion to plain Python shell.

2.3.0 (2016-12-23)
------------------

Features:

- Allow ``context`` to be a callable.
- Multiple names may be passed to ``named_config``.

2.2.1 (2016-12-19)
------------------

Bug fixes:

- Fix error raised when some options are passed to ``konch.named_config``.

2.2.0 (2016-07-21)
------------------

Features:

- Add ``ipy_colors`` and ``ipy_highlighting_style`` options for customizing IPython terminal colors.

2.1.0 (2016-07-18)
------------------

Features:

- Compatibility with IPython>=5.0.0.

Support:

- Update tasks.py for compatibility with invoke>=0.13.0.

2.0.0 (2016-06-01)
------------------

Features:

- Customizable context formatting via the ``context_format`` option.
- More CONCHES!

Deprecations/Removals:

- Remove ``hide_context`` option. Use the ``context_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 to ``konch.start``.

1.1.2 (2016-05-24)
------------------

- ``ShellNotAvailableErrors`` no longer pollute tracebacks when using the ``AutoShell``.

1.1.1 (2015-09-27)
------------------

- Remove deprecated import of IPython.config.

1.1.0 (2015-06-21)
------------------

- Add ptpython support.

1.0.0 (2015-02-08)
------------------

- Add support for ``setup`` and ``teardown`` functions in ``.konchrc`` files.
- If ``~/.konchrc.default`` exists, use that file as the template for new ``.konchrc`` files created with ``konch init``.
- Add ``ipy_extensions`` and ``ipy_autoreload`` options.
- Make sure that vim opens .konchrc files in Python mode.
- Drop Python 3.2 support.

0.4.2 (2014-07-12)
------------------

- "shell" option in .konchrc can be a string: either 'bpy', 'ipy', 'py', or 'auto'.
- Fix error in "konch edit".

0.4.1 (2014-06-23)
------------------

- Fix bug that caused konch to hang if no .konchrc file can be found.

0.4.0 (2014-06-10)
------------------

- Add ``edit`` command for editing .konchrc file.
- Properly output error messages to stderr.
- Tested on Python 3.4.

0.3.4 (2014-04-06)
------------------

- Fix bug that raised `SyntaxError` when executing konch on Windows.

0.3.3 (2014-03-27)
------------------

- 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.

0.3.2 (2014-03-18)
------------------

- 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()``.


0.3.1 (2014-03-17)
------------------

- Doesn't change current working directory.
- Less magicks.
- Tested on Python 3.4.


0.3.0 (2014-03-16)
------------------

- 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.

0.2.0 (2014-03-15)
------------------

- Fix bug with importing modules and packages in the current working directory.
- Introducing *named configs*.

0.1.0 (2014-03-14)
------------------

- First release to PyPI.


