* Revise display module. TODO: more comprehensive tests. Especially around mimebundles.
* Markdown corrections in example code in display.py docstrings.
* Minor adjustments and a much more comprehensive test-suite for the display module.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Updated docstring in __init__.py.
* Remove unused imports and black-ify the source.
* Refactor, docs and tests for the Event class in events.py.
* Refactored, simplified and documented @when decorator.
* Extensive test suite for @when decorator.
* Documentation and minor refactoring of the fetch.py module. TODO: Check tests.
* Refactored and more comprehensive tests for the fetch module.
* Add/clarify Event related interactions. Thanks @Neon22 for the suggestion.
* Refactor, document ffi.py module.
* More complete passing tests for ffi.py.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add docstrings to flatted.py. Since this is actually an external(ish) module, tests for it should be in the external repository from which this code is derived.
* Minor docstring cleanup in ffi.py.
* Added docstrings and clarifications to fs.py.
* Add very limited test suite for fs.py.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Rename magic_js.py to context.py, add comprehensive docstrings, and rename certain internal things for readability and comprehension.
* Fix dict check in ffi.py.
* Rename test_js_modules to test_context.
* Fix test configuration aftert rename.
* Docs and refactor of media.py.
* Comprehensive tests for media.py.
* Refactor and docstrings for storage.py
* Appease the ruff gods.
* Further storage.py changes and a more complete test suite for storage.
* Refactor and docstrings for the util.py module. Fixed a problem with is_awaitable not handling async bound methods.
* More comprehensive test suite for util.py. Updated to latest upytest.
* A major refactoring, documenting and simplification of the web.py module substantially reducing it in size and complexity with only a few minor (edge) behavioural changes.
Softly breaking changes include:
- An element's classes are just a set.
- An element's styles are just a dict.
- Explicitly use `update_all` with ElementCollections (simpler and greater flexibility).
- Extract a child element by id with `my_container["#an-id"]`
* Updates and additions for a more comprehensive test suite for the web.py module. All code paths are exercised and checked.
* Black tidy-ups in test suite.
* Refactor and documentation for websocket.py module.
* Tests for websocket.py. Disabled due to playwright flakiness, but they all pass in a local browser.
* Refactor and documentation of workers.py module.
* Added tests for workers.py module. Updated related test suite to account for the new named worker in the test HTML.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor away remaining "is not None" not caught before.
* Remove check-docstring-first because it interferes with the auto-generated documentation (where triple quoted strings are used to document module attributes).
* Careful Markdown changes so the docstrings render properly in the PyScript docs.
* Typo correction.
* More typo corrections and clarifications.
* Add clarification about SVG handling to _render_image docstring.
* Add DOM event options to the @when decorator (with new tests to exercise this functionality).
* Fixes default value for options if no options passed into @when.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Fix#2372 - Allow custom TOML parser
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Updated polyscript to bring in latest MicroPython
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* WebSocket and PyWorker fixes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add media Python tests
* Add media js test
* Remove try except blocks
* Make Python tests more end-to-end
* Add media Python tests
* Add media js test
* Remove try except blocks
* Make Python tests more end-to-end
* MicroPython explorations.
* Fix websocket tests, so they just skip.
* Fix MicroPython media tests, if no permission is given for a video device.
---------
Co-authored-by: Nicholas H.Tollervey <ntoll@ntoll.org>
Co-authored-by: Andrea Giammarchi <andrea.giammarchi@gmail.com>
* Fix#2304 - Make pyimport work as expected
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Ruff fixes
* Ruff fixes
* from __future__ import annotations breaks MicroPython
* noqa: FURB188 because there is no str.replacesuffix() in MicroPython
* Add ruff to pre-commit
* introducing pyscript.fs namespace/module
* Added proper rejection when showDirectoryPicker is not supported
* Improved exports to make explicit import in 3rd party modules easier
* implemented `fs.unmount(path)`:
* verified that RAM gets freed
* allowed to mount different handlers within the same path through different `id` as that's the Web best way to do so
* Introducing <script type="py-game">
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add two unit tests for illustrative purposes.
* Radical simplification of @when, more tests and some minor refactoring.
Handle ElementCollections, tests for ElementCollection, make serve for running tests locally.
* Skip flakey Pyodide in worker test (it works 50/50 and appears to be a timing issue).
* Ensure onFOO relates to an underlying FOO event in an Element.
* Minor comment cleanup.
* Add async test for Event listeners.
* Handlers no longer require an event parameter.
* Add tests for async handling via when.
* Docstring cleanup.
* Refactor onFOO to on_FOO.
* Minor typo tidy ups.
* Use correct check for MicroPython.
---------
Co-authored-by: Andrea Giammarchi <andrea.giammarchi@gmail.com>
* WIP
* Add a "donkey" worker that execs or evaluates all the things
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Remove duplicate LICENSE.
* Remove un-userd pyscript.sw directory and its content.
* Remove ReadTheDocs settings (unused).
* Remove un-used pyproject.toml
* Remove now unused CHANGELOG. Changes now tracked via release notes on GitHub.
* Updated / cleaned release page template and associated GH actions.
* Update prettierignore to remove un-needed refs.
* Move troubleshooting into correct README.
* Add reason for the index.html
* Rename the "pyscript.core" directory to "core".
* Update PR template because CHANGELOG is no longer used.
* Codespell configuration in pyproject.toml.
* Update pyscript.core -> core in .githubignore
* Remove test-results/.last-run.json. This should be ignored by git.
* Pin nodejs version.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>