跳转到主要内容

一个用于编码/解码 ODB-2 文件的 Python 接口。

项目描述

pyodc

PyPI Build Status Documentation Status Code style: black Licence

一个用于编码/解码 ODB-2 文件的 Python 接口。

该软件包包含同一库的两种不同实现

  • pyodc 是一个纯 Python 编码器和解码器,用于 ODB-2 数据,它将数据编码到,并解码为 pandas 数据帧
  • codd 是与 pyodc 相同 API 的实现,依赖于 ECMWF 的 odc 库,并且具有 非常 优秀的性能

文档 变更日志

依赖项

必需

  • Python 3.x

可选

为了使 codc 正常工作,必须在系统中编译和安装 odc 库,并将其作为共享库通过 CFFI 机制提供给 Python。有多种方法可以使库对 CFFI 可见:可以将其作为系统库安装,可以将安装前缀传递给 odc_DIRODC_DIR 环境变量,或者可以将库目录包含在 LD_LIBRARY_PATH 中。

安装

pip install --user pyodc

检查模块是否安装正确

python
>>> import pyodc
>>> import codc # optional

用法

在仓库根目录提供了一个介绍性的 Jupyter Notebook,其中包含有用的用法示例。

git clone git@github.com:ecmwf/pyodc.git
cd pyodc
jupyter notebook Introduction.ipynb

开发

运行单元测试

要运行单元测试,请确保首先安装了 pytest 模块。

python -m pytest

构建文档

要本地构建文档,请首先安装 Python 依赖项。

cd docs
pip install -r requirements.txt
make html

构建的 HTML 文档将可在 docs/_build/html/index.html 路径下访问。

许可证

本软件根据 Apache 许可证 Version 2.0 许可,可在 https://apache.ac.cn/licenses/LICENSE2.0 获取。

在适用本许可证的情况下,ECMWF 不放弃因其作为国际组织而享有的特权与豁免,也不受任何司法管辖。

pyodc 的变更日志

1.1.3

  • 改进了 github/ci 集成

1.1.2

  • 修复了 #6:pip 安装破坏了 codc

1.1.1

  • 修复了 ODB-534:PyPI 软件包缺少 CHANGELOG

1.1.0

  • 修复了 ODB-533:正确解码以缺失值为起始的数据
  • 修复了 ODB-530:在纯 Python 实现中,位字段列检查返回不完整的数据
  • 将所需的 odc 版本号提升到 1.4.0
  • codc 接口添加了缺失的帧属性访问器
  • 修复了 ODB-525:在 macOS 上设置 odc 前缀变量(odc_DIR)不符合预期
  • 修复了 ODB-524:在较旧的 Python 版本中,解码帧属性中的键和值互换了
  • 添加了测试标志,可按需跳过 codc 测试(PYODC_SKIP_CODC
  • 修复了 ODB-523:当字符串作为文件传递时,encode_odb() 中省略了额外的属性参数
  • 修复了软件包设置元数据
  • 添加了文档

1.0.4

  • 正确支持常量编解码器
  • 按列短名称解码

1.0.3

  • 使用 odc/ODC_DIR 指定 odc 库位置
  • 正确设置了 setup.py 依赖项,包括 pandas
  • 使用 odb_migrator 支持从 ODB1 编码的缺失 ConstantString 值

1.0.2

  • 字符串缺失值应该是 None 而不是 NaN
  • 重构单次行为(read_odb_oneshot --> read_odb(..., single=True)
  • 当找不到 odc 时,抛出正确的错误
  • codb.py 分离成完整的 codc 模块
  • 修复了各种错误

1.0.1

  • 修复了自动选择整数字节编解码器的问题

1.0.0

  • 初始版本

项目详情


下载文件

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

源分布

pyodc-1.4.1.tar.gz (37.0 kB 查看哈希值)

上传于 源代码

支持者