{ "info": { "author": "https://github.com/cirla/tulipy/blob/master/AUTHORS", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Financial and Insurance Industry", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Operating System :: OS Independent", "Programming Language :: Cython", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Office/Business :: Financial", "Topic :: Scientific/Engineering :: Information Analysis" ], "description": "[![Build Status](https://travis-ci.org/cirla/tulipy.svg?branch=master)](https://travis-ci.org/cirla/tulipy)\n[![Build status](https://ci.appveyor.com/api/projects/status/g34af6ti605e2q4h?svg=true)](https://ci.appveyor.com/project/cirla/tulipy)\n\n# tulipy\n\n## Python bindings for [Tulip Indicators](https://tulipindicators.org/)\n\nTulipy requires [numpy](http://www.numpy.org/) as all inputs and outputs are numpy arrays (`dtype=np.float64`).\n\n## Installation\n\nYou can install via `pip install tulipy`.\nIf a wheel is not available for your system, you will need to `pip install Cython numpy` to build from the source distribution.\nWhen building from source on Windows, you will need the Microsoft Visual C++ Build Tools installed.\n\n## Usage\n\n\n```python\nimport numpy as np\nimport tulipy as ti\n```\n\n\n```python\nti.TI_VERSION\n```\n\n\n\n\n '0.8.4'\n\n\n\n\n```python\nDATA = np.array([81.59, 81.06, 82.87, 83, 83.61,\n 83.15, 82.84, 83.99, 84.55, 84.36,\n 85.53, 86.54, 86.89, 87.77, 87.29])\n```\n\nInformation about indicators are exposed as properties:\n\n\n```python\ndef print_info(indicator):\n print(\"Type:\", indicator.type)\n print(\"Full Name:\", indicator.full_name)\n print(\"Inputs:\", indicator.inputs)\n print(\"Options:\", indicator.options)\n print(\"Outputs:\", indicator.outputs)\n```\n\n\n```python\nprint_info(ti.sqrt)\n```\n\n Type: simple\n Full Name: Vector Square Root\n Inputs: ['real']\n Options: []\n Outputs: ['sqrt']\n\n\nSingle outputs are returned directly. Indicators returning multiple outputs use\na tuple in the order indicated by the `outputs` property.\n\n\n```python\nti.sqrt(DATA)\n```\n\n\n\n\n array([ 9.03271831, 9.00333272, 9.10329611, 9.11043358, 9.14385039,\n 9.11866218, 9.1016482 , 9.16460583, 9.19510739, 9.18477 ,\n 9.24824308, 9.30268778, 9.32148057, 9.36856446, 9.34291175])\n\n\n\n\n```python\nprint_info(ti.sma)\n```\n\n Type: overlay\n Full Name: Simple Moving Average\n Inputs: ['real']\n Options: ['period']\n Outputs: ['sma']\n\n\n\n```python\nti.sma(DATA, period=5)\n```\n\n\n\n\n array([ 82.426, 82.738, 83.094, 83.318, 83.628, 83.778, 84.254,\n 84.994, 85.574, 86.218, 86.804])\n\n\n\nInvalid options will throw an `InvalidOptionError`:\n\n\n```python\ntry:\n ti.sma(DATA, period=-5)\nexcept ti.InvalidOptionError:\n print(\"Invalid Option!\")\n```\n\n Invalid Option!\n\n\n\n```python\nprint_info(ti.bbands)\n```\n\n Type: overlay\n Full Name: Bollinger Bands\n Inputs: ['real']\n Options: ['period', 'stddev']\n Outputs: ['bbands_lower', 'bbands_middle', 'bbands_upper']\n\n\n\n```python\nti.bbands(DATA, period=5, stddev=2)\n```\n\n\n\n\n (array([ 80.53004219, 80.98714192, 82.53334324, 82.47198345,\n 82.41775044, 82.43520292, 82.51133078, 83.14261781,\n 83.53648779, 83.8703237 , 85.28887096]),\n array([ 82.426, 82.738, 83.094, 83.318, 83.628, 83.778, 84.254,\n 84.994, 85.574, 86.218, 86.804]),\n array([ 84.32195781, 84.48885808, 83.65465676, 84.16401655,\n 84.83824956, 85.12079708, 85.99666922, 86.84538219,\n 87.61151221, 88.5656763 , 88.31912904]))\n\n\n\nIf inputs of differing sizes are provided, they are right-aligned and trimmed from the left:\n\n\n```python\nDATA2 = np.array([83.15, 82.84, 83.99, 84.55, 84.36])\n```\n\n\n```python\n# 'high' trimmed to DATA[-5:] == array([ 85.53, 86.54, 86.89, 87.77, 87.29])\nti.aroonosc(high=DATA, low=DATA2, period=2)\n```\n\n\n\n\n array([ 50., 100., 50.])", "description_content_type": "text/markdown; charset=UTF-8", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cirla/tulipy", "keywords": "", "license": "LGPL-3.0", "maintainer": "", "maintainer_email": "", "name": "tulipy", "package_url": "https://pypi.org/project/tulipy/", "platform": "", "project_url": "https://pypi.org/project/tulipy/", "project_urls": { "Homepage": "https://github.com/cirla/tulipy" }, "release_url": "https://pypi.org/project/tulipy/0.4.0/", "requires_dist": null, "requires_python": "", "summary": "Financial Technical Analysis Indicator Library. Python bindings for https://github.com/TulipCharts/tulipindicators", "version": "0.4.0" }, "last_serial": 5126968, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "ba5853de36bb16cc272a8a36bfc06695", "sha256": "6df58b21871d7a23803f018f26b12131be793fd8507fcdfbee393715165691f4" }, "downloads": -1, "filename": "tulipy-0.1.2.tar.gz", "has_sig": true, "md5_digest": "ba5853de36bb16cc272a8a36bfc06695", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31350, "upload_time": "2017-01-17T21:48:57", "url": "https://files.pythonhosted.org/packages/fc/61/b2eeb8bb9d256b014fb7799948b35277c44deab71ca6fd970aaba343b660/tulipy-0.1.2.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "be44a5d231406dbcdda8880de4f9b8ef", "sha256": "10686485917d8ecab1990f85dbc008df01d29977e9c5f783fcad101bad37db21" }, "downloads": -1, "filename": "tulipy-0.2-cp27-cp27m-macosx_10_11_x86_64.whl", "has_sig": false, "md5_digest": "be44a5d231406dbcdda8880de4f9b8ef", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 93363, "upload_time": "2017-01-19T01:45:25", "url": "https://files.pythonhosted.org/packages/4f/e2/32ad361399802c8a871ee5a94e0f03b61c48326745e829894deb0424c0af/tulipy-0.2-cp27-cp27m-macosx_10_11_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "8a511b27bd8d61484fdc017e618f4fc7", "sha256": "c3cdf9f3fd33029cabf13a9790270b20e9941f6a6781b9d1acd3fb0dbe6c9136" }, "downloads": -1, "filename": "tulipy-0.2-cp36-cp36m-macosx_10_11_x86_64.whl", "has_sig": false, "md5_digest": "8a511b27bd8d61484fdc017e618f4fc7", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 83153, "upload_time": "2017-01-19T01:45:35", "url": "https://files.pythonhosted.org/packages/9e/19/5a8394d1944f949fcafbb8ee4933e04fb0314233c939db64d3d44ecdcf0f/tulipy-0.2-cp36-cp36m-macosx_10_11_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "5bdcc178021ed224f16619289a6901ff", "sha256": "c724d35ec6f3ad51a94f6c458a4484878a782215c6fbec4ce7ceb44bdcc0210a" }, "downloads": -1, "filename": "tulipy-0.2.tar.gz", "has_sig": true, "md5_digest": "5bdcc178021ed224f16619289a6901ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94703, "upload_time": "2017-01-19T01:45:09", "url": "https://files.pythonhosted.org/packages/52/64/40567aebd73c8778b24e316fffbb1aae1b59c2c7d2e52841f40cb7a341ab/tulipy-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1c7785b807dd530409a49aef6becb09d", "sha256": "78ecc4169b79e71605b8513482248bd93402d2588fbb408d05282d7a95c3e602" }, "downloads": -1, "filename": "tulipy-0.2.1-cp27-cp27m-macosx_10_13_intel.whl", "has_sig": false, "md5_digest": "1c7785b807dd530409a49aef6becb09d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 152788, "upload_time": "2018-04-02T04:17:08", "url": "https://files.pythonhosted.org/packages/d4/eb/d6e93ead77e759110e8a92877cdd565f2a44f6175003c32e139205d9b721/tulipy-0.2.1-cp27-cp27m-macosx_10_13_intel.whl" }, { "comment_text": "", "digests": { "md5": "2efea805c440cd7d9bb1ea44012dd630", "sha256": "db0d83d9081927cb9c69623d9ec11c8a65089f7795240d4eaff2ea1387c8c0f7" }, "downloads": -1, "filename": "tulipy-0.2.1-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "2efea805c440cd7d9bb1ea44012dd630", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 82329, "upload_time": "2018-04-02T04:12:14", "url": "https://files.pythonhosted.org/packages/6f/88/72094ab2744b06f50847b3489caa1a01f62d9feaf0859ffb0590f4fd9919/tulipy-0.2.1-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "cc937b0e813bced6870387a381a21b96", "sha256": "bd4379427b5ba29b2513f20c0639049c0b8e338a383fd7db47f1ad1df4848255" }, "downloads": -1, "filename": "tulipy-0.2.1-cp36-cp36m-win32.whl", "has_sig": false, "md5_digest": "cc937b0e813bced6870387a381a21b96", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 76955, "upload_time": "2018-04-02T04:23:04", "url": "https://files.pythonhosted.org/packages/ca/bb/566717f54ff1cc0eb4f9648b08b7c57259c6fb65d0f91359e7342d9f7a47/tulipy-0.2.1-cp36-cp36m-win32.whl" }, { "comment_text": "", "digests": { "md5": "e3974513735e4c1b8ab3a7837826595f", "sha256": "24c185389af34f112b6c37e24899d0bb2dd37166df77ae883fcf5f04cb4df313" }, "downloads": -1, "filename": "tulipy-0.2.1-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "e3974513735e4c1b8ab3a7837826595f", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 125793, "upload_time": "2018-04-02T04:23:05", "url": "https://files.pythonhosted.org/packages/6c/f1/d32c4cb5aca3950a2cf7905b34faddded164513866d9a40f2b3d631c0172/tulipy-0.2.1-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "64e0fbc023334ed37ee30a32389d7387", "sha256": "79e824af0450f00ac45822500bf4ca60948e07035c37c6f1b0c5fcd74a8dc157" }, "downloads": -1, "filename": "tulipy-0.2.1.tar.gz", "has_sig": false, "md5_digest": "64e0fbc023334ed37ee30a32389d7387", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 101123, "upload_time": "2018-04-02T04:12:23", "url": "https://files.pythonhosted.org/packages/3d/00/541dfe341307a56f472989f74a05a09c43c498d2f3119e33394d1e094464/tulipy-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "450e8b9a4d21dbe80c02d6373e52be90", "sha256": "7d04fb0d6a3f4c6d9c2dac7661a3cb0a6cb538fbc2d631c21623c401589576ec" }, "downloads": -1, "filename": "tulipy-0.3.0.tar.gz", "has_sig": false, "md5_digest": "450e8b9a4d21dbe80c02d6373e52be90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33973, "upload_time": "2018-09-14T15:05:45", "url": "https://files.pythonhosted.org/packages/1a/bb/f614b59a5ee7c2ca3a13ac2e9f30c8c71c648c1157dbc6665d19063c2cc6/tulipy-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "7e00ae228437ad47518f3a4c9324a241", "sha256": "8a5a3e3d5726c76c26545a844bfb4058c2f271e0e4c13c2bbc3a1e201cf02312" }, "downloads": -1, "filename": "tulipy-0.3.1-cp37-cp37m-win32.whl", "has_sig": false, "md5_digest": "7e00ae228437ad47518f3a4c9324a241", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 80203, "upload_time": "2018-10-16T01:12:04", "url": "https://files.pythonhosted.org/packages/3c/0f/7fcc65492925ec357fefe619b5e978563017dde9a9c12c0e1a8ddaecd246/tulipy-0.3.1-cp37-cp37m-win32.whl" }, { "comment_text": "", "digests": { "md5": "318a9c151dc8bfe13bd37e0e788ccc73", "sha256": "6d0277e4e00dd381727b50ca4a6a85fc84ad96eb4c94a3abdcb54926455b0673" }, "downloads": -1, "filename": "tulipy-0.3.1-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "318a9c151dc8bfe13bd37e0e788ccc73", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 129928, "upload_time": "2018-10-16T01:12:05", "url": "https://files.pythonhosted.org/packages/b7/5a/10471df94d3a6b4700feb43e08e6520a2aab33c6eaece3f729e3efb56119/tulipy-0.3.1-cp37-cp37m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "152505cd7c8e1a0dfb4a158d94115856", "sha256": "428f19236f9416e12beaa5f9f3e68121f1c4a5d82f8d8370ae1b28bd5d00e739" }, "downloads": -1, "filename": "tulipy-0.3.1.tar.gz", "has_sig": false, "md5_digest": "152505cd7c8e1a0dfb4a158d94115856", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34030, "upload_time": "2018-09-14T15:17:25", "url": "https://files.pythonhosted.org/packages/87/08/d624e57effb2cbb40de03e65cc23782b9f3ef84e6ae9c55c9acc2eabe555/tulipy-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "b2648450fa45b6d7f22bf42d8c4f1473", "sha256": "540704956b5b940a5f6306aa393a37536a6d7c3cbc07efe47512f3496e5203ab" }, "downloads": -1, "filename": "tulipy-0.4.0-cp37-cp37m-win32.whl", "has_sig": false, "md5_digest": "b2648450fa45b6d7f22bf42d8c4f1473", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 83384, "upload_time": "2019-04-11T03:40:50", "url": "https://files.pythonhosted.org/packages/69/eb/bcc11e171eb73a80f55eea8199ac61186dab63e4c0062a99312a8992f9bc/tulipy-0.4.0-cp37-cp37m-win32.whl" }, { "comment_text": "", "digests": { "md5": "18b1b545e3dbc763ac10243f4efa25c6", "sha256": "95542e40537afdd345d875baf37485eac993c6a819d00c51432e9de8df21eba8" }, "downloads": -1, "filename": "tulipy-0.4.0-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "18b1b545e3dbc763ac10243f4efa25c6", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 133157, "upload_time": "2019-04-11T03:40:51", "url": "https://files.pythonhosted.org/packages/27/ba/fe5e9c1de77c3bc6892d67f3f2ef3246604f66918a37c8f9ac416b662f5c/tulipy-0.4.0-cp37-cp37m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "f791897df22483e21c066228941324ad", "sha256": "fbc31727ef7657c93ad910bfdce65fecc6aaa7a5e961fe00240718e7a3fc79d8" }, "downloads": -1, "filename": "tulipy-0.4.0.tar.gz", "has_sig": false, "md5_digest": "f791897df22483e21c066228941324ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110271, "upload_time": "2019-04-11T03:37:12", "url": "https://files.pythonhosted.org/packages/2c/fc/685a3fe73a66ed35332058c2e22b2ed63b7725ec32817753f11c06f48792/tulipy-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b2648450fa45b6d7f22bf42d8c4f1473", "sha256": "540704956b5b940a5f6306aa393a37536a6d7c3cbc07efe47512f3496e5203ab" }, "downloads": -1, "filename": "tulipy-0.4.0-cp37-cp37m-win32.whl", "has_sig": false, "md5_digest": "b2648450fa45b6d7f22bf42d8c4f1473", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 83384, "upload_time": "2019-04-11T03:40:50", "url": "https://files.pythonhosted.org/packages/69/eb/bcc11e171eb73a80f55eea8199ac61186dab63e4c0062a99312a8992f9bc/tulipy-0.4.0-cp37-cp37m-win32.whl" }, { "comment_text": "", "digests": { "md5": "18b1b545e3dbc763ac10243f4efa25c6", "sha256": "95542e40537afdd345d875baf37485eac993c6a819d00c51432e9de8df21eba8" }, "downloads": -1, "filename": "tulipy-0.4.0-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "18b1b545e3dbc763ac10243f4efa25c6", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 133157, "upload_time": "2019-04-11T03:40:51", "url": "https://files.pythonhosted.org/packages/27/ba/fe5e9c1de77c3bc6892d67f3f2ef3246604f66918a37c8f9ac416b662f5c/tulipy-0.4.0-cp37-cp37m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "f791897df22483e21c066228941324ad", "sha256": "fbc31727ef7657c93ad910bfdce65fecc6aaa7a5e961fe00240718e7a3fc79d8" }, "downloads": -1, "filename": "tulipy-0.4.0.tar.gz", "has_sig": false, "md5_digest": "f791897df22483e21c066228941324ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110271, "upload_time": "2019-04-11T03:37:12", "url": "https://files.pythonhosted.org/packages/2c/fc/685a3fe73a66ed35332058c2e22b2ed63b7725ec32817753f11c06f48792/tulipy-0.4.0.tar.gz" } ] }