Added Docstring doc
authorDamien Correia
Mon, 09 Apr 2018 16:20:16 +0200
branchdoc
changeset 49 d6274edc287c
parent 45 dd396a91bb94
child 50 aedab26ef690
Added Docstring
src/pyams_alchemy/__init__.py
--- a/src/pyams_alchemy/__init__.py	Thu Mar 22 15:02:15 2018 +0100
+++ b/src/pyams_alchemy/__init__.py	Mon Apr 09 16:20:16 2018 +0200
@@ -9,6 +9,35 @@
 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
 # FOR A PARTICULAR PURPOSE.
 #
+"""
+
+PyAMS SQLAlchemy integration
+============================
+
+*pyams_alchemy* package is a small package which can be used to make SQLAlchemy integration more simple.
+
+The main goal of *pyams_alchemy* package is to define the :class:`pyams_alchemy.engine.AlchemyEngineUtility` class:
+this class can be stored persistently into PyAMS local site manager (see :ref:`site`) to store settings of an
+SQLAlchemy engine; on user request, the :func:`pyams_alchemy.engine.get_user_session` function can be used to get
+access to a new SQLAlchemy engine session matching these settings which will to be bound to current Pyramid's
+transaction.
+
+
+Dynamic schema names
+++++++++++++++++++++
+
+Some times you may have to be able to setup, for a given table, a schema name which is not static but can be dynamic
+through a configuration option.
+
+This can be done easily with the help of the :class:`pyams_alchemy.mixin.DynamicSchemaMixin` which you can inherit from
+in any SQLAlchemy table subclass.
+
+When this is done, the schema name can be defined into Pyramid's configuration file into a setting which is called
+*pyams_alchemy:{module_name}.{class_name}.schema*; for example like in
+*pyams_alchemy:pyams_content.package.TableName.schema*. If not specified, the table's schema name can be defined in a
+classic *__schema__* table's attribute.
+
+"""
 
 __docformat__ = 'restructuredtext'