{ "info": { "author": "Jeffrey McLarty", "author_email": "jeffrey.mclarty@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Topic :: Database", "Topic :: Office/Business", "Topic :: Scientific/Engineering" ], "description": "=====\r\nTrump\r\n=====\r\n\r\n.. image:: https://badges.gitter.im/Join%20Chat.svg\r\n :alt: Join the chat at https://gitter.im/Equitable/trump\r\n :target: https://gitter.im/Equitable/trump?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\r\n\r\n.. image:: https://readthedocs.org/projects/trump/badge/?version=latest\r\n :target: https://readthedocs.org/projects/trump/?badge=latest\r\n :alt: Documentation Status\r\n\r\n.. image:: https://travis-ci.org/Equitable/trump.svg\r\n :target: http://travis-ci.org/Equitable/trump/builds\r\n :alt: Travis CI Status\r\n\r\n.. image:: https://coveralls.io/repos/Equitable/trump/badge.svg \r\n :target: https://coveralls.io/r/Equitable/trump\r\n :alt: Coveralls.io\r\n \r\n------------------------------------------\r\nPersistent Objectification of Indexed Data\r\n------------------------------------------\r\n\r\nTrump is a framework for objectifying data, with the goal of centralizing the responsibility of \r\nmanaging feeds, munging, calculating and validating data, upstream of any application or user requirement.\r\n\r\nWith a focus on business processes, Trump's long run goals enable data feeds to be:\r\n\r\n* **Prioritized**, *flexibly* - a symbol can be associated with multiple data source for a variety of reasons including redundancy, calculations, or optionality.\r\n* **Modified**, *reliably* - a symbol's data feeds can be changed out, without any changes requiring testing to the downstream application or user.\r\n* **Verified**, *systematically* - a variety of common data processing checks are performed as the symbol's data is cached.\r\n* **Audited**, *quickly* - alerts and reports all become possible to assess integrity or inspect where manual over-rides have been performed.\r\n* **Aggregated**, *intelligently* - on a symbol by symbol basis, feeds can be combined and used in an extensible number of ways.\r\n* **Customized**, *dynamically* - extensibility is possible at the templating, munging, aggregation, and validity steps.\r\n\r\nPlanning\r\n========\r\n\r\nSee `docs/planning.md `_ for the direction of the project.\r\n\r\nBasic Usage\r\n===========\r\nThis example dramatically understates the utility of Trump's long term feature set.\r\n\r\nAdding a Symbol\r\n---------------\r\n\r\n.. code-block:: python\r\n\r\n from trump.orm import SymbolManager\r\n from trump.templating import QuandlFT, GoogleFinanceFT, YahooFinanceFT\r\n\r\n sm = SymbolManager()\r\n\r\n TSLA = sm.create(name = \"TSLA\", \r\n description = \"Tesla Closing Price USD\")\r\n\r\n TSLA.add_tags([\"stocks\",\"US\"])\r\n\r\n #Try Google First\r\n #If Google's feed has a problem, try Quandl's backup\r\n #If all else fails, use Yahoo's data...\r\n\r\n TSLA.add_feed(GoogleFinanceFT(\"TSLA\"))\r\n TSLA.add_feed(QuandlFT(\"GOOG/NASDAQ_TSLA\",fieldname='Close'))\r\n TSLA.add_feed(YahooFinanceFT(\"TSLA\"))\r\n\r\n #Optional munging, validity checks and aggregation settings would be\r\n #implemented here...\r\n \r\n #All three feeds are cached...\r\n TSLA.cache()\r\n\r\n #But only a clean version of the data is served up...\r\n print TSLA.df.tail()\r\n\r\n TSLA\r\n dateindex \r\n 2015-03-20 198.08\r\n 2015-03-23 199.63\r\n 2015-03-24 201.72\r\n 2015-03-25 194.30\r\n 2015-03-26 190.40 \r\n \r\n sm.finish()\r\n \r\nUsing a Symbol\r\n--------------\r\n\r\n.. code-block:: python\r\n\r\n from trump.orm import SymbolManager\r\n\r\n sm = SymbolManager()\r\n\r\n TSLA = sm.get(\"TSLA\")\r\n\r\n #optional\r\n TSLA.cache()\r\n\r\n print TSLA.df.tail()\r\n \r\n TSLA\r\n dateindex \r\n 2015-03-20 198.08\r\n 2015-03-23 199.63\r\n 2015-03-24 201.72\r\n 2015-03-25 194.30\r\n 2015-03-26 190.40 \r\n\r\n sm.finish()\r\n\r\nContributing\r\n============\r\n\r\nIf you're interested in contributing to Trump, we would love for you to do so! The best place to\r\nstart is cloning the project, then use the latest commit from the master branch to install the package.\r\nAfter that, follow the configuration instructions, in the installation instructions linked below.\r\nWhile you do so, please make notes about any unclear parts or errors you get, during the\r\ninstallation instructions. Please post an issue on GitHub with **ANY** notes, or if you're ambitious,\r\nfeel free to submit a pull request yourself. Don't hesitate, doing either.\r\n\r\nIf it's not working, or unclear, it's our fault. And, we really want it to be easy for people to\r\nget started. It's really hard for the creator of the project, to assess their own instructions.\r\n\r\nAfter installation, there are many paths to take; each one can be addressed by posting an issue,\r\nor a pull request. Exploring the docs, you'll inevitably find areas that need improving. Explore\r\nthe open issues, ones tagged with \"Good First Pull Request\" are the low hanging fruit. Often,\r\ncurrent issues won't have a ton of information. If you want to work on one, just add a comment,\r\nasking for more info and mention that you're going to try to tackle it. Also, just posting an\r\nissue to \"Say Hi\", and ask for recommended issues to start on, is a great way to get started too.\r\n \r\nInstallation\r\n============\r\n\r\nSee the latest `Installation instructions on ReadTheDocs.org `_\r\n\r\nRequirements\r\n------------\r\n* Python 2.7; Support for Python 3.3 or 3.4 is do-able, if there is demand.\r\n* A Relational Database Supported by SQLAlchemy should work, however the following is tested:\r\n * PostgreSQL 9.4\r\n * Persistent SQLite (ie, file-based). Certain features of Trump, wouldn't make sense with an in-memory implementation)\r\n\r\nDependencies\r\n------------\r\n- `Pandas `_ (Tested with >= 0.16.2)\r\n- `SQLAlchemy `_ (Tested with >= 0.9)\r\n- `smuggle `_ (Tested with >= 0.2.0)\r\n- `validada `_ (Tested with >= 0.0.1)\r\n\r\nData Source Dependencies\r\n------------------------\r\n- `Quandl `_\r\n\r\nDocumentation\r\n=============\r\nRead the latest on `ReadTheDocs.org `_\r\n\r\nCommunication\r\n=============\r\n\r\n* Questions, Bugs, Ideas, Requests or just say \"Hi\" -> GitHub Issues, InvTech@equitable.ca, or jeffrey.mclarty@gmail.com\r\n* Contribute Code -> New Branch + GitHub Pull Request\r\n* Chat -> `Gitter `_\r\n\r\nLicense\r\n=======\r\nBSD-3 clause. See the actual `License `_.\r\n\r\nBackground\r\n==========\r\nThe prototype for ``Trump`` was built at Equitable Life of Canada in 2014 by Jeffrey McLarty, CFA \r\nand Derek Vinke, CFA. Jeffrey McLarty currently leads the Open Source initiative.", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/Equitable/trump/tarball/0.0.5", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://Equitable.github.com/trump/", "keywords": "data,timeseries,time series,indexed,objectified,trump,monotonic,RDD,relational database,pandas,SQLAlchemy", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "Trump", "package_url": "https://pypi.org/project/Trump/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Trump/", "project_urls": { "Download": "https://github.com/Equitable/trump/tarball/0.0.5", "Homepage": "http://Equitable.github.com/trump/" }, "release_url": "https://pypi.org/project/Trump/0.0.5/", "requires_dist": null, "requires_python": null, "summary": "Persistent Objectified Indexed Data", "version": "0.0.5" }, "last_serial": 1678678, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "5bd84e8a6eff2d8621d715d66dc5697f", "sha256": "b55d388e3c4f71cbe1dff06b31b141950974d4002ec3372a017fda692376d5d0" }, "downloads": -1, "filename": "Trump-0.0.1.zip", "has_sig": false, "md5_digest": "5bd84e8a6eff2d8621d715d66dc5697f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29416, "upload_time": "2015-03-22T03:00:53", "url": "https://files.pythonhosted.org/packages/29/64/9e0ac8a35f110bb93d1fcb0e21d8f9c01365ca1a7c30f3b62b97a57053b9/Trump-0.0.1.zip" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "5c6a80fe3e0310c3162208836c7462bb", "sha256": "58da58428a442b77dc09a1e826e0a51183de1f001604a52a6a57084394297032" }, "downloads": -1, "filename": "Trump-0.0.2.zip", "has_sig": false, "md5_digest": "5c6a80fe3e0310c3162208836c7462bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57534, "upload_time": "2015-05-13T11:26:49", "url": "https://files.pythonhosted.org/packages/ab/16/762ee83ecfca637ba9290d368b044e99ed4736f3fe31e4985ebaa8e8418d/Trump-0.0.2.zip" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "14f5dea12be7ecc5e00f0122981f48f2", "sha256": "9f0484f8604f3daa84acd8d86f0fb612753fa550928b3f493ad8aaaf3b00c313" }, "downloads": -1, "filename": "Trump-0.0.3.zip", "has_sig": false, "md5_digest": "14f5dea12be7ecc5e00f0122981f48f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110125, "upload_time": "2015-07-17T16:20:45", "url": "https://files.pythonhosted.org/packages/65/da/cc85492eae6d589ea359f1096f0eb4b3d76ad8d27eb48ecf0d698eb76b99/Trump-0.0.3.zip" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "ed4c5c98f4335c0bb98ef1b737ed52e6", "sha256": "4fc1ee45f93e9ed09d6d7f78421ae2259e63de4cfcc39e5e5d90e4dd9fe03f8d" }, "downloads": -1, "filename": "Trump-0.0.4.zip", "has_sig": false, "md5_digest": "ed4c5c98f4335c0bb98ef1b737ed52e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 130776, "upload_time": "2015-08-06T00:11:39", "url": "https://files.pythonhosted.org/packages/ec/39/bea36612e229b2e61f11b9c992ac0f8c5884e1acb567281d74d78052b292/Trump-0.0.4.zip" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "fdde3b4719d88e38f8dd41a05c52f3aa", "sha256": "d71b90949d41f1fc1f32cd09e4e3b8f20f2da9634d29e010b1e1adfe35db8e5e" }, "downloads": -1, "filename": "Trump-0.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "fdde3b4719d88e38f8dd41a05c52f3aa", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 92889, "upload_time": "2015-08-15T13:30:53", "url": "https://files.pythonhosted.org/packages/d1/43/be7d436e72409360a01bddf6c1acd840c60ef037d30a2bc6d5e1fa2280b1/Trump-0.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56c18690c7935be816afcaf8395beb1e", "sha256": "074555672aa300ef457cabbb761239f86f415e3b9adaacd9fb5dff38e5d4e516" }, "downloads": -1, "filename": "Trump-0.0.5.tar.gz", "has_sig": false, "md5_digest": "56c18690c7935be816afcaf8395beb1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71110, "upload_time": "2015-08-15T13:30:49", "url": "https://files.pythonhosted.org/packages/4b/0d/0ab1a8471757284da5137cd3faf6c435481ada2976855b104279a37f75aa/Trump-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fdde3b4719d88e38f8dd41a05c52f3aa", "sha256": "d71b90949d41f1fc1f32cd09e4e3b8f20f2da9634d29e010b1e1adfe35db8e5e" }, "downloads": -1, "filename": "Trump-0.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "fdde3b4719d88e38f8dd41a05c52f3aa", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 92889, "upload_time": "2015-08-15T13:30:53", "url": "https://files.pythonhosted.org/packages/d1/43/be7d436e72409360a01bddf6c1acd840c60ef037d30a2bc6d5e1fa2280b1/Trump-0.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56c18690c7935be816afcaf8395beb1e", "sha256": "074555672aa300ef457cabbb761239f86f415e3b9adaacd9fb5dff38e5d4e516" }, "downloads": -1, "filename": "Trump-0.0.5.tar.gz", "has_sig": false, "md5_digest": "56c18690c7935be816afcaf8395beb1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71110, "upload_time": "2015-08-15T13:30:49", "url": "https://files.pythonhosted.org/packages/4b/0d/0ab1a8471757284da5137cd3faf6c435481ada2976855b104279a37f75aa/Trump-0.0.5.tar.gz" } ] }