{ "info": { "author": "Adriel Velazquez", "author_email": "adrielvelazquez@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "SQLAlchemy Sphinx\n=================\n\n|travis| |pypi| |coveralls|\n\n.. |travis| image:: https://travis-ci.org/AdrielVelazquez/sqlalchemy-sphinx.svg?branch=master\n :target: https://travis-ci.org/AdrielVelazquez/sqlalchemy-sphinx\n\n.. |pypi| image:: https://badge.fury.io/py/sqlalchemy-sphinx.svg\n :target: https://badge.fury.io/py/sqlalchemy-sphinx\n\n.. |coveralls| image:: https://coveralls.io/repos/github/AdrielVelazquez/sqlalchemy-sphinx/badge.svg?branch=master \n :target: https://coveralls.io/github/AdrielVelazquez/sqlalchemy-sphinx?branch=master\n\nSQLAlchemy Sphinx is a dialect for SQLalchemy which converts SQLAlchemy\nmodel into compatible sql for sphinx.\n\nThis dialect works for both python 2 and 3. Currently you need to import\nsqlalchemy\\_sphinx to properly register for python 3.\n\nInstallation\n------------\n\nSQLAlchemy Sphinx is available on pypi under the package name\n``sqlalchemy-sphinx``, you can get it by running:\n\n.. code:: sh\n\n pip install sqlalchemy-sphinx\n\nUsage\n-----\n\nDefining a Sphinx SQLAlchemy is exactly the same way you would create a\nsqlalchemy model.\n\n.. code:: python\n\n\n from sqlalchemy import create_engine, Column, Integer, String, BigInteger, Unicode, Enum\n from sqlalchemy.ext.declarative import declarative_base\n from sqlalchemy.orm import deferred, sessionmaker\n\n sphinx_engine = create_engine('sphinx://your.sphinx.host:9008')\n SphinxBase = declarative_base(bind=sphinx_engine)\n SphinxSession = sessionmaker(bind=sphinx_engine)\n sphinx_session = SphinxSession()\n\n\n class MockSphinxModel(Base):\n __tablename__ = \"mock_table\"\n name = Column(String)\n id = Column(Integer, primary_key=True)\n country = Column(String)\n ranker = deferred(Column(String))\n group_by_dummy = deferred(Column(String))\n max_matches = deferred(Column(String))\n field_weights = deferred(Column(String))\n\nAfter the model is created we can run queries against the model:\n\n.. code:: python\n\n query = session.query(MockSphinxModel).limit(100)\n # 'SELECT name, id, country FROM mock_table LIMIT 0, 100'\n\nWe can also do matching\n\n.. code:: python\n\n base_query = session.query(MockSphinxModel.id)\n query = base_query.filter(MockSphinxModel.country.match(\"US\"))\n # \"SELECT id FROM mock_table WHERE MATCH('(@country US)')\"\n\n query = base_query.filter(MockSphinxModel.name.match(\"adriel\"), MockSphinxModel.country.match(\"US\"))\n # \"SELECT id FROM mock_table WHERE MATCH('(@name adriel) (@country US)')\"\n\nOptions:\n\n.. code:: python\n\n query = session.query(MockSphinxModel.id)\n query = query.filter(func.options(MockSphinxModel.field_weights == [\"title=10\", \"body=3\"]))\n # 'SELECT id FROM mock_table OPTION field_weights=(title=10, body=3)'\n\n query = session.query(MockSphinxModel.id)\n query = query.filter(MockSphinxModel.country.match(\"US\"), func.options(MockSphinxModel.max_matches == 1))\n # \"SELECT id FROM mock_table WHERE MATCH('(@country US)') OPTION max_matches=1\"\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "sqlalchemy-sphinx", "package_url": "https://pypi.org/project/sqlalchemy-sphinx/", "platform": "", "project_url": "https://pypi.org/project/sqlalchemy-sphinx/", "project_urls": null, "release_url": "https://pypi.org/project/sqlalchemy-sphinx/0.9.0/", "requires_dist": [ "sqlalchemy (>=1.3.0) ; python_version < \"2.7\"", "sqlalchemy (>=1.3.0) ; python_version == \"2.7\" or python_version >= \"3.4\"" ], "requires_python": "", "summary": "SQLAlchemy extension for dealing with SphinxQL", "version": "0.9.0" }, "last_serial": 5830874, "releases": { "0.8.1": [ { "comment_text": "", "digests": { "md5": "a24ea8e6600058a5992e31a91ee78553", "sha256": "beb3a561eb0778d951e0cb403b6da1585326c4db40530f0bbe55ae5db0d88bda" }, "downloads": -1, "filename": "sqlalchemy_sphinx-0.8.1.tar.gz", "has_sig": false, "md5_digest": "a24ea8e6600058a5992e31a91ee78553", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5253, "upload_time": "2016-02-25T21:03:03", "url": "https://files.pythonhosted.org/packages/df/e5/10656dbb6ce75be26eb81c4fda57698609f0002541440fd7c7286d698eb6/sqlalchemy_sphinx-0.8.1.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "a608294f5300266332e12454813eea83", "sha256": "2b8e9731391705e4e6d3a36915be9dc590bbf7c1aeea275fa16c9da4d20ba365" }, "downloads": -1, "filename": "sqlalchemy_sphinx-0.8.3.tar.gz", "has_sig": false, "md5_digest": "a608294f5300266332e12454813eea83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5455, "upload_time": "2016-02-25T21:13:07", "url": "https://files.pythonhosted.org/packages/69/f8/b2f7a19c9e22e18c7d0e38e277c0c3b27939c118951b2e1ca4c8366aec61/sqlalchemy_sphinx-0.8.3.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "4ab5785645ad60be677c3a89c7dd58cd", "sha256": "e4b94109a51e329ffd42abea80a5a09b934e365a3864bdf924551638b2b9c9e9" }, "downloads": -1, "filename": "sqlalchemy_sphinx-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4ab5785645ad60be677c3a89c7dd58cd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8053, "upload_time": "2019-09-15T05:41:16", "url": "https://files.pythonhosted.org/packages/06/32/4f620a205c37af5efa5c803fcc306a123bd670a0b5384e8dc51df700b2d2/sqlalchemy_sphinx-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a819a33b60db21f7a4ad8383494e9b65", "sha256": "80300278a8d51556e238a6088b4f158148e2851532350399e3ea74e922aeca47" }, "downloads": -1, "filename": "sqlalchemy_sphinx-0.9.0.tar.gz", "has_sig": false, "md5_digest": "a819a33b60db21f7a4ad8383494e9b65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6042, "upload_time": "2019-09-15T05:41:18", "url": "https://files.pythonhosted.org/packages/4d/6f/9b6046805de5f370d0686eab853f7a82a1d281a4ad26c8deb8357511c5e0/sqlalchemy_sphinx-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4ab5785645ad60be677c3a89c7dd58cd", "sha256": "e4b94109a51e329ffd42abea80a5a09b934e365a3864bdf924551638b2b9c9e9" }, "downloads": -1, "filename": "sqlalchemy_sphinx-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4ab5785645ad60be677c3a89c7dd58cd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8053, "upload_time": "2019-09-15T05:41:16", "url": "https://files.pythonhosted.org/packages/06/32/4f620a205c37af5efa5c803fcc306a123bd670a0b5384e8dc51df700b2d2/sqlalchemy_sphinx-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a819a33b60db21f7a4ad8383494e9b65", "sha256": "80300278a8d51556e238a6088b4f158148e2851532350399e3ea74e922aeca47" }, "downloads": -1, "filename": "sqlalchemy_sphinx-0.9.0.tar.gz", "has_sig": false, "md5_digest": "a819a33b60db21f7a4ad8383494e9b65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6042, "upload_time": "2019-09-15T05:41:18", "url": "https://files.pythonhosted.org/packages/4d/6f/9b6046805de5f370d0686eab853f7a82a1d281a4ad26c8deb8357511c5e0/sqlalchemy_sphinx-0.9.0.tar.gz" } ] }