nrel pvwatts的api的python包装器。

pypvwatts的Python项目详细描述


[![生成状态](https://travis-ci.org/mpaolino/pypvwatts.svg?branch=master)](https://travis-ci.org/mpaolino/pypvwatts

围绕请求库构建的nrel pvwatts api v5瘦python包装器。

由<;http://renooble.com>;开发

Github存储库:<;https://github.com/mpaolino/pypvwatts>

pvwatts api v5文档:<;http://developer.nrel.gov/docs/solar/pvwatts-v5/>;

Python请求库:<;http://docs.python-requests.org/en/latest/>

支持

python 2和python 3

安装

pypvwatts可以使用distutils/setuptools安装,可以使用附带的setup.py,也可以直接通过PyPi包存储库安装:

使用pypi

$ pip install pypvwatts

下载tarball,解包,然后运行setup.py

$ python setup.py install

用法-使用类方法

>>> from pypvwatts import PVWatts
>>> PVWatts.api_key = 'myapikey'
>>> result = PVWatts.request(
        system_capacity=4, module_type=1, array_type=1,
        azimuth=190, tilt=30, dataset='tmy2',
        losses=13, lat=40, lon=-105)
>>> result.ac_annual
6683.64501953125

用法-使用实例方法

>>> from pypvwatts import PVWatts
>>> p = PVWatts(api_key='myapikey')
>>> result = p.request(
        system_capacity=4, module_type=1, array_type=1,
        azimuth=190, tilt=30, dataset='tmy2',
        losses=13, lat=40, lon=-105)
>>> result.ac_annual
6683.64501953125

请求参数和响应

所有请求参数都对应于NREL PVWatts API参数

此库为所有响应输出字段提供快捷方式,所有 作为结果属性访问。

请参阅nrel pvwatts文档了解更多详细信息。

http://developer.nrel.gov/docs/solar/pvwatts-v5/

原始数据

可以使用result.raw属性查询原始结果数据。

>>> from pypvwatts import PVWatts
>>> result = PVWatts.request(
        system_capacity=4, module_type=1, array_type=1,
        azimuth=190, tilt=30, dataset='tmy2',
        losses=13, lat=40, lon=-105)
>>> result.raw
{u'errors': [u'You have exceeded your rate limit. Try again later or contact us at http://developer.nrel.gov/contact for assistance']}

错误

所有API错误都通过JSON响应报告,使用errors属性

>>> from pypvwatts import PVWatts
>>> result = PVWatts.request(
        system_capacity=4, module_type=1, array_type=1,
        azimuth=190, tilt=30, dataset='tmy2',
        losses=13, lat=40, lon=-105)
>>> result.errors
[u'You have exceeded your rate limit. Try again later or contact us at http://developer.nrel.gov/contact for assistance']

提交请求的所有参数都经过验证,所有验证都遵循NREL v5 API文档中在<;http://developer.nrel.gov/docs/solar/pvwatts-v5/>;处记录的限制所有验证错误都将引发pypvwatts.pvwattserror.PVWattsValidationError异常

pypvwatts没有试图隐藏这样一个事实:请求库是一个薄包装,因此所有其他服务错误(如连接或超时)都会作为请求库异常引发<;http://docs.python-requests.org/en/latest/user/quickstart/#errors-and-exceptions>;。

测试

test.py中提供了简单的测试。使用:

$ python -m unittest pypvwatts.test

或者使用tox测试python 2.7和python 3.6(需要安装):

$ tox

更改日志

2.1.0-添加Python3支持,同时保持Python2向后兼容

2.0.3-修复OSX下的PIP安装

2.0.2-使用HTTPS发出所有请求

2.0.1-对自述文件的小更新

2.0.0-版本现在与pvwatts v5兼容。2.0.0与1.2.0不向后兼容。API的属性已更改。

1.02.-固定代理处理,现在使用代理参数。

1.1.1-更新版权声明

1.1.0-小导入修复和自述文件更新

1.0.0-首次发布

作者:miguel paolino<;miguel@renooble.com>;,hannes hapke<;hannes@renooble.com>;-版权所有<;http://renooble.com>;

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

推荐PyPI第三方库


热门话题
javagae/JPA/Datastore如何查询无主列表   java从xml中读取未知元素   java如何在控制台上显示MavReplugin单元测试覆盖率报告   java什么被认为是遍历LDAP DIT的正确方法?   Eclipse(Java)在创建了一个新包之后,我无法向其中添加源文件   java new REngine启动并立即停止   java Android:如何从保存在SQLite数据库中的listview中删除项目?   找不到java Gradle DSL方法:“compile()”错误   java使用POI获取具有特定列名的每一行中的值   java解析JSON文件   java中断for循环,返回4个结果,而不是2个   LDAP处理过程中发生java未分类异常;嵌套的异常是javax。命名。NamingException   当表单在基于spring3注释的控制器中验证失败时,java引用数据将丢失   java Android,从web获取数据并更新UI(多线程和MVC设计模式)   用于OS X Yosemite的java优化Swing程序