summaryrefslogtreecommitdiff
path: root/README.dialects.rst
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-10-10 01:41:01 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2012-10-10 01:41:01 -0400
commit5eaeb70104d342d0b7fd4b5399dfcd672796b090 (patch)
tree2fbb459c337c5dc7f653d3914b3062d2b4c2a2d1 /README.dialects.rst
parentccf30af174f0aa99c5c94682b9d280fc197fec3b (diff)
downloadsqlalchemy-5eaeb70104d342d0b7fd4b5399dfcd672796b090.tar.gz
updates
Diffstat (limited to 'README.dialects.rst')
-rw-r--r--README.dialects.rst45
1 files changed, 41 insertions, 4 deletions
diff --git a/README.dialects.rst b/README.dialects.rst
index a286e771f..ccc923195 100644
--- a/README.dialects.rst
+++ b/README.dialects.rst
@@ -24,6 +24,9 @@ be viewed as the primary target for new dialects, and as it continues
to grow and mature it should become a more thorough and efficient system
of testing new dialects.
+Dialect Layout
+===============
+
The file structure of a dialect is typically similar to the following::
sqlalchemy-<dialect>/
@@ -44,10 +47,10 @@ The file structure of a dialect is typically similar to the following::
An example of this structure can be seen in the Access dialect at
https://bitbucket.org/zzzeek/sqlalchemy-access/.
-Key aspects of this file layout include::
+Key aspects of this file layout include:
* setup.py - should specify setuptools entrypoints, allowing the
- dialect to be usable from create_engine(), e.g.:
+ dialect to be usable from create_engine(), e.g.::
entry_points={
'sqlalchemy.dialects': [
@@ -56,8 +59,8 @@ Key aspects of this file layout include::
]
}
-Above, the two entrypoints ``access`` and ``access.pyodbc`` allow URLs to be
-used such as::
+ Above, the two entrypoints ``access`` and ``access.pyodbc`` allow URLs to be
+ used such as::
create_engine("access://user:pw@dsn")
@@ -184,4 +187,38 @@ used such as::
# fixture
return
+Going Forward
+==============
+
+The third-party dialect can be distributed like any other Python
+module on Pypi. Links to prominent dialects can be featured within
+SQLAlchemy's own documentation; contact the developers (see AUTHORS)
+for help with this.
+
+While SQLAlchemy includes many dialects built in, it remains to be
+seen if the project as a whole might move towards "plugin" model for
+all dialects, including all those currently built in. Now that
+SQLAlchemy's dialect API is mature and the test suite is not far
+behind, it may be that a better maintenance experience can be
+delivered by having all dialects separately maintained and released.
+
+As new versions of SQLAlchemy are released, the test suite and
+requirements file will receive new tests and changes. The dialect
+maintainer would normally keep track of these changes and make
+adjustments as needed.
+
+Continuous Integration
+======================
+
+The most ideal scenario for ongoing dialect testing is continuous
+integration, that is, an automated test runner that runs in response
+to changes not just in the dialect itself but to new pushes to
+SQLAlchemy as well.
+
+The SQLAlchemy project features a Jenkins installation that runs tests
+on Amazon EC2 instances. It is possible for third-party dialect
+developers to provide the SQLAlchemy project either with AMIs or EC2
+instance keys which feature test environments appropriate to the
+dialect - SQLAlchemy's own Jenkins suite can invoke tests on these
+environments. Contact the developers for further info.