{ "info": { "author": "gocept ", "author_email": "mail@gocept.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Pyramid", "Intended Audience :: Developers", "License :: OSI Approved", "License :: OSI Approved :: Zope Public License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Database", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "==================\nrisclog.sqlalchemy\n==================\n\nrisclog.sqlalchemy encapsulates `sqlalchemy`_ modelling infrastructure. It\neases the setup of (multi-)database environments and the usage of sqlalchemy\nmodels by providing often used functionality on special classes.\n\nThis package is compatible with Python version 2.7, 3.4 up to 3.6, PyPy2 and PyPy3.\n\n.. _`sqlalchemy`: http://www.sqlalchemy.org\n\n\n=============================\nDeveloping risclog.sqlalchemy\n=============================\n\n:Author:\n `gocept `_ \n\n:Online documentation:\n https://pythonhosted.org/risclog.sqlalchemy/\n\n:PyPI page:\n http://pypi.python.org/pypi/risclog.sqlalchemy/\n\n:Issue tracker:\n https://bitbucket.org/gocept/risclog.sqlalchemy/issues/\n\n:Source code:\n https://bitbucket.org/gocept/risclog.sqlalchemy/\n\n:Current change log:\n https://bitbucket.org/gocept/risclog.sqlalchemy/src/tip/CHANGES.txt\n\nBuildout configuration\n======================\n\nThis package ships with a minimum buildout config which allows to run the\ntests::\n\n $ python bootstrap.py\n $ bin/buildout\n $ bin/test\n\nUsing Tox\n=========\n\n``risclog.sqlalchemy`` ships with a tox configuration that allows to run all\ntests against all supported python versions. You will need ``tox`` to run those\ntests::\n\n $ tox\n py27 develop-inst-nodeps...\n ...\n py33 develop-inst-nodeps...\n\nDocumentation\n=============\n\nIn order to build the Sphinx documentation, run the following command with a\npython, where ``sphinx`` is installed::\n\n $ python setup.py build_sphinx\n\n\nIn order to upload the Sphinx documentation, run the following command with a\npython, where ``sphinx-pypi-upload`` is installed::\n\n $ python setup.py upload_sphinx\n\n\n=================================\nChange log for risclog.sqlalchemy\n=================================\n\n3.0 (2018-01-16)\n================\n\n- Drop support for Python 3.3.\n\n- Reintroduce `RoutingSession.using_bind` as it is needed for executing queries\n in multi database environments. It was removed in version `2.0`.\n\n- Pin to `zope.component < 4.4.1` for now as we are using a private variable\n from this package which has been removed lately.\n\n\n2.3 (2017-04-06)\n================\n\n- Add the fixture ``.fixtures.database__selenium_testing`` to switch SQLAlchemy\n session handling to into the same way the live server does it. Using this\n fixture leads to `DetachedInstanceError` exceptions when using a database\n object after the commit. It has to be fetched again from the database.\n\n- Omit files from sdist which are related to buildout, testing or mercurial.\n\n2.2 (2017-01-12)\n================\n\n- Support Python 3.6 and PyPy3.\n\n- Fix `setup.py` to no longer use absolute paths.\n\n\n2.1 (2016-01-25)\n================\n\n- Add compatibility to `pypy`.\n\n Also removed explicit dependency to `psycopg2` as it's a PostgreSQL specific\n dependency and not compatible with pypy. You will need `psycopg2cffi` in\n order to run `risclog.sqlalchemy` with `pypy`.\n\n\n2.0 (2015-12-18)\n================\n\n- Removed ``RoutingSession.using_bind``, require SQLAlchemy >= 1.0. (#13968)\n\n- Updated API calls to alembic, require alembic >= 0.7. (#13968)\n\n- Added documentation. (#13952)\n\n\n1.8 (2015-09-29)\n================\n\n- Officially supporting Python 3.3 up to 3.5.\n\n- Set maximum supported version numbers of ``alembic`` and ``SQLALchemy``\n in `setup.py`\n\n\n1.7.1 (2014-10-15)\n==================\n\n- Fix bug in testing mode detection so it works with sqlite, too.\n\n\n1.7 (2014-07-29)\n================\n\n- Have ``.model.Object.create`` use the ``**kw`` constructor instead of\n performing setattr itself.\n\n- Made commit in db.empty optional.\n\n\n1.6 (2014-06-23)\n================\n\n- Make test setup/teardown a bit more independent from the IDatabase utility.\n- Made pyramid dependent code optional, because it is an optional requirement.\n\n\n1.5.1 (2014-03-31)\n==================\n\n- Moved the project to bitbucket.org and prepared for public release.\n\n\n1.5 (2014-03-06)\n================\n\n- Adjust test dependency for external projects, so pyramid is not required.\n (#1458)\n\n\n1.4 (2014-01-27)\n================\n\n- Do not truncate `spatial_ref_sys` when emptying entire database. (#13144)\n\n\n1.3 (2013-12-18)\n================\n\n- Do not truncate `alembic_versions` when emptying entire database (using\n `db.empty(engine)`)\n\n- Fix create_defaults, so it can be used with multiple engines. (#1172)\n\n\n1.2 (2013-12-13)\n================\n\n- Fixed setup.py\n\n\n1.1 (2013-12-13)\n================\n\n- Allow ``.db.Database.empty()`` to not restart sequences. (This can be\n necassary if the user is not allowed to call `ALTER SEQUENCE`.)\n\n- Create factory for JSON renderer, so it can be customized via arguments.\n (#1037)\n\n\n1.0 (2013-12-11)\n================\n\n- CAUTION: Backward incompatible changes to provide multiple database\n support. You need to change:\n\n * Use the ``pyramid`` extra to use the pyramid serializers and call\n ``.serializer.patch()`` by yourself.\n\n * Changes in `.model`:\n\n + Use `.model.declarative_base(cls)` to register a class as SQLALchemy\n ``declarative_base``.\n\n + Use your own declarative_base as `.model.Object` has been dropped.\n\n + Create your own `ReflectedObject` as `.model.ReflectedObject` has been\n dropped.\n\n * Changes in `.db.Database`:\n\n + To get an instance use `.db.get_database(testing=)`.\n\n + To register a database with the utility use ``register_engine``.\n\n + ``empty`` now expects to get the engine as first argument and allows to\n cadcade via (``cascade=True``).\n\n\n + ``_verify`` was removed, use ``_verify_engine`` now.\n\n + ``setup_utility`` was removed, it is now done in ``__init__``.\n\n + To access former ``engine``` attribute use ``get_engine``.\n\n + ``close`` was renamed to ``drop_engine``.\n\n + To create all tables for a database use ``create_all``.\n\n * Changes in `.testing`:\n\n + ``setUpDB`` lost its first argument as it was not used.\n\n + ``setUp`` now expects a dict or ``None``, see its docstring.\n\n- Provide a way to insert default values for new created models. (#1137)\n\n- Added support for schema migrations with alembic.\n\n- Dropped support for `Python 2.6`.\n\n- Added convenience functions to create `py.test` database fixtures.\n\n- Declared `pyramid` as test dependency so tests only need the ``test``\n extra.\n\n- Declared testing dependency on `plone.testing[test]` since we use\n `plone.testing.zca` which imports that ``test`` extra's dependencies.\n\n\n0.6 (2013-06-27)\n================\n\n- Added convenience methods on `.db.Database` for teardown in tests.\n\n- Updated to Buildout 2.\n\n- Using py.test as testrunner.\n\n- Added Python 3.3 compatibility.\n\n\n0.5 (2013-06-14)\n================\n\n- Add Database methods for setting up a database utility and emptying tables.\n\n- Add testing layer that sets up a database utility (requires plone.testing).\n\n\n0.4 (2013-06-07)\n================\n\n- Add helper to provide transparent json encoding of sqlalchemy mapped objects,\n dates, datetimes and decimals. (#39)\n\n- Add `create_defaults` class method on base model which can be used to create\n test data into the database.\n\n\n0.3 (2013-06-04)\n================\n\n- Repair db setup for reflected and unreflected objects.\n\n\n0.2 (2013-06-04)\n================\n\n- Add unreflected Object model next to the reflected Object model.\n\n\n0.1 (2013-06-03)\n================\n\ninitial release", "description_content_type": null, "docs_url": "https://pythonhosted.org/risclog.sqlalchemy/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/gocept/risclog.sqlalchemy/", "keywords": "sqlalchemy alembic model infrastructure utility", "license": "ZPL 2.1", "maintainer": "", "maintainer_email": "", "name": "risclog.sqlalchemy", "package_url": "https://pypi.org/project/risclog.sqlalchemy/", "platform": "", "project_url": "https://pypi.org/project/risclog.sqlalchemy/", "project_urls": { "Homepage": "https://bitbucket.org/gocept/risclog.sqlalchemy/" }, "release_url": "https://pypi.org/project/risclog.sqlalchemy/3.0/", "requires_dist": null, "requires_python": "", "summary": "Encapsulate sqlalchemy modelling infrastructure.", "version": "3.0" }, "last_serial": 3493108, "releases": { "1.5.1": [ { "comment_text": "", "digests": { "md5": "414b625621f5756fb8525d8aca0e306d", "sha256": "748614c29baca5f94abcbeddf19ff6ee4a17344f3e702743c61c507d0d3fa0b2" }, "downloads": -1, "filename": "risclog.sqlalchemy-1.5.1.tar.gz", "has_sig": true, "md5_digest": "414b625621f5756fb8525d8aca0e306d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17338, "upload_time": "2014-03-31T20:49:29", "url": "https://files.pythonhosted.org/packages/e3/1f/befb130739b6e37b3bccb11c7ef7a800cc6426411550ce5e752823d8a376/risclog.sqlalchemy-1.5.1.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "2debd870aef9d4c42c8b173da03e10c6", "sha256": "a3a7323836cd56a3de2e39c7155914f454e85e5a92567011fb5b69e8dd147d70" }, "downloads": -1, "filename": "risclog.sqlalchemy-1.6.zip", "has_sig": false, "md5_digest": "2debd870aef9d4c42c8b173da03e10c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28116, "upload_time": "2014-06-23T06:54:54", "url": "https://files.pythonhosted.org/packages/c4/7a/aee7bb5c350d165c19200f463d5c89c2371f1dc0fc0cabb47899d77e6580/risclog.sqlalchemy-1.6.zip" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "fcd895d98c8124bdb3b2952a43bf80b6", "sha256": "1c11821a7dd5356ecfd68e614dd6a8bf0eb46ce8d0d19a3a298afae6d3e5fdc3" }, "downloads": -1, "filename": "risclog.sqlalchemy-1.7.zip", "has_sig": false, "md5_digest": "fcd895d98c8124bdb3b2952a43bf80b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28154, "upload_time": "2014-07-29T08:01:37", "url": "https://files.pythonhosted.org/packages/79/f5/74fe54ecc1c78807d075bfc9e72ec778b019282cc65b978feb113899fc04/risclog.sqlalchemy-1.7.zip" } ], "1.7.1": [ { "comment_text": "", "digests": { "md5": "8f3c03ac47a4f2692c0447ead0e028ef", "sha256": "fbf9fb7725c3c60bf77144c0cf8b438b2614ae0b0a9b9c6dd2e7371ba7d238e6" }, "downloads": -1, "filename": "risclog.sqlalchemy-1.7.1.zip", "has_sig": false, "md5_digest": "8f3c03ac47a4f2692c0447ead0e028ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28393, "upload_time": "2014-10-15T09:42:25", "url": "https://files.pythonhosted.org/packages/9c/d3/cb9d63f9a797ccb28a817dcfa75262dc435e59cf479bd1585c57b5c21dcd/risclog.sqlalchemy-1.7.1.zip" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "80b13352503648487e5342c0fa178323", "sha256": "e6432c2b02ed361f0b04d920e259ccdf325200f20322cf359ad1581c45a6170e" }, "downloads": -1, "filename": "risclog.sqlalchemy-1.8.tar.gz", "has_sig": false, "md5_digest": "80b13352503648487e5342c0fa178323", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19006, "upload_time": "2015-09-29T15:41:50", "url": "https://files.pythonhosted.org/packages/d7/7d/068e6c7f60d5cd11e42c94e6eb7bffd3f0e48136d1ce818825881a6112d1/risclog.sqlalchemy-1.8.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "76c702d18c6b4f430830dd997e929e44", "sha256": "dec1180325c76522462b8fd1e11095e5ef54ecbe22585209296b045cb4bb45fb" }, "downloads": -1, "filename": "risclog.sqlalchemy-2.0.zip", "has_sig": false, "md5_digest": "76c702d18c6b4f430830dd997e929e44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37359, "upload_time": "2015-12-18T13:56:20", "url": "https://files.pythonhosted.org/packages/29/8d/ecf6f8185a04627db0a68c3f8167500ed1ab6f20617ad8a34065dfb3fa09/risclog.sqlalchemy-2.0.zip" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "60a80d5e76f47fc6c76037d7fe4645c3", "sha256": "79377106d33b4656372318f0a663d64b74281fd7e45a8dc5aa97c1cb309563e9" }, "downloads": -1, "filename": "risclog.sqlalchemy-2.1.zip", "has_sig": false, "md5_digest": "60a80d5e76f47fc6c76037d7fe4645c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37818, "upload_time": "2016-01-25T08:50:40", "url": "https://files.pythonhosted.org/packages/23/fa/11c8934a2e29f25c8b4ddb53239daffac3ce1a6ff2c77cdcd97f6c9e5318/risclog.sqlalchemy-2.1.zip" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "5602e17b256347b81586649304f716b3", "sha256": "256c09bd8535db6234f86f85431b1d2e9e0ad70cfa5de063a2c5aeb4d4fcf2f4" }, "downloads": -1, "filename": "risclog.sqlalchemy-2.2.tar.gz", "has_sig": false, "md5_digest": "5602e17b256347b81586649304f716b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25153, "upload_time": "2017-01-12T14:01:44", "url": "https://files.pythonhosted.org/packages/2f/ed/6de36936ebf91f090807092e0a1bcadbd7e45e020fc4ff0cedf1605de93d/risclog.sqlalchemy-2.2.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "bff9896440fee5ce3c7461108dd38c49", "sha256": "1c97b7e03cdaa5532acf12281423c86856f5e41eb4adb51c7f605ca54485f840" }, "downloads": -1, "filename": "risclog.sqlalchemy-2.3.tar.gz", "has_sig": false, "md5_digest": "bff9896440fee5ce3c7461108dd38c49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22370, "upload_time": "2017-04-06T09:09:22", "url": "https://files.pythonhosted.org/packages/74/9e/59dedc571fc6b39b3f95aea444234e5915035193878d4cfe74b19247c4d0/risclog.sqlalchemy-2.3.tar.gz" } ], "3.0": [ { "comment_text": "", "digests": { "md5": "fe3dd8b474b89c99a8bba163ece18435", "sha256": "6a5978bc09726688019a7c4e3ae9464493332b028e1a70124acc4ad2553d8517" }, "downloads": -1, "filename": "risclog.sqlalchemy-3.0.tar.gz", "has_sig": false, "md5_digest": "fe3dd8b474b89c99a8bba163ece18435", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21968, "upload_time": "2018-01-16T07:30:19", "url": "https://files.pythonhosted.org/packages/c9/24/9fd8190b826456f34be9b2f5c1f7b72982bb36492f56f52ef2adaeb7b37a/risclog.sqlalchemy-3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fe3dd8b474b89c99a8bba163ece18435", "sha256": "6a5978bc09726688019a7c4e3ae9464493332b028e1a70124acc4ad2553d8517" }, "downloads": -1, "filename": "risclog.sqlalchemy-3.0.tar.gz", "has_sig": false, "md5_digest": "fe3dd8b474b89c99a8bba163ece18435", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21968, "upload_time": "2018-01-16T07:30:19", "url": "https://files.pythonhosted.org/packages/c9/24/9fd8190b826456f34be9b2f5c1f7b72982bb36492f56f52ef2adaeb7b37a/risclog.sqlalchemy-3.0.tar.gz" } ] }