{ "info": { "author": "Tribune Tech", "author_email": "tech@texastribune.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "tt_streams\n==========\nProvides a means of creating streams of content\n\n\nUsage\n-----\nYou can use the tt_streams to collect different models from different apps into\na unified stream of models. Streams are made up of a series of ``StreamItem``\nsubclasses that you write that are specific to each app that they are used in.\n\nTo skip straight ahead to simple (bordering on naive) implementation examples,\ncheck out the `project/example/models.py`_ file.\n\n.. _project/example/models.py: https://github.com/texastribune/tt_streams/blob/master/project/example/models.py\n\nEach Django app that wants to expose its models to streams should do two things:\n\n* Create a specific ``*Item`` model. For example, ``StoryItem`` should subclass\n the ``StreamItem`` model and provide a connection via a ``ForeignKey`` to the\n model that is opting in,``Story`` in this case.\n* Create a way to get associate those models with a ``Stream``. This is most\n commonly done via an inline interface to the ``StreamItem`` sub-class.\n\nBeyond these requirements, everything else you do with your subclass of\n``StreamItem`` is up to you. It's common to use your ``StreamItem`` class as a\ncache table so you don't have to send another query to the database.\n\nFor example, the ``StoryItem`` automatically stores the title of its related\n``Story`` model when it is saved, and a receiver is hooked up to the ``post_save``\nsignal for ``Story`` to ensure that all of its ``stream_items`` are resaved each\ntime it is saved.\n\nThere are a couple of things to note:\n\n* You can name your subclass of ``StreamItem`` whatever you would like\n* You can name your related field whatever you like\n* It automatically has a ``pub_date`` that you *can* use for ordering, but they\n are not ordered by default\n\n\nInstallation & Configuration\n----------------------------\nYou can install the latest release of ``tt_streams`` using `pip`_:\n\n::\n\n pip install tt_streams\n\nMake sure to add ``tt_streams`` to your ``INSTALLED_APPS``. You\ncan add this however you like. This works as a copy-and-paste solution:\n\n::\n\n\tINSTALLED_APPS += [\"tt_streams\", ]\n\nOnce installed, you have to run either ``syncdb``, or ``migrate`` if you are\nusing `South`_.\n\n.. _pip: http://www.pip-installer.org/\n.. _South: http://south.aeracode.org/\n\n\nContributing\n------------\n\n* Create something awesome -- make the code better, add some functionality,\n whatever (this is the hardest part).\n* `Fork it`_\n* Create a topic branch to house your changes\n* Get all of your commits in the new topic branch\n* Submit a `pull request`_\n\n.. _Fork it: http://help.github.com/forking/\n.. _pull request: http://help.github.com/pull-requests/\n\n\nLicense\n-------\nCopyright 2013 Texas Tribune\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/texastribune/tt_streams/", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "tt_streams", "package_url": "https://pypi.org/project/tt_streams/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tt_streams/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/texastribune/tt_streams/" }, "release_url": "https://pypi.org/project/tt_streams/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Texas Tribune: tt_streams", "version": "0.2.0" }, "last_serial": 825089, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "5d978faca97c41bc63f1b5bc26446256", "sha256": "8cebef6d20fa97a7989eed030cdfce9291848197650b24cacbe0e22f169760a6" }, "downloads": -1, "filename": "tt_streams-0.1.0.tar.gz", "has_sig": false, "md5_digest": "5d978faca97c41bc63f1b5bc26446256", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6725, "upload_time": "2013-07-17T00:01:34", "url": "https://files.pythonhosted.org/packages/31/12/4f567723dbe463cc81abf1679ec053d992e4057612554800a05cd6fa9fc2/tt_streams-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "21bfed1dbceb8d2ca5ce4c6680715109", "sha256": "cf34844efd37d486036c190e9bb57e6fe38adeae47c96d76c5bd0f31d130ace7" }, "downloads": -1, "filename": "tt_streams-0.2.0.tar.gz", "has_sig": false, "md5_digest": "21bfed1dbceb8d2ca5ce4c6680715109", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7557, "upload_time": "2013-07-25T16:11:51", "url": "https://files.pythonhosted.org/packages/56/da/4fad69de9b6beda8803e7f9fd7add2e2c87f6a8c7e5a795be6ad3d3a68d4/tt_streams-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "21bfed1dbceb8d2ca5ce4c6680715109", "sha256": "cf34844efd37d486036c190e9bb57e6fe38adeae47c96d76c5bd0f31d130ace7" }, "downloads": -1, "filename": "tt_streams-0.2.0.tar.gz", "has_sig": false, "md5_digest": "21bfed1dbceb8d2ca5ce4c6680715109", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7557, "upload_time": "2013-07-25T16:11:51", "url": "https://files.pythonhosted.org/packages/56/da/4fad69de9b6beda8803e7f9fd7add2e2c87f6a8c7e5a795be6ad3d3a68d4/tt_streams-0.2.0.tar.gz" } ] }