Metadata-Version: 2.1
Name: pyams-utils
Version: 1.10.0
Summary: PyAMS generic modules
Home-page: https://pyams.readthedocs.io
Author: Thierry Florac
Author-email: tflorac@ulthar.net
License: ZPL
Keywords: Pyramid PyAMS
Platform: UNKNOWN
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Framework :: Pyramid
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.5
Requires-Dist: setuptools
Requires-Dist: BTrees
Requires-Dist: ZEO
Requires-Dist: ZODB
Requires-Dist: babel
Requires-Dist: beaker
Requires-Dist: chameleon
Requires-Dist: colander
Requires-Dist: cornice
Requires-Dist: cornice-swagger
Requires-Dist: docutils
Requires-Dist: fanstatic
Requires-Dist: httplib2
Requires-Dist: lxml
Requires-Dist: markdown
Requires-Dist: persistent
Requires-Dist: pygments
Requires-Dist: pyramid
Requires-Dist: pyramid-zodbconn
Requires-Dist: pytz
Requires-Dist: transaction
Requires-Dist: venusian
Requires-Dist: zope.annotation
Requires-Dist: zope.component
Requires-Dist: zope.container
Requires-Dist: zope.contentprovider
Requires-Dist: zope.copy
Requires-Dist: zope.datetime
Requires-Dist: zope.dublincore
Requires-Dist: zope.interface
Requires-Dist: zope.intid
Requires-Dist: zope.keyreference
Requires-Dist: zope.lifecycleevent
Requires-Dist: zope.location
Requires-Dist: zope.schema
Requires-Dist: zope.traversing
Provides-Extra: test
Requires-Dist: zope.site ; extra == 'test'
Requires-Dist: pyramid-chameleon ; extra == 'test'
Requires-Dist: pyramid-zcml ; extra == 'test'

===================
PyAMS_utils package
===================

.. contents::


What is PyAMS?
==============

PyAMS (Pyramid Application Management Suite) is a small suite of packages written for applications
and content management with the Pyramid framework.

**PyAMS** is actually mainly used to manage web sites through content management applications (CMS,
see PyAMS_content package), but many features are generic and can be used inside any kind of web
application.

All PyAMS documentation is available on `ReadTheDocs <https://pyams.readthedocs.io>`_; source code
is available on `Gitlab <https://gitlab.com/pyams>`_ and pushed to `Github
<https://github.com/py-ams>`_.


What is PyAMS_utils?
====================

PyAMS_utils is a large set of small generic modules used to handle PyAMS applications.

These modules provide several decorators used to declare object factories, adapters, utilities
and vocabularies; they also provide a large set of adapters, utilities and predicates related to
many common operations like caching, dates management, data API, text conversions, request
properties..., as well as custom schema fields.

When included into Pyramid's configuration, this package also register several Zope packages
through ZCML, typically to automatically inclure DublinCore extensions or IntIDs management.

Most PyAMS_utils modules are documented using doctests in the /doctests/ sub-directory.



Changelog
=========

1.10.0
------
 - added 'transaction' module
 - handler sets in dicts merging
 - Pylint improvements

1.9.2
-----
 - updated path getter of external Fanstatic resources

1.9.1
-----
 - locales and translations updates

1.9.0
-----
 - added simple container class to handle internal sequence
 - added mappings marging function
 - updated unique ID adapter
 - updated Pygments resources management

1.8.1
-----
 - updated custom Fanstatic resource manager to handle resources with data correctly in
   production mode

1.8.0
-----
 - updated Venusian decorator callbacks category to "pyramid" for compatibility
   with Pyramid 2.0
 - added registry helper to do adapters lookups

1.7.1
-----
 - added missing interface translation

1.7.0
-----
 - remove support for Python < 3.7
 - added global OpenAPI specification view
 - added simple Cornice schema fields and converters
 - added custom handling of newlines character in "br" TALES extension

1.6.1
-----
 - updated Gitlab-CI configuration

1.6.0
-----
 - added ILocation copy hook (copied from "zope.location" package)
 - added base class for local utilities vocabulary

1.5.2
-----
 - removed Travis-CI configuration

1.5.1
-----
 - translation update

1.5.0
-----
 - updated "get_duration" function to directly accept a timedelta object
 - added dict formatter function (mainly used for tests)
 - use keywords arguments in "request.has_permission" call to use request cache

1.4.3
-----
 - updated doctests for last Pygments release

1.4.2
-----
 - package version mismatch

1.4.1
-----
 - make "object_data" TALES extension return None instead of an empty string when no
   data is available

1.4.0
-----
 - added Beaker's cache management functions and vocabulary
 - always make a registered utility class to provide it's registered interface
 - added HTTPMethodField schema field, a tuple used to combine an HTTP method and an URL in
   a single property

1.3.8
-----
 - updated Gitlab-CI settings to remove Travis-CI

1.3.7
-----
 - updated Travis configuration

1.3.6
-----
 - updated WSGI environment decorator to prevent storing null values into request environment

1.3.5
-----
 - updated request's WSGI property decorator to be able to handle caching functions with
   arguments
 - extracted object data renderer into a dedicated function
 - updated adapter_config decorator arguments names

1.3.4
-----
 - always add "context" attribute to request when creating a new request

1.3.3
-----
 - changed format of "capture*" context managers to also get result of initial function call

1.3.2
-----
 - renamed testing decorator caller argument

1.3.1
-----
 - added testing requirement for Pyramid ZCML

1.3.0
-----
 - updated PyAMS registry management to only use Pyramid registry (using "hook_zca")
 - local registry should only be used to handle local utilities, and not any kind of
   components!
 - updated doctests to use hooked ZCA

1.2.8
-----
 - updated doctests

1.2.7
-----
 - updated doctests

1.2.6
-----
 - updated doctests

1.2.5
-----
 - updated doctests

1.2.4
-----
 - added distribution check

1.2.3
-----
 - small refactoring to add "get_timestamp" function to "pyams_utils.date" module
 - small updates in "url" and "zodb" modules
 - added venusian decorators testing helpers
 - completed doctests

1.2.2
-----
 - Pylint upgrade

1.2.1
-----
 - updated doctest

1.2.0
-----
 - added Fanstatic resource type to define link "data" attributes, with new doctests
 - added new "data" function to format data attributes
 - Pylint code cleanup

1.1.4
-----
 - updated doctests
 - when registering a class adapter, automatically make this class implement the adapter
   "provided" interface
 - added testing helpers

1.1.3
-----
 - added doctests

1.1.2
-----
 - renamed arguments and variables to avoid shadowing arguments names
 - updated private Gitlab integration

1.1.1
-----
 - added synonyms to "adapter_config" arguments names ('required' and 'adapts' for 'context', and
   'provided' for 'provides')

1.1.0
-----
 - corrected "timestamp" TALES extension
 - added generic *IDataManager* interface definition to PyAMS_utils, so it can be used in any
   package without using PyAMS_form

1.0.0
-----
 - initial release


