一个用于编码/解码 ODB-2 文件的 Python 接口。
项目描述
pyodc
一个用于编码/解码 ODB-2 文件的 Python 接口。
该软件包包含同一库的两种不同实现
- pyodc 是一个纯 Python 编码器和解码器,用于 ODB-2 数据,它将数据编码到,并解码为 pandas 数据帧
- codd 是与 pyodc 相同 API 的实现,依赖于 ECMWF 的 odc 库,并且具有 非常 优秀的性能
依赖项
必需
- Python 3.x
可选
为了使 codc
正常工作,必须在系统中编译和安装 odc
库,并将其作为共享库通过 CFFI 机制提供给 Python。有多种方法可以使库对 CFFI 可见:可以将其作为系统库安装,可以将安装前缀传递给 odc_DIR
或 ODC_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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | faf5f348d053a0b5e8a4c14fe01f0fb2fbf8729bee1dcdadd660b23d01e4b8ab |
|
MD5 | abe5fde31ec26f6f4e4b13c90d58c734 |
|
BLAKE2b-256 | 42f8a785bf6539e69ca602dcde06b09187c5b0c6a33bb63eebdeda7c25ec905b |