Blosc / Blosc/python-blosc2

Array API compliance

未关闭
#466 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement help wanted
主要语言
Python
星标
211
派生
58
平均合并
1 天 17 小时
30 天内合并 PR
6

描述

The following is a summary of the failing tests in the array-api-tests suite. When you have managed to make the test pass, mark the box next to the file.

There are three main groups of tests:
1 - lazy expression and chunking related things (unique_counts, cumulative_sum etc.)
2 - indexing related things (chiefly implement fancy indexing for .slice method)
3 - improving numexpr (add op_codes such as ge_bcd etc.)

- [ ] ``test_utility_functions.py`` : add ``blosc2.diff`` function, ~``squeeze`` needs to be modified to return a view (at C-level, follow expand_dims)~
- [x] ~``test_statistical_functions.py`` : add ``cumulative_sum`` and ``cumulative_prod``~
- [ ] ``test_special_cases.py``: everything
- [ ] ``test_sorting_functions.py``: add ``argsort``
- [ ] ``test_signatures.py`` : everything
- [ ] ``test_set_functions.py``: add ``unique_counts``, ``unique_inverse``, ``unique_all``, ``unique_values``
- [ ] ``test_searching_functions.py``: ~add ``argmax``, ``argmin``~, ``where`` attribute to ``NDArray``, ``nonzero``, ``count_nonzero``
- [ ] ``test_operators_and_elementwise_functions.py``: everything
- [ ] ``test_manipulation_functions.py``: SERIOUS (Fatal Python error: Floating-point exception)
- [ ] ``test_linalg.py``: haven't implemented most things (see #476), which is fine, but some tests also fail because numexpr needs a ge_bcd opcode.
- [x] ~``test_inspection_functions``: passes all~
- [ ] ``test_indexing_functions.py``: need to improve``take`` and ``take_along_axis`` (latter fails tests)
- [ ] ``test_has_names`` : fails 23 tests, need to add functions listed in comment below
- [ ] ``test_fft.py``: skips all tests
- [ ] ``test_data_type_functions.py``: a few different things (11 tests), add ``broadcast_arrays``
- [ ] ``test_creation_functions.py``: add ``reshape`` for N-D arrays.
- [x] ~``test_constants.py``: passes all~
- [ ] ``test_array_object.py``: one test takes too long for some reason sometimes

In addition, it would be nice to revamp the documentation to mirror the array API layout and classification of functions/classes/methods etc.

In order to run the tests, follow these steps:
1. Git clone array-api test suite https://github.com/data-apis/array-api-tests
2. Navigate to array-api-tests and ``$ pip install -r requirements.txt`` into environment.
3. Return to home directory, git clone blosc2, navigate to resulting directory and ``pip install -e .`` in your environment.
4. Run tests from python-blosc2 directory via
``ARRAY_API_TESTS_MODULE=blosc2 pytest ../array-api-tests/array_api_tests/test_has_names.py ``

贡献指南

打开贡献指南

调研方向

先按照说明安装 array-api-tests 和 python-blosc2,然后运行为 test_has_names.py 提供的 pytest 命令。检查列出的失败测试套件,包括 test_utility_functions.py、test_sorting_functions.py、test_set_functions.py 和 test_indexing_functions.py,并选择一个范围较小的组。选定的 array-api-tests 通过且对应的检查清单项目已标记,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
data
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
20/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。