src/build/html/pyams_alchemy.html
changeset 0 d153941bb745
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/build/html/pyams_alchemy.html	Sun Jan 14 11:48:51 2018 +0100
@@ -0,0 +1,410 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>PyAMS SQLAlchemy integration &#8212; PyAMS User Guide 0.1.0 documentation</title>
+    <link rel="stylesheet" href="_static/pyramid.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '0.1.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Neuton&amp;subset=latin" type="text/css" media="screen" charset="utf-8" />
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&amp;subset=latin" type="text/css" media="screen" charset="utf-8" />
+<!--[if lte IE 6]>
+<link rel="stylesheet" href="_static/ie6.css" type="text/css" media="screen" charset="utf-8" />
+<![endif]-->
+
+  </head>
+  <body>
+
+    <div class="related" role="navigation" aria-label="related navigation">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="py-modindex.html" title="Python Module Index"
+             >modules</a> |</li>
+        <li class="nav-item nav-item-0"><a href="index.html">PyAMS User Guide 0.1.0 documentation</a> &#187;</li> 
+      </ul>
+    </div>  
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <div class="section" id="pyams-sqlalchemy-integration">
+<span id="pyams-alchemy"></span><h1>PyAMS SQLAlchemy integration<a class="headerlink" href="#pyams-sqlalchemy-integration" title="Permalink to this headline">¶</a></h1>
+<p><em>pyams_alchemy</em> package is a small package which can be used to make SQLAlchemy integration more simple.</p>
+<p>The main goal of <em>pyams_alchemy</em> package is to define the <a class="reference internal" href="#pyams_alchemy.engine.AlchemyEngineUtility" title="pyams_alchemy.engine.AlchemyEngineUtility"><code class="xref py py-class docutils literal"><span class="pre">pyams_alchemy.engine.AlchemyEngineUtility</span></code></a> class:
+this class can be stored persistently into PyAMS local site manager (see <a class="reference internal" href="site.html#site"><span class="std std-ref">PyAMS site management</span></a>) to store settings of an
+SQLAlchemy engine; on user request, the <a class="reference internal" href="#pyams_alchemy.engine.get_user_session" title="pyams_alchemy.engine.get_user_session"><code class="xref py py-func docutils literal"><span class="pre">pyams_alchemy.engine.get_user_session()</span></code></a> 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.</p>
+<div class="section" id="dynamic-schema-names">
+<h2>Dynamic schema names<a class="headerlink" href="#dynamic-schema-names" title="Permalink to this headline">¶</a></h2>
+<p>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.</p>
+<p>This can be done easily with the help of the <a class="reference internal" href="#pyams_alchemy.mixin.DynamicSchemaMixin" title="pyams_alchemy.mixin.DynamicSchemaMixin"><code class="xref py py-class docutils literal"><span class="pre">pyams_alchemy.mixin.DynamicSchemaMixin</span></code></a> which you can inherit from
+in any SQLAlchemy table subclass.</p>
+<p>When this is done, the schema name can be defined into Pyramid’s configuration file into a setting which is called
+<em>pyams_alchemy:{module_name}.{class_name}.schema</em>; for example like in
+<em>pyams_alchemy:pyams_content.package.TableName.schema</em>. If not specified, the table’s schema name can be defined in a
+classic <em>__schema__</em> table’s attribute.</p>
+</div>
+<div class="section" id="module-pyams_alchemy">
+<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-pyams_alchemy" title="Permalink to this headline">¶</a></h2>
+<dl class="function">
+<dt id="pyams_alchemy.includeme">
+<code class="descclassname">pyams_alchemy.</code><code class="descname">includeme</code><span class="sig-paren">(</span><em>config</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.includeme" title="Permalink to this definition">¶</a></dt>
+<dd><p>Pyramid include</p>
+</dd></dl>
+
+</div>
+<div class="section" id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-pyams_alchemy.engine">
+<span id="pyams-alchemy-engine-module"></span><h3>pyams_alchemy.engine module<a class="headerlink" href="#module-pyams_alchemy.engine" title="Permalink to this headline">¶</a></h3>
+<dl class="class">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility">
+<em class="property">class </em><code class="descclassname">pyams_alchemy.engine.</code><code class="descname">AlchemyEngineUtility</code><span class="sig-paren">(</span><em>name=''</em>, <em>dsn=''</em>, <em>echo=False</em>, <em>use_pool=True</em>, <em>pool_size=25</em>, <em>pool_recycle=-1</em>, <em>echo_pool=False</em>, <em>encoding='utf-8'</em>, <em>convert_unicode=False</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>SQLAlchemy engine utility</p>
+<dl class="method">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility.clear_engine">
+<code class="descname">clear_engine</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility.clear_engine" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility.convert_unicode">
+<code class="descname">convert_unicode</code><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility.convert_unicode" title="Permalink to this definition">¶</a></dt>
+<dd><p>Convert Unicode</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility.dsn">
+<code class="descname">dsn</code><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility.dsn" title="Permalink to this definition">¶</a></dt>
+<dd><p>DSN: RFC-1738 compliant URL for the database connection</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility.echo">
+<code class="descname">echo</code><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility.echo" title="Permalink to this definition">¶</a></dt>
+<dd><p>Echo SQL?: Log all SQL statements to system logger</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility.echo_pool">
+<code class="descname">echo_pool</code><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility.echo_pool" title="Permalink to this definition">¶</a></dt>
+<dd><p>Echo pool?: Log all pool checkouts/checkins to system logger?</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility.encoding">
+<code class="descname">encoding</code><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility.encoding" title="Permalink to this definition">¶</a></dt>
+<dd><p>Encoding</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility.get_engine">
+<code class="descname">get_engine</code><span class="sig-paren">(</span><em>use_pool=True</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility.get_engine" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility.name">
+<code class="descname">name</code><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility.name" title="Permalink to this definition">¶</a></dt>
+<dd><p>Engine name: Keep empty if this engine is the default engine…</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility.pool_recycle">
+<code class="descname">pool_recycle</code><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility.pool_recycle" title="Permalink to this definition">¶</a></dt>
+<dd><p>Pool recycle time: SQLAlchemy connection recycle time (-1 for none)</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility.pool_size">
+<code class="descname">pool_size</code><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility.pool_size" title="Permalink to this definition">¶</a></dt>
+<dd><p>Pool size: SQLAlchemy connections pool size</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.AlchemyEngineUtility.use_pool">
+<code class="descname">use_pool</code><a class="headerlink" href="#pyams_alchemy.engine.AlchemyEngineUtility.use_pool" title="Permalink to this definition">¶</a></dt>
+<dd><p>Use connections pool?: If ‘no’, collections pooling will be disabled</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="pyams_alchemy.engine.ConnectionCleanerThread">
+<em class="property">class </em><code class="descclassname">pyams_alchemy.engine.</code><code class="descname">ConnectionCleanerThread</code><span class="sig-paren">(</span><em>group=None</em>, <em>target=None</em>, <em>name=None</em>, <em>args=()</em>, <em>kwargs=None</em>, <em>*</em>, <em>daemon=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.ConnectionCleanerThread" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">threading.Thread</span></code></p>
+<p>Background thread used to clean unused database connections</p>
+<p>Each connection is referenced in CONNECTION_TIMESTAMPS mapping on checkin and is invalidated
+if not being used after 5 minutes</p>
+<dl class="method">
+<dt id="pyams_alchemy.engine.ConnectionCleanerThread.run">
+<code class="descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.ConnectionCleanerThread.run" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.ConnectionCleanerThread.timeout">
+<code class="descname">timeout</code><em class="property"> = 300</em><a class="headerlink" href="#pyams_alchemy.engine.ConnectionCleanerThread.timeout" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="pyams_alchemy.engine.EnginesVocabulary">
+<em class="property">class </em><code class="descclassname">pyams_alchemy.engine.</code><code class="descname">EnginesVocabulary</code><span class="sig-paren">(</span><em>context</em>, <em>**kw</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.EnginesVocabulary" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">zope.componentvocabulary.vocabulary.UtilityVocabulary</span></code></p>
+<p>SQLAlchemy engines vocabulary</p>
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.EnginesVocabulary.interface">
+<code class="descname">interface</code><em class="property"> = &lt;InterfaceClass pyams_alchemy.interfaces.IAlchemyEngineUtility&gt;</em><a class="headerlink" href="#pyams_alchemy.engine.EnginesVocabulary.interface" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="pyams_alchemy.engine.EnginesVocabulary.nameOnly">
+<code class="descname">nameOnly</code><em class="property"> = True</em><a class="headerlink" href="#pyams_alchemy.engine.EnginesVocabulary.nameOnly" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="pyams_alchemy.engine.PersistentAlchemyEngineUtility">
+<em class="property">class </em><code class="descclassname">pyams_alchemy.engine.</code><code class="descname">PersistentAlchemyEngineUtility</code><span class="sig-paren">(</span><em>name=''</em>, <em>dsn=''</em>, <em>echo=False</em>, <em>use_pool=True</em>, <em>pool_size=25</em>, <em>pool_recycle=-1</em>, <em>echo_pool=False</em>, <em>encoding='utf-8'</em>, <em>convert_unicode=False</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.PersistentAlchemyEngineUtility" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">persistent.Persistent</span></code>, <a class="reference internal" href="#pyams_alchemy.engine.AlchemyEngineUtility" title="pyams_alchemy.engine.AlchemyEngineUtility"><code class="xref py py-class docutils literal"><span class="pre">pyams_alchemy.engine.AlchemyEngineUtility</span></code></a>, <code class="xref py py-class docutils literal"><span class="pre">zope.container.contained.Contained</span></code></p>
+<p>Persistent implementation of SQLAlchemy engine utility</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pyams_alchemy.engine.get_engine">
+<code class="descclassname">pyams_alchemy.engine.</code><code class="descname">get_engine</code><span class="sig-paren">(</span><em>engine</em>, <em>use_pool=True</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.get_engine" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get engine matching given utility name</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pyams_alchemy.engine.get_session">
+<code class="descclassname">pyams_alchemy.engine.</code><code class="descname">get_session</code><span class="sig-paren">(</span><em>engine</em>, <em>join=True</em>, <em>status='active'</em>, <em>request=None</em>, <em>alias=None</em>, <em>twophase=True</em>, <em>use_zope_extension=True</em>, <em>use_pool=True</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.get_session" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get a new SQLALchemy session</p>
+<p>Session is stored in request and in session storage.
+See <a class="reference internal" href="#pyams_alchemy.engine.get_user_session" title="pyams_alchemy.engine.get_user_session"><code class="xref py py-func docutils literal"><span class="pre">get_user_session()</span></code></a> function to get arguments documentation.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pyams_alchemy.engine.get_user_session">
+<code class="descclassname">pyams_alchemy.engine.</code><code class="descname">get_user_session</code><span class="sig-paren">(</span><em>engine</em>, <em>join=True</em>, <em>status='active'</em>, <em>request=None</em>, <em>alias=None</em>, <em>twophase=True</em>, <em>use_zope_extension=True</em>, <em>use_pool=True</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.get_user_session" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get a new SQLAlchemy session</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>engine</strong> (<em>str</em>) – name of an SQLAlchemy engine session utility; if <em>engine</em> is not given as a string, it is
+returned as-is.</li>
+<li><strong>join</strong> (<em>bool</em>) – if <em>True</em>, session is joined to the current Pyramid transaction</li>
+<li><strong>status</strong> (<em>str</em>) – status of the new session; can be STATUS_ACTIVE or STATUS_READONLY</li>
+<li><strong>request</strong> – currently running request</li>
+<li><strong>alias</strong> (<em>str</em>) – alias to use in connections mapping for this session</li>
+<li><strong>twophase</strong> (<em>bool</em>) – if <em>False</em>, session will be isolated and not included into two-phase transactions mechanism</li>
+<li><strong>use_zope_extension</strong> (<em>bool</em>) – if <em>True</em>, use ZopeTransactionExtension scoped session</li>
+<li><strong>use_pool</strong> (<em>bool</em>) – if <em>True</em>, this session will use a pool</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="pyams_alchemy.engine.handle_added_engine">
+<code class="descclassname">pyams_alchemy.engine.</code><code class="descname">handle_added_engine</code><span class="sig-paren">(</span><em>event</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.handle_added_engine" title="Permalink to this definition">¶</a></dt>
+<dd><p>Register new SQLAlchemy engine when added</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pyams_alchemy.engine.handle_modified_engine">
+<code class="descclassname">pyams_alchemy.engine.</code><code class="descname">handle_modified_engine</code><span class="sig-paren">(</span><em>event</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.handle_modified_engine" title="Permalink to this definition">¶</a></dt>
+<dd><p>Clear SQLAlchemy engine volatile attributes when modified</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pyams_alchemy.engine.handle_pool_checkin">
+<code class="descclassname">pyams_alchemy.engine.</code><code class="descname">handle_pool_checkin</code><span class="sig-paren">(</span><em>connection</em>, <em>record</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.handle_pool_checkin" title="Permalink to this definition">¶</a></dt>
+<dd><p>Pool connection checkin</p>
+<p>Called when a connection returns to the pool.
+We apply a timestamp on the connection record to be able to close it automatically
+after 5 minutes without being used.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pyams_alchemy.engine.handle_pool_checkout">
+<code class="descclassname">pyams_alchemy.engine.</code><code class="descname">handle_pool_checkout</code><span class="sig-paren">(</span><em>connection</em>, <em>record</em>, <em>proxy</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.handle_pool_checkout" title="Permalink to this definition">¶</a></dt>
+<dd><p>Pool connection checkout</p>
+<p>Called when a connection is retrieved from the pool.
+If the connection record is already marked, we remove it from the mapping.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="pyams_alchemy.engine.handle_removed_engine">
+<code class="descclassname">pyams_alchemy.engine.</code><code class="descname">handle_removed_engine</code><span class="sig-paren">(</span><em>event</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.engine.handle_removed_engine" title="Permalink to this definition">¶</a></dt>
+<dd><p>Un-register an SQLAlchemy engine when deleted</p>
+</dd></dl>
+
+</div>
+<div class="section" id="module-pyams_alchemy.loader">
+<span id="pyams-alchemy-loader-module"></span><h3>pyams_alchemy.loader module<a class="headerlink" href="#module-pyams_alchemy.loader" title="Permalink to this headline">¶</a></h3>
+<dl class="class">
+<dt id="pyams_alchemy.loader.DataLoader">
+<em class="property">class </em><code class="descclassname">pyams_alchemy.loader.</code><code class="descname">DataLoader</code><span class="sig-paren">(</span><em>source</em>, <em>target</em>, <em>entities</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.loader.DataLoader" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>SQLAlchemy data loader</p>
+<p>This utility class is used to migrate entities from a given connection
+to another one.
+WARNING: actually, given entities must share the same schema name!!!</p>
+<dl class="method">
+<dt id="pyams_alchemy.loader.DataLoader.run">
+<code class="descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.loader.DataLoader.run" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-pyams_alchemy.metaconfigure">
+<span id="pyams-alchemy-metaconfigure-module"></span><h3>pyams_alchemy.metaconfigure module<a class="headerlink" href="#module-pyams_alchemy.metaconfigure" title="Permalink to this headline">¶</a></h3>
+<dl class="function">
+<dt id="pyams_alchemy.metaconfigure.engine_directive">
+<code class="descclassname">pyams_alchemy.metaconfigure.</code><code class="descname">engine_directive</code><span class="sig-paren">(</span><em>context</em>, <em>name=''</em>, <em>dsn=''</em>, <em>echo=False</em>, <em>use_pool=True</em>, <em>pool_size=25</em>, <em>pool_recycle=-2</em>, <em>echo_pool=False</em>, <em>encoding='utf-8'</em>, <em>convert_unicode=False</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.metaconfigure.engine_directive" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</div>
+<div class="section" id="module-pyams_alchemy.metadirectives">
+<span id="pyams-alchemy-metadirectives-module"></span><h3>pyams_alchemy.metadirectives module<a class="headerlink" href="#module-pyams_alchemy.metadirectives" title="Permalink to this headline">¶</a></h3>
+</div>
+<div class="section" id="module-pyams_alchemy.mixin">
+<span id="pyams-alchemy-mixin-module"></span><h3>pyams_alchemy.mixin module<a class="headerlink" href="#module-pyams_alchemy.mixin" title="Permalink to this headline">¶</a></h3>
+<dl class="class">
+<dt id="pyams_alchemy.mixin.DynamicSchemaMixin">
+<em class="property">class </em><code class="descclassname">pyams_alchemy.mixin.</code><code class="descname">DynamicSchemaMixin</code><a class="headerlink" href="#pyams_alchemy.mixin.DynamicSchemaMixin" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>Dynamic schema mixin class</p>
+<p>This class is used to set an entity schema name in Pyramid settings</p>
+<dl class="classmethod">
+<dt id="pyams_alchemy.mixin.DynamicSchemaMixin.get_schema">
+<em class="property">classmethod </em><code class="descname">get_schema</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.mixin.DynamicSchemaMixin.get_schema" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="classmethod">
+<dt id="pyams_alchemy.mixin.DynamicSchemaMixin.get_schema_settings_name">
+<em class="property">classmethod </em><code class="descname">get_schema_settings_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyams_alchemy.mixin.DynamicSchemaMixin.get_schema_settings_name" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+<div class="section" id="subpackages">
+<h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="pyams_alchemy.interfaces.html">pyams_alchemy.interfaces package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pyams_alchemy.interfaces.html#module-pyams_alchemy.interfaces">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pyams_alchemy.tests.html">pyams_alchemy.tests package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pyams_alchemy.tests.html#submodules">Submodules</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pyams_alchemy.tests.html#module-pyams_alchemy.tests.test_utilsdocs">pyams_alchemy.tests.test_utilsdocs module</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pyams_alchemy.tests.html#module-pyams_alchemy.tests.test_utilsdocstrings">pyams_alchemy.tests.test_utilsdocstrings module</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pyams_alchemy.tests.html#module-pyams_alchemy.tests">Module contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pyams_alchemy.zmi.html">pyams_alchemy.zmi package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pyams_alchemy.zmi.html#submodules">Submodules</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pyams_alchemy.zmi.html#module-pyams_alchemy.zmi.engine">pyams_alchemy.zmi.engine module</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pyams_alchemy.zmi.html#module-pyams_alchemy.zmi">Module contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">PyAMS SQLAlchemy integration</a><ul>
+<li><a class="reference internal" href="#dynamic-schema-names">Dynamic schema names</a></li>
+<li><a class="reference internal" href="#module-pyams_alchemy">Module contents</a></li>
+<li><a class="reference internal" href="#submodules">Submodules</a><ul>
+<li><a class="reference internal" href="#module-pyams_alchemy.engine">pyams_alchemy.engine module</a></li>
+<li><a class="reference internal" href="#module-pyams_alchemy.loader">pyams_alchemy.loader module</a></li>
+<li><a class="reference internal" href="#module-pyams_alchemy.metaconfigure">pyams_alchemy.metaconfigure module</a></li>
+<li><a class="reference internal" href="#module-pyams_alchemy.metadirectives">pyams_alchemy.metadirectives module</a></li>
+<li><a class="reference internal" href="#module-pyams_alchemy.mixin">pyams_alchemy.mixin module</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#subpackages">Subpackages</a></li>
+</ul>
+</li>
+</ul>
+
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <div><input type="text" name="q" /></div>
+      <div><input type="submit" value="Go" /></div>
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related" role="navigation" aria-label="related navigation">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="py-modindex.html" title="Python Module Index"
+             >modules</a> |</li>
+        <li class="nav-item nav-item-0"><a href="index.html">PyAMS User Guide 0.1.0 documentation</a> &#187;</li> 
+      </ul>
+    </div>
+    <div class="footer" role="contentinfo">
+        &#169; Copyright 2017, Thierry Florac.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.6.5.
+    </div>
+  </body>
+</html>
\ No newline at end of file