Commit Graph

22 Commits

Author SHA1 Message Date
Gyeongjae Choi 2046310460
ENH Support SDL-based packages and add pyxel (#3508)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
2023-03-30 08:18:31 +00:00
Roman Yurchak de7ac903e7
DOC Remove pyodide-build CLI from the documentation (#3699)
[skip ci]
2023-03-27 09:58:13 +02:00
Hood Chatham 861a758c3b
Add new `pyodide.ffi` JavaScript submodule with PyProxy subtypes (#3523)
This creates a new `pyodide.ffi` submodule and adds a bunch of new subclasses of
`PyProxy` to it.

There are three stages in which we are concerned with the behavior of the
objects we define:
1. at time of static typechecks
2. at execution time
3. when generating docs

Prior to this PR, the subtypes of PyProxy only work well for static type checks,
they work acceptably at runtime (just don't let the user access them), and the
docs don't look that great. This PR is primarily intended to improve the docs
for PyProxy, but they also make execution time checks work better: you can now
say `obj instanceof pyodide.ffi.PyCallable` instead of `obj.isCallable()` which
I is easier to understand and to cross reference against the documentation. I am
marking `isCallable` as deprecated.

I also made a bunch of edits and improvements to the docs.

I have deprecated `PyProxyCallable` in favor of `pyodide.ffi.PyCallable` and
`PyProxy.isCallable` in favor of `obj instanceof pyodide.ffi.PyCallable`.
`PyBuffer` has been renamed to `pyodide.ffi.PyBufferView` and a new `PyBuffer`
has been created which is a subtype of `PyProxy`.
2023-02-05 19:35:08 -08:00
Hood Chatham 20e92c37ca
DOCS, MAINT: Replace :any: xrefs with more specific types (#3531)
This leads to more consistent rendering (functions and methods get parens after
them) and reduces chances of warnings about getting the wrong link. It is also
possible to use `~fully.quallified.name` to just show `name` if we use a specific
reference type, but it doesn't work with `any` for some reason.
2023-02-01 11:00:58 -08:00
TheOnlyWayUp 47fad2e91f
DOCS Update micropip docs link on Website (#3494)
[skip ci]
2023-01-23 17:58:38 +01:00
Hood Chatham e90154f3e2
DOCS Use autodoc typehints and make various improvements to autodoc rendering (#3405)
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
2023-01-04 11:51:09 +02:00
Gyeongjae Choi 4114f20986
DOC Fix various sphinx warnings (#3391)
Fix various sphinx build warnings.

I removed **all cross-references** in the changelog document. It causes trouble 
whenever we make an API change.
For example, Hood did some great work of splitting JsProxy classes into subclasses
in this release, but the changelog of older versions still contains cross-references to
`JsProxy.<method>` which doesn't exist anymore. It doesn't make sense to change it
to e.g. `JsBuffer.<method>` or `JsArray.<method>` as those classes are not available in
that version, so I think the reasonable option would be not using cross-references.
2022-12-27 19:17:23 -08:00
Roman Yurchak fdbcc087e2
Add Pyodide CLI documentation (#3367)
Co-authored-by: Gyeongjae Choi <def6488@gmail.com>
2022-12-22 11:24:28 +01:00
Roman Yurchak 5f6ecca68d
Update to micropip v0.2.0 (#3347)
Co-authored-by: Gyeongjae Choi <def6488@gmail.com>
2022-12-14 09:11:19 +01:00
Hood Chatham e4edd7a4d2
Make various JsProxy classes implement issubclass and isinstance more helpfully (#3277)
Before we had a single `JsProxy` documentation class. Apparently mypy treated
it as `Any`. It had a bunch of methods on it that may or may not appear in
any specific ` sProxy`.

This does two things:

1. Split up `JsProxy` class into several synthetic subclasses like `JsArray`,
`JsBuffer` etc. These work much better with mypy, they should also improve
documentation layout and it helps when different subclassess have different
methods with the same name (e.g., `JsArray` and `JsMap` both will have `pop`
methods).

2. Make `isinstance` and `issubclass` work correctly both with synthetic `JsProxy`
classes like `JsArray`, `JsBuffer` etc and with `type(an_actual_jsproxy)`.

This cleans up the bootstrapping mess in `_importhook` because the `JsProxy`
from `_core_docs` works fine for instance checks now. 

I had to make changes to various other Python files 
because mypy now understands the types better and noticed that there were type errors.
For instance, this fixed several minor mistakes in the types in `http.py`.
2022-11-22 17:04:10 -08:00
Gyeongjae Choi 7231cab3ff
DOC Fix doc warnings (#2898) 2022-07-25 13:30:56 +09:00
Hood Chatham 516364e468
Move more functions into submodules of pyodide (#2790)
This resolves #2689.
2022-06-28 06:31:58 -07:00
Grimmer 89682dabfe
DOC Replace "Javascript" with "JavaScript" in documents and comments [skip ci] (#1860) 2021-09-29 10:01:53 +02:00
Hood Chatham ef88ceeb5d
Run prettier to format documentation source files [skip ci] (#1752) 2021-07-27 01:00:27 +02:00
Roman Yurchak 4e9d10833e
BLD Create an installable pyodide-build package (#1566) 2021-05-03 20:51:11 +02:00
Roman Yurchak 4c1024545f
DOC Add pyodide_build CLI documentation (#1471) 2021-04-15 18:54:26 +02:00
Hood Chatham 1781b8760f
DOCS Edits to Javascript API docs (#1427) 2021-04-09 20:30:40 +02:00
Hood Chatham 3e36ac2c30
DOCS Documentation about type translation of errors (#1435) 2021-04-06 10:14:07 +02:00
Hood Chatham 150c1f6b45
API Add "loadPyodide" function (#1363)
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
2021-04-01 00:43:46 +02:00
Hood Chatham 0b5c80862d
DOCS API docs for pyproxy (#1371) 2021-03-25 09:26:07 -07:00
Hood Chatham e408dede25
Automatically generatate C method->ml_doc docstrings from Python (#1352)
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
2021-03-24 10:24:06 +01:00
Hood Chatham ccd0f1335b
DOC Implement autosummary for js autodoc, use autodocsumm for py autodoc (#1354) 2021-03-22 09:39:09 +01:00