这个库允许您使用python与大麻报告交互。
cannabis-reports的Python项目详细描述
Python Cannabis Reports
这个库允许您使用python与大麻报告api交互。
Installation
使用pip和pypi安装最简单:
pip install cannabis-reports
如果您想贡献,或者更喜欢git:
git clone https://github.com/LasLabs/python-cannabis-reports.git cd python-cannabis-reports pip install .
Usage
CannabisReports object是 与cannabisreports api的交互。
Connection
连接到cannabisreports api需要一个api密钥,该密钥由 在您的CannabisReports帐户中。在下面的示例中,我们的键是API_KEY。
fromcannabis-reportsimportCannabisReportscr=CannabisReports('API_KEY')
API Endpoints
cannabisreports api端点在实例化的 CannabisReports对象。可用的端点是:
也可以从CannabisReports的__apis__属性查看它们:
>>> cr.__apis__ {'Strains': <CannabisReports.auth_proxy.AuthProxy object at 0x10783ddd0>, }
api的使用非常简单,只需使用所需的参数和 迭代结果:
forstrainincr.Strains.list():print(strain)print(strain.serialize())break
上面的输出如下所示:
# This is the Strain object itself (first print)<cannabis-reports.models.strain.Strainobjectat0x10783df10># 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浏览记录的情况下, 应该是辛格尔顿。在这些情况下,将直接使用singleton 而不是迭代
>>>strain=cr.Strains.get('9XVU7PZUEC000000000000000')>>>strain<cannabis-reports.models.strain.Strainobjectat0x101723e50>>>>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 package中定义的。
Known Issues / Road Map
- 此自述文件可能需要工作
- 在端点上进行更多测试。一直在限价,还没有收到 和API密钥。