使用python通过哈佛法学院图书馆访问所有美国判例法。

pyclerk的Python项目详细描述


皮克莱克

使用python通过哈佛法学院图书馆Caselaw Access Project访问所有美国判例法。在

PyClerk是一个Python包,它简化了对caselawaccess项目的webapi(CAPAPI)的访问。它的目标是减少访问CAPAPI所需的开销,从阅读其详细而密集的文档到导入python包并尝试几行代码。在

当前的alpha版本为Cases端点提供了这种简单性,特别是对于单case API。虽然与完整的CAPAPI相比,这一功能有点有限,但是这个初始版本将允许用户在不离开Python的情况下访问CAP的核心数据。在

试用PyClerk

已完成的项目托管在Python Package Index (PyPi)。在

安装和试用pyclarker很容易。您需要安装Python3及其包管理器'pip'。有些机器默认安装了python2作为操作系统依赖项。对于这些,您可能需要将指令中的pip替换为pip3。在终端窗口中,或在python虚拟环境中(如果愿意):

  • 安装PyClerk:pip install pyclerk

  • 启动Python控制台:python3

  • 导入pyclerk并创建一个pyclerk实例:

    importpyclerkpc=pyclerk.PyClerk()json,body=pc.cases.single_case(435800)# This returns a specific case, with internal id # 435800
  • 最后一个命令将返回两个数据结构json和{}

  • json是Caselaw Access项目API的内容答复,假设API返回有效的状态代码。否则,将引发相应的错误。它包含一个json对象的case元数据,其中case的内容作为这个结构中的一个条目,用bytestring表示。在

  • body是为了便于在Python中操作而设计的case的内容。在

变得更先进

  • 从这里开始,探索docs扩展以包含新参数、新类型的搜索等!在
  • 或者,浏览CAPAPI root以确定项目所需的其他功能。在
  • 也可以通过PyClerk直接与API接口,而不使用自定义函数或类:
^{pr2}$

扩展pyclarker

pyclark仍在积极开发中。这意味着您可能会发现一个bug或确定您的项目需要的新功能。caselawaccess项目还可能将其API更新到新版本或更改各种功能。在

  • 如果发现错误,请提交问题here。在
  • 如果你需要一个新的特性,你可以提交一个特性请求作为一个问题,或者你可以自己去实现它!只需分叉项目,添加特性,然后提交请求。我想找人帮忙。在
  • 如果问题出在CAPAPI本身,请让他们知道here。在

文档

文档对于这个项目来说是非常重要的——整个目标是让新的程序员易于使用。这需要好的文档!在

文档的呈现版本可通过ReadTheDocs获得。它包括高级描述和概述(如上面的安装和首次使用说明)以及随包中的类和函数一起呈现的docstring版本。在

重新编写文档:

  • 生成最新的原始文档:

sphinx-apidoc -e -o docs/source/api pyclerk

sphinx-apidoc -e -o docs/source/api/endpoints pyclerk/endpoint_types

  • 生成文档:make html

未来增长

未来增长的一个明显的例子是包含所有可用的端点,例如:

  • 散装
  • 引用
  • 法庭
  • 管辖权
  • ngrams公司
  • 记者
  • 用户历史记录
  • 其他人可以选择任何帽子。在

此外,随着我们更好地定义这类数据的最佳用途,PyClerk应该增加到包括将API数据处理成用户最想要的格式的管道。这可能在wi线我列出的一些示例处理函数,或者它可能是最终用户创建的一些我从未想到的东西。在

当CAP决定迁移到API的v2版本时,PyClerk可能还需要更新。在

源代码中可以扩展的区域用#FUTURE标记。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java 401在API URL上带有声明性Http客户端,并带有@Secured(SecurityRule.IS_ANONYMOUS)注释   java如何在Android中创建计时器?   Java8WebStart安全弹出窗口   java会通过以下两种方式导致堆空间耗尽吗?   java项目调度GA:染色体的高效数据结构   java Apache POI:如何在Excel文件中插入列   java在JRE系统库中每个jar扮演什么角色   java如何在抽象类中执行@mock(不是注入mock)   java如何使用opensearch和Lucene发送搜索查询?   java在ApachePOI中处理空列   java广播接收器未接收到目标   java错误ELF类:ELF类64(可能原因:体系结构字宽不匹配)   java调用Web服务(SSL)时出错   用于iot集线器设备固件更新的java Rest API   通过xslt将xml转换为文本文件时引发java异常   Java linux打印问题   Java XML转换器重复行   java从另一个类的方法将数组导入mainActivity类   多线程选择与Java交互的线程   我想在java程序中打印以下格式的文件: