nrel pvwatts的api的python包装器。
pypvwatts的Python项目详细描述
围绕请求库构建的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文档了解更多详细信息。
原始数据
可以使用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>;