summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Siegerman <eric.siegerman@rci.rogers.com>2015-09-23 16:39:11 -0400
committerEric Siegerman <eric.siegerman@rci.rogers.com>2015-09-23 16:52:22 -0400
commit5db5e18d3babdb3ee857c075c774a585505b78ce (patch)
tree4cec19b32135c9ae3387ea79d92d0569289dfb23
parent81eefe038ea44a5314002483dde9cf00580df1bd (diff)
downloadsqlalchemy-pr/199.tar.gz
Add a lot more detailpr/199
-rw-r--r--lib/sqlalchemy/engine/__init__.py25
1 files changed, 22 insertions, 3 deletions
diff --git a/lib/sqlalchemy/engine/__init__.py b/lib/sqlalchemy/engine/__init__.py
index 4b6e752ba..0b0d50329 100644
--- a/lib/sqlalchemy/engine/__init__.py
+++ b/lib/sqlalchemy/engine/__init__.py
@@ -389,14 +389,33 @@ def create_engine(*args, **kwargs):
def engine_from_config(configuration, prefix='sqlalchemy.', **kwargs):
"""Create a new Engine instance using a configuration dictionary.
- The *configuration* dictionary is typically produced from a config file
- in which keys are prefixed, e.g. ``sqlalchemy.url``, ``sqlalchemy.echo``,
- etc. The 'prefix' argument indicates the prefix to be searched for.
+ The dictionary is typically produced from a config file.
+
+ The keys of interest to ``engine_from_config()`` should be prefixed, e.g.
+ ``sqlalchemy.url``, ``sqlalchemy.echo``, etc. The 'prefix' argument
+ indicates the prefix to be searched for. Each matching key (after the
+ prefix is stripped) is treated as though it were the corresponding keyword
+ argument to a :func:`.create_engine` call.
+
+ The only required key is (assuming the default prefix) ``sqlalchemy.url``,
+ which provides the :ref:`database URL <database_urls>`.
A select set of keyword arguments will be "coerced" to their
expected type based on string values. The set of arguments
is extensible per-dialect using the ``engine_config_types`` accessor.
+ :param configuration: A dictionary (typically produced from a config file,
+ but this is not a requirement). Items whose keys start with the value
+ of 'prefix' will have that prefix stripped, and will then be passed to
+ :ref:`create_engine`.
+
+ :param prefix: Prefix to match and then strip from keys
+ in 'configuration'.
+
+ :param kwargs: Each keyword argument to ``engine_from_config()`` itself
+ overrides the corresponding item taken from the 'configuration'
+ dictionary. Keyword arguments should *not* be prefixed.
+
"""
options = dict((key[len(prefix):], configuration[key])