Blosc / Blosc/python-blosc2

Array API compliance

オープン
#466 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement help wanted
主要言語
Python
スター
211
フォーク
58
平均マージ
1日 17時間
マージ済み PR(30日)
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
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
20/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。