Blosc / Blosc/python-blosc2

Array API compliance

Aperta
#466 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
enhancement help wanted
Lingua principale
Python
Stelle
211
Fork
58
Merge medio
1g 17h
PR unite (30g)
6

Descrizione

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 ``

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start by installing array-api-tests and python-blosc2 as described, then run the provided pytest command for test_has_names.py. Review the listed failing suites, including test_utility_functions.py, test_sorting_functions.py, test_set_functions.py, and test_indexing_functions.py, and choose a narrowly scoped group. Done means the selected array-api-tests pass and the corresponding checklist item is marked.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
data
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.