{ "info": { "author": "Slash Gordon", "author_email": "slash.gordon.dev@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Office/Business :: Financial :: Investment", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# pystockdb\n\n[![Build Status](https://travis-ci.org/portfolioplus/pystockdb.svg?branch=master)](https://travis-ci.org/portfolioplus/pystockdb)\n[![Coverage Status](https://coveralls.io/repos/github/portfolioplus/pystockdb/badge.svg?branch=master)](https://coveralls.io/github/portfolioplus/pystockdb?branch=master)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/07e6231a5a8c415a9f27736e02a286da)](https://www.codacy.com/app/SlashGordon/pystockdb?utm_source=github.com&utm_medium=referral&utm_content=portfolioplus/pystockdb&utm_campaign=Badge_Grade)\n\nDatabase for stocks based on [pony.orm](https://github.com/ponyorm/pony).\nThis package provides an create, sync and update tool.\n\nAt the moment we are only support a few stocks.\nIf you want to have more, please contribute [pytickersymbols](https://github.com/portfolioplus/pytickersymbols).\n\n## install\n\n```shell\npip install pystockdb\n```\n\n## database schema\n\n![StockDB Schema]( StockDB.png)\n\n## quick start\n\nIn all samples we use sqlite but you are free to use other providers.\nFor more information's please read [Connecting to the Database](https://docs.ponyorm.org/database.html).\n\nInstall sqlite stock db:\n\n```python\nimport logging\nfrom pystockdb.tools.create import CreateAndFillDataBase\n\nlogger = logging.getLogger('test')\nconfig = {\n 'max_history': 1,\n 'indices': ['DAX'],\n 'currencies': ['EUR'],\n 'db_args': {\n 'provider': 'sqlite',\n 'filename': 'demo.sqlite',\n 'create_db': True\n },\n}\ncreate = CreateAndFillDataBase(config, logger)\ncreate.build()\n```\n\nUpdate sqlite stock db:\n\n```python\nimport logging\nfrom pystockdb.tools.update import UpdateDataBaseStocks\n\nlogger = logging.getLogger('test')\nconfig = {\n 'symbols': ['ALL'],\n 'prices': True, # update prices\n 'fundamentals': True, # update fundamental stock data\n 'db_args': {\n 'provider': 'sqlite',\n 'filename': 'demo.sqlite',\n 'create_db': False\n },\n}\nupdate = UpdateDataBaseStocks(config, logger)\nupdate.build()\n```\n\nSync sqlite stock db:\n\n```python\nimport logging\nfrom pystockdb.tools.sync import SyncDataBaseStocks\n\nlogger = logging.getLogger('test')\nconfig = {\n 'max_history': 1,\n 'indices': ['CAC 40'], # add new index to existing database\n 'currencies': ['EUR'],\n 'db_args': {\n 'provider': 'sqlite',\n 'filename': 'demo.sqlite',\n },\n}\nsync = SyncDataBaseStocks(config, logger)\nsync.build()\n```\n\nGetting database objects:\n\n```python\nimport datetime\nfrom pony.orm import db_session\n\nfrom pystockdb.db.schema.stocks import Price, Stock\nfrom pystockdb.tools.base import DBBase\n\n# connect to database\n\narguments = {\n 'db_args': {\n 'provider': 'sqlite',\n 'filename': 'test.sqlite',\n 'create_db': False\n }\n}\n# Read https://docs.ponyorm.org/api_reference.html for other provider settings\n\nDBBase(arguments, None)\n\nnow = datetime.datetime.now()\nlast_week = now - datetime.timedelta(days=7)\nwith db_session:\n # get ifx stock object\n stock = Stock.select(\n (lambda s: 'IFX.F' in s.price_item.symbols.name)\n ).first()\n # select ifx.f prices of the last week\n prices = Price.select(\n lambda p: p.symbol.name == 'IFX.F'\n and p.date >= last_week\n and p.date <= now\n )\n\n```\n\n## issue tracker\n\n[https://github.com/portfolioplus/pystockdb/issuese](https://github.com/portfolioplus/pystockdb/issues\")\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/portfolioplus/pystockdb", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pystockdb", "package_url": "https://pypi.org/project/pystockdb/", "platform": "", "project_url": "https://pypi.org/project/pystockdb/", "project_urls": { "Homepage": "https://github.com/portfolioplus/pystockdb" }, "release_url": "https://pypi.org/project/pystockdb/1.0.14/", "requires_dist": [ "pytickersymbols (>=1.1.8)", "pandas (==0.25.1)", "yfinance (>=0.1.44)", "uplink (>=0.9.0)", "pony (==0.7.10)" ], "requires_python": "", "summary": "Simple stock db with tools.", "version": "1.0.14" }, "last_serial": 5807928, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "7c2ed0718334e2c189a9d6fb26a8e268", "sha256": "8062ecdc03cf21809d4efb63607048a8e731417e2c8451045b3ba4ffaad20e59" }, "downloads": -1, "filename": "pystockdb-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7c2ed0718334e2c189a9d6fb26a8e268", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12614, "upload_time": "2019-08-03T12:07:51", "url": "https://files.pythonhosted.org/packages/45/5e/fdc81a820a500469df22720292e5cbec55de62dc96c9c90f06c88978e17d/pystockdb-1.0.0-py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "76d10d7344224867d40a045129519652", "sha256": "5aa9a80d66d37c2678ab829bff14f97fe86b54e225e410ed6673bc9bebd4f4f9" }, "downloads": -1, "filename": "pystockdb-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "76d10d7344224867d40a045129519652", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12961, "upload_time": "2019-08-06T19:10:15", "url": "https://files.pythonhosted.org/packages/44/3d/2d0b8c988e8ccf43d52ff388a6e748e0db2bec0084d426a3619699b3dfe3/pystockdb-1.0.1-py3-none-any.whl" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "464c2c895e0dabdd27a784e82e328168", "sha256": "3d4ba823c6738e33cfc003d4999503a304b2a461a59826820c5985102433439a" }, "downloads": -1, "filename": "pystockdb-1.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "464c2c895e0dabdd27a784e82e328168", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13758, "upload_time": "2019-08-29T12:36:45", "url": "https://files.pythonhosted.org/packages/f7/ae/ebf12454bc36c50e00d5c37848a77a7d91e3797376063d13f1998c81e68b/pystockdb-1.0.10-py3-none-any.whl" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "76566f2b502032942ecfae75add49a5f", "sha256": "63e3374c074168ab99a6fc115e9eb5c54b46187ea2a491c069c48aebe876883f" }, "downloads": -1, "filename": "pystockdb-1.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "76566f2b502032942ecfae75add49a5f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13757, "upload_time": "2019-09-04T15:58:08", "url": "https://files.pythonhosted.org/packages/00/75/8ed76108aca9e9921b6d85f51a45e5a33909916852cff0c626b2011b134c/pystockdb-1.0.11-py3-none-any.whl" } ], "1.0.12": [ { "comment_text": "", "digests": { "md5": "bc2eddd2ce93580f62550f96b26d3fc7", "sha256": "6a5580e5a8a25a51529ac7af8a1014c1b98642d0a4a3ef9a49184c4d235cb9b4" }, "downloads": -1, "filename": "pystockdb-1.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "bc2eddd2ce93580f62550f96b26d3fc7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13757, "upload_time": "2019-09-06T07:01:52", "url": "https://files.pythonhosted.org/packages/0e/5f/a7013e9582f8e3d1ee6702ad9f6db5e82ebf1677ffe9d577f992170dbede/pystockdb-1.0.12-py3-none-any.whl" } ], "1.0.13": [ { "comment_text": "", "digests": { "md5": "537fda949705dde76f1778cd9c4771ad", "sha256": "d6aa97f2ff66ece7e37b04f5d08444284cd2704458acdc0460d5338f25387d0d" }, "downloads": -1, "filename": "pystockdb-1.0.13-py3-none-any.whl", "has_sig": false, "md5_digest": "537fda949705dde76f1778cd9c4771ad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13906, "upload_time": "2019-09-08T14:32:50", "url": "https://files.pythonhosted.org/packages/ff/ad/de113aeec7b4c1716ec800e65ff016a10c6968e42266a748cb80d06910ba/pystockdb-1.0.13-py3-none-any.whl" } ], "1.0.14": [ { "comment_text": "", "digests": { "md5": "501c8ee606364fe7a6e742ba65baa776", "sha256": "d5dc7df5fcad2804c64ed00c01bae05eeaea72c72f54943c92aaa7de5e18950a" }, "downloads": -1, "filename": "pystockdb-1.0.14-py3-none-any.whl", "has_sig": false, "md5_digest": "501c8ee606364fe7a6e742ba65baa776", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13967, "upload_time": "2019-09-10T09:31:10", "url": "https://files.pythonhosted.org/packages/fb/6b/6139fef897e9355af27ed891aa69c6b42f0de586982766ac2267ac3c8003/pystockdb-1.0.14-py3-none-any.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "dacb218b56a4abddd7e3d3e1f15f930f", "sha256": "1c58d6ed32847a1304daa7b94a58224863afa1e8bc1b67f1f6c047c9024703fe" }, "downloads": -1, "filename": "pystockdb-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dacb218b56a4abddd7e3d3e1f15f930f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12989, "upload_time": "2019-08-07T19:35:03", "url": "https://files.pythonhosted.org/packages/1d/27/0c8e27b2daff8b07266d382925e865e18c78084e9a85967574855dc23512/pystockdb-1.0.2-py3-none-any.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "15f3089a84a3216a39c3f6a88e25c67a", "sha256": "36741728eaada3fbacdfcbbb3dc364b987ed6c70ead4ad248f4c13b5e2c00151" }, "downloads": -1, "filename": "pystockdb-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "15f3089a84a3216a39c3f6a88e25c67a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12986, "upload_time": "2019-08-08T19:24:17", "url": "https://files.pythonhosted.org/packages/a9/78/a235f30cacfc16872b1809c20a95621c95d8b38378988f0d068c44f9a364/pystockdb-1.0.3-py3-none-any.whl" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "9d72737238f794b765160c48fe95c9a9", "sha256": "39d33c0726735abc7ea21f5443b154dc702ab2937111da1ce4dea3a9bafaa8ee" }, "downloads": -1, "filename": "pystockdb-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "9d72737238f794b765160c48fe95c9a9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13531, "upload_time": "2019-08-10T11:58:52", "url": "https://files.pythonhosted.org/packages/cf/1c/31e98510e8bc1693150a008aeb94f12b43bda37484492a1ced150a6e3e41/pystockdb-1.0.4-py3-none-any.whl" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "8ca33d70ddbd8a93fa0dde6e5fc69310", "sha256": "2075ce7b97ff113e85e90813a1db5bda61bc13356c1dfb4e7ca75588c1eeb64d" }, "downloads": -1, "filename": "pystockdb-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "8ca33d70ddbd8a93fa0dde6e5fc69310", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13640, "upload_time": "2019-08-15T18:39:31", "url": "https://files.pythonhosted.org/packages/16/1a/e845ece7230b30d09d06bdd46c9e3d541813c9fa6d58aece9dd0d68dde03/pystockdb-1.0.5-py3-none-any.whl" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "e4470b99ed0c46e5de2bc5aa6061a8aa", "sha256": "6afc403efd933f874f94d4d03a84cfd649a0ff3e6f6a9c8fc64e96306edb6920" }, "downloads": -1, "filename": "pystockdb-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "e4470b99ed0c46e5de2bc5aa6061a8aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13706, "upload_time": "2019-08-16T17:14:50", "url": "https://files.pythonhosted.org/packages/f7/f9/0c48348a704f779d7292ea1030ac9090cde6e35ec7338dd2fd1c5c0fa0d1/pystockdb-1.0.6-py3-none-any.whl" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "363a1368dfadb5ead7e482c533c473b2", "sha256": "4786423e0b90ae78fb69d53b2f16dff4c8c542830da28438df8c2b459b8f48fc" }, "downloads": -1, "filename": "pystockdb-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "363a1368dfadb5ead7e482c533c473b2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13726, "upload_time": "2019-08-18T12:39:40", "url": "https://files.pythonhosted.org/packages/4b/c6/ba9bac4064325ee967d8b7e025c3b4aa02c0de5ab0c1a929369d38f55d99/pystockdb-1.0.7-py3-none-any.whl" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "2f93683d88e530016aba974f6ab94ddc", "sha256": "03e75de9319c0d344d3c10a1b6713b223329e769aa9f0beee0b5dcb69b97718f" }, "downloads": -1, "filename": "pystockdb-1.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "2f93683d88e530016aba974f6ab94ddc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13728, "upload_time": "2019-08-26T13:22:23", "url": "https://files.pythonhosted.org/packages/4c/63/960a803846c0a41f76907bf6dd0f681181263f32bec5c9fd887a42d20362/pystockdb-1.0.8-py3-none-any.whl" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "d3e1696761434e8e9df2c2aa34b97837", "sha256": "7f7a4a191ba1d5057d76a444b09850ee1b1ed5225178ff4b5db209ea3ad3563a" }, "downloads": -1, "filename": "pystockdb-1.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "d3e1696761434e8e9df2c2aa34b97837", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13744, "upload_time": "2019-08-28T11:48:01", "url": "https://files.pythonhosted.org/packages/a8/d4/124ac84008c1d4a0cf624f206e6a1cf35060d2d2f93039b1c2810f1e9390/pystockdb-1.0.9-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "501c8ee606364fe7a6e742ba65baa776", "sha256": "d5dc7df5fcad2804c64ed00c01bae05eeaea72c72f54943c92aaa7de5e18950a" }, "downloads": -1, "filename": "pystockdb-1.0.14-py3-none-any.whl", "has_sig": false, "md5_digest": "501c8ee606364fe7a6e742ba65baa776", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13967, "upload_time": "2019-09-10T09:31:10", "url": "https://files.pythonhosted.org/packages/fb/6b/6139fef897e9355af27ed891aa69c6b42f0de586982766ac2267ac3c8003/pystockdb-1.0.14-py3-none-any.whl" } ] }