Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tracking issue: array API standard document #27

Closed
29 of 31 tasks
rgommers opened this issue Aug 27, 2020 · 3 comments
Closed
29 of 31 tasks

tracking issue: array API standard document #27

rgommers opened this issue Aug 27, 2020 · 3 comments

Comments

@rgommers
Copy link
Member

rgommers commented Aug 27, 2020

Timeline (high-level)

  • Aug 31: array RFC draft complete enough for final internal review
  • Sep 15: array RFC published + array-api repo public

Array API standard document intermediate steps:

Aug 10:

Aug 17:

  • Purpose and scope (status: scope part (Add Scope and Stakeholders sections #22) merged, "how to adopt" (Add a description of how to adopt the API #33) under review)
  • Type signatures (status: merged)
  • Static typing (status: Add section on static typing #62 for review)
  • Indexing (status: under review)
  • API signatures: linear algebra (status: first set of functions merged, others like svd and qr TODO)
  • API signatures: sorting (status: under review)
  • API signatures: searching (status: merged)
  • Accuracy (status: under review)
  • Methodology: data on existing API design & usage (status: under review)

Aug 24:

  • Array duck typing
  • API signatures: array creation (status: Add use cases section #35 merged, a few functions (mainly meshgrid) to be added)
  • API signatures: array manipulation (status: under review)
  • API signatures: set functions (status: under review)
  • API signatures: logical functions (status: merged)
  • C API (status: WIP content in issue WIP: strategies for C/Cython API usage #51)
  • Use cases (status: merged)
  • Assumptions (status: merged)
  • API signatures: math, non element-wise

Aug 31:

Added later:

@saulshanabrook saulshanabrook pinned this issue Sep 7, 2020
@rgommers
Copy link
Member Author

rgommers commented Sep 10, 2020

Current status:

There are 11 open PRs that are either (close to) ready for merging or that need input on specific choices to be made. I'll comment only on the ones that need action:

Still TODO:

@rgommers
Copy link
Member Author

rgommers commented Oct 22, 2020

A text search for "TODO" on master:

$ grin -C2 TODO

./API_specification/index.rst:
   28 - .. _api-versioning:
   29 - 
   30 : TODO: add `__array_api_version__` (or similar) version here, and the way to
   31 +       retrieve it - see https://github.com/data-apis/workgroup/issues/24
./API_specification/set_functions.md:
   37 -     -   If `True`, the function must sort the unique elements in ascending order before returning as output. If `False`, the function must sort the unique elements in the same order that they occur in `x`. Default: `False`.
   38 - 
   39 :         _TODO: sort order needs discussion. See [gh-40](https://github.com/data-apis/array-api/issues/40)_
   40 + 
   41 + #### Returns
./design_topics/data_interchange.md:
   57 - 
   58 - 
   59 : TODO: design an appropriate Python API for DLPACK (`to_dlpack` followed by `from_dlpack` is a little clunky, we'd like it to work more like the buffer protocol does on CPU, with a single constructor function).
   60 + 
   61 : TODO: specify the expected behaviour with copy/view/move/shared-memory semantics in detail.
   62 + 
   63 + 
./design_topics/device_support.md:
    3 - # Device support
    4 - 
    5 : TODO. See https://github.com/data-apis/array-api/issues/39
    6 + 
./future_API_evolution.md:
    6 - the process documented at:
    7 - 
    8 : TODO: link to specific document in https://github.com/data-apis/governance once
    9 + it is available.
   10 + 
./purpose_and_scope.md:
   42 - 
   43 - The concrete set of functionality that is in scope for this version of the
   44 : standard is shown in this diagram (_TODO: update after deciding on how optional
   45 + extensions are dealt with_):
   46 + 
./verification_test_suite.md:
    5 - ## Measuring conformance
    6 - 
    7 : TODO: explain how to use the test suite to measure and report on the level of
    8 + (non-)conformance.

EDIT: some of these are already decided on and can easily be fixed up. The important ones that need significant work are:

  • DLPACK: design a new Python API, specify move/copy/shared-mem semantics better
  • device support
  • how to deal with optional extensions

EDIT 2: down to:

$ grin -C2 TODO
./API_specification/set_functions.md:
   37 -     -   If `True`, the function must sort the unique elements in ascending order before returning as output. If `False`, the function must sort the unique elements in the same order that they occur in `x`. Default: `False`.
   38 - 
   39 :         _TODO: sort order needs discussion. See [gh-40](https://github.com/data-apis/array-api/issues/40)_
   40 + 
   41 + #### Returns
./design_topics/data_interchange.md:
   57 - 
   58 - 
   59 : TODO: design an appropriate Python API for DLPACK (`to_dlpack` followed by `from_dlpack` is a little clunky, we'd like it to work more like the buffer protocol does on CPU, with a single constructor function).
   60 + 
   61 : TODO: specify the expected behaviour with copy/view/move/shared-memory semantics in detail.
   62 + 
   63 + 
./design_topics/device_support.md:
    3 - # Device support
    4 - 
    5 : TODO. See https://github.com/data-apis/array-api/issues/39
    6 + 
./purpose_and_scope.md:
   42 - 
   43 - The concrete set of functionality that is in scope for this version of the
   44 : standard is shown in this diagram (_TODO: update after deciding on how optional
   45 + extensions are dealt with_):
   46 + 

@rgommers
Copy link
Member Author

I think we're good here, all PRs are merged and there are TODO comments for the things that are left to do. No need for this tracking issue anymore.

@rgommers rgommers unpinned this issue Nov 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant