No description
Find a file
2016-07-08 19:30:59 -04:00
.tx Import kitchen_1.2.4.orig.tar.gz 2016-07-08 19:18:01 -04:00
debian merge patched into master 2016-07-08 19:30:59 -04:00
kitchen2 Make kitchen.text.converters.exception_to_* not swallow 2016-07-08 19:30:01 -04:00
kitchen3 Remove the pycompat* submodules 2016-07-08 19:30:01 -04:00
locale Import kitchen_1.2.4.orig.tar.gz 2016-07-08 19:18:01 -04:00
maintainers Import kitchen_1.2.4.orig.tar.gz 2016-07-08 19:18:01 -04:00
po Import kitchen_1.2.4.orig.tar.gz 2016-07-08 19:18:01 -04:00
.gitignore Import kitchen_1.2.4.orig.tar.gz 2016-07-08 19:18:01 -04:00
.travis.yml Import kitchen_1.2.4.orig.tar.gz 2016-07-08 19:18:01 -04:00
COPYING Imported Upstream version 1.1.1 2015-10-08 09:26:18 -07:00
COPYING.LESSER Imported Upstream version 1.1.1 2015-10-08 09:26:18 -07:00
HACKING.rst Import kitchen_1.2.4.orig.tar.gz 2016-07-08 19:18:01 -04:00
MANIFEST.in Import kitchen_1.2.4.orig.tar.gz 2016-07-08 19:18:01 -04:00
NEWS.rst Import kitchen_1.2.4.orig.tar.gz 2016-07-08 19:18:01 -04:00
README.rst Import kitchen_1.2.4.orig.tar.gz 2016-07-08 19:18:01 -04:00
releaseutils.py Fix several typos 2016-07-08 19:18:17 -04:00
runtests.sh Import kitchen_1.2.4.orig.tar.gz 2016-07-08 19:18:01 -04:00
setup.cfg Imported Upstream version 1.1.1 2015-10-08 09:26:18 -07:00
setup.py Remove the pycompat* submodules 2016-07-08 19:30:01 -04:00

===================
Kitchen.core Module
===================

:Author: Toshio Kuratomi
:Maintainer: Ralph Bean
:Date: 13 Nov 2015
:Version: 1.2.x

The Kitchen module provides a python API for all sorts of little useful
snippets of code that everybody ends up writing for their projects but never
seem big enough to build an independent release.  Use kitchen and stop cutting
and pasting that code over and over.

.. contents::

-------
License
-------

Since version 0.2a1, this python module has been distributed under the terms of
the GNU Lesser General Public License Version 2 or later.

.. note:: Some parts of this module are licensed under terms less restrictive
    than the LGPL.  If you separate these files from the work as a whole you
    are allowed to use them under the less restrictive licenses.  The following
    is a list of the files that are known:

    :subprocess.py: licensed under the Python 2 license by the PSF
        http://www.python.org/download/releases/2.4/license/
    :test_subprocess.py: Python Software Foundation License Version 2
        http://www.python.org/download/releases/2.7/license/
    :kitchen/pycompat25/defaultdict.py: Python Software Foundation License Version 2
        http://www.python.org/download/releases/2.6.2/license

------------
Requirements
------------

kitchen.core requires

:python: 2.4 or later

Since version 1.2.0, this package has distributed both python2 and python3
compatible versions of the source.

Soft Requirements
=================

If found, these libraries will be used to make the implementation of something
better in some way.  If they are not present, the API that they enable will
still exist but may function in a different manner.

:chardet_: Used in kitchen.text.xml.guess_encoding__to_xml() to help guess encoding of
    byte strings being converted.  If not present, unknown encodings will be
    converted as if they were latin1.

.. _chardet:: http://chardet.feedparser.org/

---------------------------
Other Recommended Libraries
---------------------------

These libraries implement commonly used functionality that everyone seems to
invent.  Rather than reinvent their wheel, I simply list the things that they
do well for now.  Perhaps if people can't find them normally, I'll add them as
requirements in setup.py or link them into kitchen's namespace.  For now, I
just mention them here:

:bunch_: Bunch is a dictionary that you can use attribute lookup as well as
    bracket notation to access.  Setting it apart from most homebrewed
    implementations is the bunchify() function which will descend nested
    structures of lists nad dicts, transforming the dicts to Bunch's.

.. _bunch:: http://pypi.python.org/pypi/bunch/

---------------------
Building, and testing
---------------------

Testing
=======

You can run the unittests with this command::

    ./runtests.sh