- Notifications
You must be signed in to change notification settings - Fork54
RFC document, tooling and other content related to the array API standard
License
data-apis/array-api
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This repository contains documents, tooling and other content related to theAPI standard for arrays (or tensors).
These are relevant documents related to the content in this repository:
- Rendered HTML docs for latest version
- Consortium announcement blog post
- Blog post on first release of draft array API standard
SeeCONTRIBUTING.md for how to go about contributing tothis array API standard.
To coordinate activities and facilitate discussion across the Python ecosystem, the Consortium for Python Data API Standards holds an open meeting every other week on Thursdays throughout the year.
This meeting is open to the public. So if you have questions about the array API standard, pain points, feature requests, or are just wanting to listen in, we encourage you to join the public call to connect with Consortium members, stay updated on the latest Consortium activities, and chat with others in the community.
Everyone is welcome—drop in and say hello!
UTC 17:00 (05:00 PM) every other Thursday:
| Timezone | Date/Time |
|---|---|
| US / Pacific | Thu 10:00 (10:00 AM) |
| US / Mountain | Thu 11:00 (11:00 AM) |
| US / Central | Thu 12:00 (12:00 AM) |
| US / Eastern | Thu 13:00 (01:00 PM) |
| EU / Western | Thu 18:00 (06:00 PM) |
| EU / Central | Thu 19:00 (07:00 PM) |
| EU / Eastern | Thu 20:00 (08:00 PM) |
| Moscow | Thu 20:00 (08:00 PM) |
| Chennai | Thu 22:30 (10:30 PM) |
| Hangzhou | Fri 01:00 (01:00 AM) |
| Tokyo | Fri 02:00 (02:00 AM) |
| Sydney | Fri 03:00 (03:00 AM) |
- Public calendar:https://calendar.google.com/calendar/embed?src=8fe9013a2cb5d3409bb236d04eca73fa5227eac01c02ea8f6bc4a6a3cf982fa3%40group.calendar.google.com
- See the public calendar for information on how to join!
- Have specific things to discuss? Feel free to comment on#853 or the linked agenda document!
To install the local stubs and additional dependencies of the Sphinx docs, youcan usepip install -r doc-requirements.txt. Then just runningmake at theroot of the repository should build the whole spec website.
$ pip install -r doc-requirements.txt$ make$ ls _site/2021.12/ draft/ index.html latest/ versions.json
The spec website is comprised of multiple Sphinx docs (one for each spec version),all of which exist inspec/ and rely on the modules found insrc/ (mostnotablyarray_api_stubs). For purposes of building the docs, thesesrc/modules do not need to be installed as they are added to thesys.path atruntime.
To build specific versions of the spec, runsphinx-build on the respectivefolder inspec/, e.g.
$ sphinx-build spec/2012.12/ _site/2012.12/
Additionally,make draft aliases
$ sphinx-build spec/draft/ _site/draft/
To build the whole website, which includes every version of the spec, you canutilizemake spec.
The Sphinx doc atspec/draft/ should be where the in-development spec resides,withsrc/array_api_stubs/_draft/ containing its respective stubs. A specrelease should involve:
Renaming
src/array_api_stubs/_draft/tosrc/array_api_stubs/_YYYY_MMRenaming
spec/draft/tospec/YYYY.MMUpdating
spec/YYYY.MM/conf.py...- from array_api_stubs import _draft as stubs_mod+ from array_api_stubs import _YYYY_MM as stubs_mod...- release = "DRAFT"+ release = "YYYY.MM"...
Updating
spec/_ghpages/versions.json{+ "YYYY.MM": "YYYY.MM",...Updating
Makefile...-sphinx-build "$(SOURCEDIR)/PREVIOUS.VER" "$(BUILDDIR)/PREVIOUS.VER" $(SPHINXOPTS)+ -sphinx-build "$(SOURCEDIR)/YYYY.MM" "$(BUILDDIR)/YYYY.MM" $(SPHINXOPTS)- -cp -r "$(BUILDDIR)/PREVIOUS.VER" "$(BUILDDIR)/latest"+ -cp -r "$(BUILDDIR)/YYYY.MM" "$(BUILDDIR)/latest"...
These changes should be committed and tagged. The next draft should then becreated. To preserve git history for both the new release and the next draft:
- Create and checkout to a new temporary branch.
$ git checkout -b tmp
- Make an empty commit.This is required so merging the temporary branch(4.) is not automatic.
$ git commit --allow-empty -m"Empty commit for draft at YYYY.MM"- Checkout back to the branch you are making a spec release in.
$ git checkout YYYY.MM-release
- Merge the temporary branch, specifying no commit and no fast-forwarding.
$ git merge --no-commit --no-ff tmpAutomatic merge went well; stopped before committing as requested- Checkout the
spec/draft/files from the temporary branch.
$ git checkout tmp -- spec/draft/
- Commit your changes.
$ git commit -m"Copy YYYY.MM as draft with preserved git history"You can rungit blame on bothspec/YYYY.MM andspec/draft files to verifywe've preserved history. See thisStackOverflow questionfor more background on the approach we use.
Thanks goes to these wonderful people (emoji key):
This project follows theall-contributors specification. Contributions of any kind welcome!
About
RFC document, tooling and other content related to the array API standard
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.