{ "info": { "author": "Roman Gladkov", "author_email": "d1fffuz0r@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Managers for SQLAlchemy.\r\n========================\r\n\r\nManager for model, methods added in runtime to query.\r\n\r\nInstallation\r\n------------\r\n\r\n.. code-block:: console\r\n\r\n $ [sudo] pip install sqlalchemy-manager\r\n\r\nDocumentation\r\n-------------\r\n\r\nalchmanager.ManagedQuery\r\n----------------------------\r\n\r\nManager for Query.\r\n\r\nExample\r\n-------\r\n\r\n.. code-block:: python\r\n\r\n from sqlalchemy.orm import sessionmaker\r\n\r\n from alchmanager import ManagedQuery, ManagedSession\r\n\r\n\r\n engine = create_engine('sqlite:///:memory:')\r\n session = sessionmaker(query_cls=ManagedQuery,\r\n bind=engine)()\r\n Base = declarative_base()\r\n\r\n class MainManager:\r\n\r\n @staticmethod\r\n def is_index(query):\r\n return query.filter_by(is_index=True)\r\n\r\n @staticmethod\r\n def is_public(query):\r\n return query.filter_by(is_public=True)\r\n\r\n class Test(Base):\r\n id = Column(Integer, primary_key=True)\r\n is_public = Column(Boolean, default=False)\r\n is_index = Column(Boolean)\r\n\r\n __manager__ = MainManager\r\n\r\n session.query(Video).is_index().filter_by(id=1).is_public()\r\n\r\nalchmanager.ManagedSession\r\n------------------------------\r\n\r\nManager for Session. Decorator ``load_manager()`` for register methods\r\ninto session.\r\n\r\nExample\r\n-------\r\n\r\n.. code-block:: python\r\n\r\n from sqlalchemy.orm import sessionmaker\r\n from alchmanager import ManagedQuery, ManagedSession\r\n\r\n engine = create_engine('sqlite:///:memory:')\r\n session = sessionmaker(class_=ManagedSession,\r\n bind=engine)()\r\n\r\n\r\n @session.load_manager()\r\n class MainSessionManager:\r\n\r\n @staticmethod\r\n def published(query):\r\n return query.filter_by(is_public=True)\r\n\r\n @staticmethod\r\n def has_index(query):\r\n return query.filter_by(is_index=True)\r\n\r\n session.query(TestModel).has_index().published().count()", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/d1ffuz0r/sqlalchemy-manager/archive/master.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/d1ffuz0r/sqlalchemy-manager", "keywords": "", "license": "UNKNOWN", "maintainer": "Roman Gladkov", "maintainer_email": "", "name": "sqlalchemy-manager", "package_url": "https://pypi.org/project/sqlalchemy-manager/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/sqlalchemy-manager/", "project_urls": { "Download": "https://github.com/d1ffuz0r/sqlalchemy-manager/archive/master.zip", "Homepage": "https://github.com/d1ffuz0r/sqlalchemy-manager" }, "release_url": "https://pypi.org/project/sqlalchemy-manager/0.0.2/", "requires_dist": null, "requires_python": null, "summary": "Manager for SQLAlchemy", "version": "0.0.2" }, "last_serial": 800003, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "fc1b3573866e38c814a67eb1d48d7c71", "sha256": "c241d8435eeaa14f9d4c320e7f551c4690017b68b2b148742ff32555c95b720f" }, "downloads": -1, "filename": "sqlalchemy-manager-0.0.2.tar.gz", "has_sig": false, "md5_digest": "fc1b3573866e38c814a67eb1d48d7c71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2913, "upload_time": "2013-04-04T19:09:04", "url": "https://files.pythonhosted.org/packages/91/34/d06bbc1018d9f387e7fb69d1609b772d27e084f62496c582b767852d6cfd/sqlalchemy-manager-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fc1b3573866e38c814a67eb1d48d7c71", "sha256": "c241d8435eeaa14f9d4c320e7f551c4690017b68b2b148742ff32555c95b720f" }, "downloads": -1, "filename": "sqlalchemy-manager-0.0.2.tar.gz", "has_sig": false, "md5_digest": "fc1b3573866e38c814a67eb1d48d7c71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2913, "upload_time": "2013-04-04T19:09:04", "url": "https://files.pythonhosted.org/packages/91/34/d06bbc1018d9f387e7fb69d1609b772d27e084f62496c582b767852d6cfd/sqlalchemy-manager-0.0.2.tar.gz" } ] }