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第三方库


热门话题
gwt java。lang.UnsupportedClassVersionError:不受支持的专业。小版本51.0   java XML解析器trycatch不工作   java Jackson MRBean不工作,无法构造实例   javascript是检查参数的更好方法吗?   java在发生冲突时从ArrayList中删除对象   JavaSpringWebFlux和KeyClope JWTRESTAPI   java Selected选项在微调器中不可见   java在增加分区后,有没有办法在ApacheKafka中保持顺序?   java添加SourceRoot会导致spring启动应用程序出错   java Spring引导:任何bean都没有实现ReactiveCrudepository   java无法注册我的自定义AbstractAnnotationConfigDispatcherServletInitializer   TCP连接上的java Caesar密码   java树集排序不正确   java如何在自定义查询中加载@ElementCollection?