{ "info": { "author": "Stefane Fermigier", "author_email": "sf@fermigier.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "WhooshAlchemy\n=============\n\nSupports the easy text-indexing of SQLAlchemy model fields.\n\nBSD license.\n\nWritten by Stefane Fermigier (http://www.fermigier.com/) based on\nFlask-WhooshAlchemy written by Karl Gyllstromk.\n\n\nQuick-start example\n-------------------\n\nImport this library:\n\n>>> from whooshalchemy import IndexService\n\nStandard SQLAlchemy imports:\n\n>>> from sqlalchemy.ext.declarative import declarative_base\n>>> from sqlalchemy.schema import Column\n>>> from sqlalchemy.types import Integer, Text, DateTime\n>>> from sqlalchemy.engine import create_engine\n>>> from sqlalchemy.orm.session import sessionmaker\n\nSetup SQLAlchemy:\n\n>>> engine = create_engine('sqlite:///:memory:')\n>>> Session = sessionmaker(bind=engine)\n>>> session = Session()\n>>> Base = declarative_base()\n\nOur model:\n\n>>> class BlogPost(Base):\n... __tablename__ = 'blogpost'\n... __searchable__ = ['title', 'content'] # these fields will be indexed by whoosh\n...\n... id = Column(Integer, primary_key=True)\n... title = Column(Text)\n... content = Column(Text)\n...\n... def __repr__(self):\n... return '{0}(title={1})'.format(self.__class__.__name__, self.title)\n...\n>>> Base.metadata.create_all(engine)\n\nCreate and init indexing service:\n\n>>> config = {\"WHOOSH_BASE\": \"/tmp/whoosh\"}\n>>> index_service = IndexService(config=config, session=session)\n>>> index_service.register_class(BlogPost)\nFileIndex(FileStorage('/tmp/whoosh/BlogPost'), 'MAIN')\n\nCreate a blog post:\n\n>>> m = BlogPost(title=u'My cool title', content=u'This is the first post.')\n>>> session.add(m); session.commit()\n\nPerform a few searches:\n\n>>> list(BlogPost.search_query(u'cool'))\n[BlogPost(title=My cool title)]\n>>> list(BlogPost.search_query(u'first'))\n[BlogPost(title=My cool title)]\n\nNote: the response is a ``BaseQuery`` object, so you can append other SQL operations:\n\n>>> list(BlogPost.search_query(u'first').filter(BlogPost.id >= 0))\n[BlogPost(title=My cool title)]\n\nUsing with Flask\n----------------\n\nSetup you Flask app, create the ``db`` object (``db = SQLAlchemy(app)``), import your models.\n\nSet ``WHOOSH_BASE`` to your Whoosh index directory in your Flask , then create the index service\nand register your models:\n\n>>> index_service = IndexService(config=app.config)\n>>> index_service.register_class(MyFirstModel)\n>>> index_service.register_class(MySecondModel)\n\nEtc.\n\nCHANGES\n-------\n\nVersion 0.3.0 (2017/01/09)\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n- Python 3 compatibility.\n- Use pytest instead of nose for tests", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sfermigier/WhooshAlchemy", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "WhooshAlchemy", "package_url": "https://pypi.org/project/WhooshAlchemy/", "platform": "any", "project_url": "https://pypi.org/project/WhooshAlchemy/", "project_urls": { "Homepage": "https://github.com/sfermigier/WhooshAlchemy" }, "release_url": "https://pypi.org/project/WhooshAlchemy/0.3.1/", "requires_dist": null, "requires_python": "", "summary": "Whoosh extension to SQLAlchemy", "version": "0.3.1" }, "last_serial": 2562817, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "79e9e087a515ab79339c07967187577e", "sha256": "9e67e112a63c66ecc234c22f029381a70dbdce33a51b01b2177e77f0948ca466" }, "downloads": -1, "filename": "WhooshAlchemy-0.1.tar.gz", "has_sig": false, "md5_digest": "79e9e087a515ab79339c07967187577e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3074, "upload_time": "2012-04-04T17:35:39", "url": "https://files.pythonhosted.org/packages/61/59/805937b6b4abaa7c2082272b2a65ea9e3deb75d00726cc5ca6b10581a911/WhooshAlchemy-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "559a97f6145d0d26bf932dbe74545dfb", "sha256": "b2febd50ea2663c5bc7ef9789437cceec31353611cdbb340de8be7852cdda6f7" }, "downloads": -1, "filename": "WhooshAlchemy-0.1.1.tar.gz", "has_sig": false, "md5_digest": "559a97f6145d0d26bf932dbe74545dfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4044, "upload_time": "2012-04-04T17:38:10", "url": "https://files.pythonhosted.org/packages/30/3e/6f5a289ca90eb63cd81a1407ed2e473a157ad41fc8ed453eccfea211b261/WhooshAlchemy-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "fd22beb0b752d0f57072a9945227e45a", "sha256": "9661b61bf8f1ce9965c568e6e9984a5d6f38238ba7ccd94d84cd2a145b90bd25" }, "downloads": -1, "filename": "WhooshAlchemy-0.1.2.tar.gz", "has_sig": false, "md5_digest": "fd22beb0b752d0f57072a9945227e45a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5130, "upload_time": "2012-04-04T17:40:33", "url": "https://files.pythonhosted.org/packages/d6/cc/0c10eaa442a57bc613e4395153de3b54ad7cc9688be438fbc5a99b024891/WhooshAlchemy-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "1b72f78bc7e55ae02621e99e98010c0c", "sha256": "2b98117642b037b7860d22178d8923a95cf3e68fe183b2eadb157c1111978a95" }, "downloads": -1, "filename": "WhooshAlchemy-0.1.3.tar.gz", "has_sig": false, "md5_digest": "1b72f78bc7e55ae02621e99e98010c0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5060, "upload_time": "2012-04-04T17:54:17", "url": "https://files.pythonhosted.org/packages/d2/10/ef48e557932528f3eaf6cecadafc63439c19580dfebce311f885a1b69d36/WhooshAlchemy-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "9ecac4de6ebac2c86209d4051a1bf000", "sha256": "a5c290fdaf803bb9d77f88332b0eac58398e74999075b75401cf8dc1a03c87cc" }, "downloads": -1, "filename": "WhooshAlchemy-0.1.4.tar.gz", "has_sig": false, "md5_digest": "9ecac4de6ebac2c86209d4051a1bf000", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5328, "upload_time": "2012-04-04T17:55:58", "url": "https://files.pythonhosted.org/packages/69/ce/6b9eadd13b3abdd72d6aaa945da3451366d6b5c0d3207fe7760e40ac1f3d/WhooshAlchemy-0.1.4.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "f20367c9d9ab87f4081d7a7962c2b84e", "sha256": "4721d936a0a46e5ec711bcd97dced0fd537893f65e32724af308aa6af9bc33e3" }, "downloads": -1, "filename": "WhooshAlchemy-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f20367c9d9ab87f4081d7a7962c2b84e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5472, "upload_time": "2017-01-09T17:25:25", "url": "https://files.pythonhosted.org/packages/e1/e3/636b99d330e234a94e534644a5ff233017d787b482c132e8771aeac251d5/WhooshAlchemy-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "73147f4bd8f9ce1e2ed7e73f02f4e33c", "sha256": "30884a13557b9febbeeb31f8907e47ff7560314de85fede84d64fbe5fe989ec9" }, "downloads": -1, "filename": "WhooshAlchemy-0.3.1.tar.gz", "has_sig": false, "md5_digest": "73147f4bd8f9ce1e2ed7e73f02f4e33c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5466, "upload_time": "2017-01-09T17:57:21", "url": "https://files.pythonhosted.org/packages/63/65/01fc3510ff51132dbebe6d8a0de08a93a54e227c7aa9962ca4d671e21ae0/WhooshAlchemy-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "73147f4bd8f9ce1e2ed7e73f02f4e33c", "sha256": "30884a13557b9febbeeb31f8907e47ff7560314de85fede84d64fbe5fe989ec9" }, "downloads": -1, "filename": "WhooshAlchemy-0.3.1.tar.gz", "has_sig": false, "md5_digest": "73147f4bd8f9ce1e2ed7e73f02f4e33c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5466, "upload_time": "2017-01-09T17:57:21", "url": "https://files.pythonhosted.org/packages/63/65/01fc3510ff51132dbebe6d8a0de08a93a54e227c7aa9962ca4d671e21ae0/WhooshAlchemy-0.3.1.tar.gz" } ] }