Metadata-Version: 2.0
Name: sparc.configuration
Version: 0.0.2
Summary: Configuration components for the SPARC platform
Home-page: https://github.com/davisd50/sparc.configuration
Author: David Davis
Author-email: davisd50@gmail.com
License: MIT
Keywords: zca
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Framework :: Zope3
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Requires-Dist: pyaml
Requires-Dist: setuptools
Requires-Dist: sparc.proxy
Requires-Dist: zope.component
Requires-Dist: zope.configuration
Requires-Dist: zope.interface
Requires-Dist: zope.schema
Requires-Dist: zope.security
Provides-Extra: testing
Requires-Dist: sparc.testing[zcml]; extra == 'testing'
Requires-Dist: zope.testrunner; extra == 'testing'

sparc.configuration
====================

Basic common configuration tools used in the SPARC platform.  Includes, but 
not limited to Zope Component ZCML utilities.

ZCA Configuration
-----------------
Tools that leverage SPARC packages are usually also dependant on Zope 
Component Architecture (http://docs.zope.org/zope.component/narr.html).  Use 
of ZCA requires component configuration,which SPARC does via ZCML 
(https://github.com/zopefoundation/zope.component/blob/master/docs/zcml.rst).

Among other things, sparc.common provides access to Configure(), an easy 
function that can be used to configure dependant applications.

### Usage - ZCA configuration
    This simplifies your ability to create components via ZCML and have 
    your application parse the ZCML files to allow them to be registered for 
    lookup.
    >>> import a.package.that.contains.a.configure.zcml
    >>> import another.package.that.contains.a.configure.zcml
    >>> from sparc.common import Configure
    >>> Configure([your.package.that.contains.a.configure.zcml,
    ...            another.package.that.contains.a.configure.zcml])

    You will now have access to components configured within those packages.

### Usage - Retrieve user feedback from CLI application
    This simplifies the process of getting feedback for processing within 
    a CLI application.
    >>> import sparc.common
    >>> from sparc.common import Configure
    >>> from sparc.common import ICallable
    >>> from zope.component import getUtility
    >>> Configure([sparc.common])
    >>> asker = getUtiliy(ICallable, 'sparc.common.ask_question')
    >>> answer = asker(u"How are you?", required = True, answers = \
    ... 				{'1':'awesome','2':'ok','3':'not so good'}, tries = 3)
    How are you?
    (1) awesome
    (2) ok
    (3) not so good

    >>> print answer
    '1'

0.0.1
++++++++++++++++++

* initial release

0.0.2
++++++++++++++++++

* let value getter have a default
* allow pacakge-less zcml imports (file-path only zcml declarations)
* update IPyContainerConfigValue to allow deep key reference
* fix dependency identifiers
* fix generator error
* remove dependency on ZCA from implementations
* remove dependency on zope.component
* add travis ci config


