跳转到主要内容

此库允许您使用Python与Cannabis Reports交互。

项目描述

License: MIT | PyPi Package | PyPi Versions

Build Status | Test Coverage | Code Climate

Python大麻报告

此库允许您使用Python与Cannabis Reports API交互。

安装

使用Pip和PyPi进行安装最简单。

pip install cannabis-reports

如果您想贡献,或者偏好Git

git clone https://github.com/LasLabs/python-cannabis-reports.git
cd python-cannabis-reports
pip install .

使用

CannabisReports对象 是与CannabisReports API交互的主要点。

连接

连接到CannabisReports API将需要一个API密钥,该密钥由您的CannabisReports帐户生成。在下面的示例中,我们的密钥是 API_KEY

from cannabis-reports import CannabisReports
cr = CannabisReports('API_KEY')

API端点

CannabisReports API端点作为实例化的 CannabisReports 对象上的变量公开。可用的端点包括

它们也可以从 CannabisReports__apis__ 属性中查看

>>> cr.__apis__
{'Strains': <CannabisReports.auth_proxy.AuthProxy object at 0x10783ddd0>,
 }

API使用非常简单,只需调用带有所需参数的方法并迭代结果即可

for strain in cr.Strains.list():
    print(strain)
    print(strain.serialize())
    break

上面的输出将类似于以下内容

# This is the Strain object itself (first print)
<cannabis-reports.models.strain.Strain object at 0x10783df10>
# This is the serialized form of the Strain (second print)
{'name': '#1K',
 'updated_at': {
     'datetime': '2015-06-16 22:10:20',
     'timezone': 'UTC'
 },
 'lineage': [],
 'qr': 'https://www.cannabisreports.com/strain-reports/unknown-breeder/1k/qr-code.svg',
 'seed_company': {
     '__class__': 'SeedCompany',
     'ucpc': '9XVU700000000000000000000',
     'link': 'https://www.cannabisreports.com/api/v1.0/seed-companies/9XVU700000000000000000000'
 },
 'genetics': {'__class__': 'StrainGenetics'},
 'created_at': {'datetime': '2015-06-16 22:10:20', 'timezone': 'UTC'},
 'reviews': {
     '__class__': 'GeneralOverview',
     'link': 'https://www.cannabisreports.com/api/v1.0/strains/9XVU7PZUEC000000000000000/reviews'
 },
 'image': 'https://www.cannabisreports.com/images/strains/no_image.png',
 'ucpc': '9XVU7PZUEC000000000000000',
 '__class__': 'Strain',
 'url': 'https://www.cannabisreports.com/strain-reports/unknown-breeder/1k',
 'children': {
     '__class__': 'GeneralOverview',
     'count': 2,
     'link': 'https://www.cannabisreports.com/api/v1.0/strains/9XVU7PZUEC000000000000000/children'
 },
 'link': 'https://www.cannabisreports.com/api/v1.0/strains/9XVU7PZUEC000000000000000'
}

在某些情况下,例如通过UCPC浏览记录时,预期将返回单个实例。在这些情况下,直接使用该单例而不是迭代。

>>> strain = cr.Strains.get('9XVU7PZUEC000000000000000')
>>> strain
<cannabis-reports.models.strain.Strain object at 0x101723e50>
>>> strain.serialize()
{'name': '#1K',
 'updated_at': {
     'datetime': '2015-06-16 22:10:20',
     'timezone': 'UTC'
 },
 'lineage': [],
 'qr': 'https://www.cannabisreports.com/strain-reports/unknown-breeder/1k/qr-code.svg',
 'seed_company': {
     '__class__': 'SeedCompany',
     'ucpc': '9XVU700000000000000000000',
     'link': 'https://www.cannabisreports.com/api/v1.0/seed-companies/9XVU700000000000000000000'
 },
 'genetics': {'__class__': 'StrainGenetics'},
 'created_at': {'datetime': '2015-06-16 22:10:20', 'timezone': 'UTC'},
 'reviews': {
     '__class__': 'GeneralOverview',
     'link': 'https://www.cannabisreports.com/api/v1.0/strains/9XVU7PZUEC000000000000000/reviews'
 },
 'image': 'https://www.cannabisreports.com/images/strains/no_image.png',
 'ucpc': '9XVU7PZUEC000000000000000',
 '__class__': 'Strain',
 'url': 'https://www.cannabisreports.com/strain-reports/unknown-breeder/1k',
 'children': {
     '__class__': 'GeneralOverview',
     'count': 2,
     'link': 'https://www.cannabisreports.com/api/v1.0/strains/9XVU7PZUEC000000000000000/children'
 },
 'link': 'https://www.cannabisreports.com/api/v1.0/strains/9XVU7PZUEC000000000000000'
}

请注意,所有API响应都将被解析,并从结果中创建适当的对象。这些对象都在cannabis-reports.models包中定义。

已知问题/路线图

  • 本ReadMe可能需要改进

  • 在端点上进行更多测试。经常遇到速率限制,并且尚未收到API密钥。

鸣谢

大部分doc字符串直接来自Cannabis Reports API文档

贡献者

维护者

LasLabs Inc.

本模块由LasLabs Inc.维护。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

cannabis-reports-0.1.1.tar.gz (138.7 kB 查看哈希)

上传时间 源代码

由以下提供支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面