此库允许您使用Python与Cannabis Reports交互。
项目描述
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文档
贡献者
Dave Lasley <dave@laslabs.com>
维护者
本模块由LasLabs Inc.维护。
项目详情
关闭
cannabis-reports-0.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d15d1506f93b129ad5dcc591d8297ffd5a642226019aaca804385f1072ddf595 |
|
MD5 | 267d67aebd7445faa6b01fcc04f4391a |
|
BLAKE2b-256 | ea225366d6851532d2911437b3174469242944747150623d5e260484671950a8 |