带工具的简单库存数据库。

pystockdb的Python项目详细描述


PystockDB

Build StatusCoverage StatusCodacy Badge

基于pony.orm的库存数据库。 这个包提供了一个创建、同步和更新工具。

目前我们只支持少数股票。 如果你想要更多,请贡献pytickersymbols

安装

pip install pystockdb

数据库架构

StockDB Schema

快速启动

在所有示例中,我们使用sqlite,但您可以自由使用其他提供程序。 更多信息请阅读Connecting to the Database

安装sqlite stock db:

importloggingfrompystockdb.tools.createimportCreateAndFillDataBaselogger=logging.getLogger('test')config={'max_history':1,'indices':['DAX'],'currencies':['EUR'],'db_args':{'provider':'sqlite','filename':'demo.sqlite','create_db':True},}create=CreateAndFillDataBase(config,logger)create.build()

更新sqlite stock db:

importloggingfrompystockdb.tools.updateimportUpdateDataBaseStockslogger=logging.getLogger('test')config={'symbols':['ALL'],'prices':True,# update prices'fundamentals':True,# update fundamental stock data'db_args':{'provider':'sqlite','filename':'demo.sqlite','create_db':False},}update=UpdateDataBaseStocks(config,logger)update.build()

同步sqlite股票数据库:

importloggingfrompystockdb.tools.syncimportSyncDataBaseStockslogger=logging.getLogger('test')config={'max_history':1,'indices':['CAC 40'],# add new index to existing database'currencies':['EUR'],'db_args':{'provider':'sqlite','filename':'demo.sqlite',},}sync=SyncDataBaseStocks(config,logger)sync.build()

获取数据库对象:

importdatetimefrompony.ormimportdb_sessionfrompystockdb.db.schema.stocksimportPrice,Stockfrompystockdb.tools.baseimportDBBase# connect to databasearguments={'db_args':{'provider':'sqlite','filename':'test.sqlite','create_db':False}}# Read https://docs.ponyorm.org/api_reference.html for other provider settingsDBBase(arguments,None)now=datetime.datetime.now()last_week=now-datetime.timedelta(days=7)withdb_session:# get ifx stock objectstock=Stock.select((lambdas:'IFX.F'ins.price_item.symbols.name)).first()# select ifx.f prices of the last weekprices=Price.select(lambdap:p.symbol.name=='IFX.F'andp.date>=last_weekandp.date<=now)

问题跟踪程序

https://github.com/portfolioplus/pystockdb/issuese

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java soap在实现applicationContext后失败。xml   java为什么不能解析这个方法?   国际化java。util。MissingResourceException:找不到基名称的捆绑包   当使用SpringJDBC时,用java干净的方式外部化长(+20行sql)?   映射值中的java类型不匹配:应为组织。阿帕奇。hadoop。木卫一。可空写,接收组织。阿帕奇。hadoop。木卫一。文本   java组织。冬眠MappingException:无法确定抽象类表的类型   java如何从子类构造函数调用超类的私有构造函数?   将iBeacon主ID从Java类传递到Android Studio中的活动   与通配符匹配的java KeyValue参数   java用集合实例化多重映射?   java在单独的类中编辑和更新正在运行的实例变量   java Struts html:复选框查询   java日志中西里尔文日志显示不正确   使用apacheavro的javaavro阵列   CacheBuilder中的java NoSuchMethodError(checkState)