Commit Graph

1265 Commits

Author SHA1 Message Date
Madhur Tandon
e284da7c09 Fix clashing test names (#1018)
* rename tests

* rename tests for element
2022-12-06 00:43:02 +05:30
Fábio Rosado
9992096654 Add Element to the API reference (#998) 2022-12-05 15:14:34 +00:00
Mariana Meireles
c696d92f40 Rm MIME types that we don't offer support to (#1013) 2022-12-05 16:09:34 +01:00
Fábio Rosado
af60299324 Improve UX when we can't install a package (#1000) 2022-12-05 14:35:15 +00:00
Fábio Rosado
5aa9135a34 Remove comments from github actions (#1011) 2022-12-02 14:11:59 +00:00
Mariana Meireles
72e23ac86f Rm id use (#912)
* rm unecessary code on output rendering on pyscript.py

* Remove all ids from repl

* Fix problems on rendering outside repl

* fixing tests

* Fixes repl and tes_py_repl

* Fix zz tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* test 864now works consistently

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-12-02 00:59:21 +01:00
Madhur Tandon
33d49ad87d add docstrings for loadFromFile (#997)
* add docstrings for loadFromFile

* address feedback

* add example usage

* fix typo
2022-11-30 20:54:10 +05:30
pre-commit-ci[bot]
aa2335ca2e [pre-commit.ci] pre-commit autoupdate (#990)
updates:
- [github.com/pre-commit/pre-commit-hooks: v4.3.0 → v4.4.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.3.0...v4.4.0)
- [github.com/PyCQA/flake8: 5.0.4 → 6.0.0](https://github.com/PyCQA/flake8/compare/5.0.4...6.0.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-11-30 09:05:26 -06:00
Fábio Rosado
b31428006c Use response.ok instead of just status 200 (#999) 2022-11-30 13:17:48 +00:00
Madhur Tandon
dc1d583791 remove unneeded imports (#991) 2022-11-30 15:16:16 +05:30
Jeff Glass
4299a74e40 Invalidate Importlib's Module Cache on Writes to FS (#996)
* Add runtime.invalidate_module_path_cache() to clear importlib's cache of modules

* Clear cache after [[fetch]], after plugin files download, after plugins setup, and prior to py-script tag execution.
2022-11-29 15:36:23 -06:00
Fabio Pliger
3e408b7baa Python Plugins (#961)
* add test and example files

* update config to include python plugins in build

* add markdown plugin

* remove full pyscript execution from pyodide

* move loading of pyscript.py from pyodide loagInterpreter to main setupVirtualEnv and add function to create python CE plugins

* add plugin class to pyscript.py

* add missing import

* fix plugin path

* add fetchPythonPlugins to PyScriptApp

* remove old comments

* fix test

* add support for python plugins beyond custom elements and add app to python namespace in main

* inject reference to PyScript app onto python plugins

* add example hook onto markdown plugin

* change plugin events logs

* remove unused PyPlugin

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix type import

* add docstring to fetchPythonPlugins

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* rename addPythonPlugin method

* address PR comment

* call python plugins on hooks after the interpreted is ready

* add test for event hooks and split the test in 2 separate plugins to isolte type of plugins tests

* change python plugins initialization and registration, to inject the app from app itself instead of on the plugins themselves

* handle case when plugin cannot load due to missing plugin attribute

* add test for fail scenario when a plugin module does not have a plugin attribute

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add deprecation warning for pyscript objects loaded in global namespace

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove all from global scope

* remove create_custom_element from global scope

* rename create_custom_element to define_custom_element

* rename attributes in define_custom_element and add docstrings

* better handle connect event output

* add warning to py_markdown plugin

* remove debugging logs

* improve tests

* remove debugging log

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove unused import

* add executable shebang

* add pyodide mock module

* fmt and lint

* Update to pyodide.ffi.create_proxy per pyodide v21 api change

* Mock pyodide as package instead of mdoule

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add __init__ to pyodide package

* Update pyscriptjs/src/plugin.ts

fix logger name

Co-authored-by: Antonio Cuni <anto.cuni@gmail.com>

* fix pyodide import but handling the diff in their API change

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* oops, conflict resolution blooper

* Fix failing integration tests

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jeff Glass <glass.jeffrey@gmail.com>
Co-authored-by: Antonio Cuni <anto.cuni@gmail.com>
Co-authored-by: FabioRosado <fabiorosado@outlook.com>
2022-11-28 12:39:31 -06:00
Fábio Rosado
446c131ccb Deprecate pyscript output attribute (#981)
* Deprecate pyscript output attribute

* Update pyscriptjs/src/components/pyscript.ts

Co-authored-by: Antonio Cuni <anto.cuni@gmail.com>

Co-authored-by: Antonio Cuni <anto.cuni@gmail.com>
2022-11-25 18:04:27 +00:00
Fábio Rosado
b062efcf17 Add error codes to our custom errors (#959) 2022-11-25 17:04:10 +00:00
Mariana Meireles
30e31a86ef Fix test and add new ones to close 878 (#971)
* Fix test and add new ones to close 887

* lint
2022-11-25 17:40:36 +01:00
Fábio Rosado
182272e8c7 Add tests for changes to examples/ (#980) 2022-11-24 11:17:52 +00:00
Fábio Rosado
06df21e8e3 Add three new tutorials and small tweaks to docs (#972) 2022-11-24 10:53:22 +00:00
Fábio Rosado
cafebd68f2 Fix failing tests (#978) 2022-11-24 09:46:06 +00:00
woxtu
061d4b3f72 Use a more precise type (#976) 2022-11-23 19:16:26 +00:00
Jason Washburn
6586e79d5e remove deprecated ref in getting started doc (#974) 2022-11-23 16:52:26 +00:00
Fábio Rosado
cda6c6bc7e Update docs GitHub actions to deploy to unstable or latest (#977) 2022-11-23 16:51:11 +00:00
Fábio Rosado
a628026838 Restyle examples and add button to show code on all examples (#968) 2022-11-22 15:46:54 +00:00
pre-commit-ci[bot]
6700856b9f [pre-commit.ci] pre-commit autoupdate (#970)
updates:
- [github.com/pre-commit/mirrors-eslint: v8.27.0 → v8.28.0](https://github.com/pre-commit/mirrors-eslint/compare/v8.27.0...v8.28.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-11-22 12:21:36 +05:30
Lukas Schönmann
411aa0bbed Remove hardcoded cursor for <input> (#967) 2022-11-21 21:10:24 +00:00
woxtu
0d79d31b96 Specify the unknown type (#965) 2022-11-21 23:43:57 +05:30
Jeff Glass
cb05a9b067 Export Version from JS Module (#963)
* Export PyScript version from js module

* Add docs and test
2022-11-20 09:58:09 -06:00
woxtu
536f359fb9 Fix a typo (#964) 2022-11-20 13:51:09 +00:00
Jeff Glass
56e888ed33 Fix stray capitalization in file name (#960) 2022-11-19 03:39:54 +05:30
Jeff Glass
687b93d148 Import PyScript Version into Python Runtime (#958)
* Import current version as PyScript.__version__ and PyScript.version_info

* Add integration, python unit tests
 
* Mock pyscript.py with __mocks__/pyscript.js to make jest tests happy
2022-11-18 11:49:45 -06:00
Fábio Rosado
0e1c396d7c Add div id to target in the display so examples get displayed in the right tag (#955)
* Add target to display

* Remove output from examples
2022-11-17 14:51:16 +00:00
Jeff Glass
7e24289703 Unwind async/await chains (#957)
*Cleanup several spots where runtime.run() no longer needs to be awaited, now that #928 is merged.
2022-11-16 13:42:40 -06:00
Jeff Glass
0b23310a06 Remove 'Implicit Async', Don't Await runtime.run() (#928)
* Revert to runPython instead of await runPythonAsync

* "Implicit Coroutines" are no longer permitted in py-script tags

* Tests added for the above

* xfail test_importmap (See #938)
2022-11-16 13:11:40 -06:00
Antonio Cuni
41ebaaf366 More plugins: splashscreen and importmap (#938)
This PR move codes from main.ts into two new plugins:

- splashscreen (formerly known as py-loader)
- importmap

The old setting config.autoclose_loader is still supported but deprecated; the new setting is config.splashscreen.autoclose.

Moreover, it does a small refactoring around UserError: now UserErrors are correctly caught even if they are raised from within afterRuntimeLoad.
2022-11-16 18:08:17 +01:00
Ted Patrick
b79ceea7a8 version number in build (#953) 2022-11-15 15:50:25 -06:00
Fábio Rosado
b990bcb67a Add basic docs for py-terminal (#933)
* Add basic docs for py-terminal

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add Antonio's suggestions

* Remove terminal = true

* fix typo

Co-authored-by: Antonio Cuni <anto.cuni@gmail.com>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Antonio Cuni <anto.cuni@gmail.com>
2022-11-15 15:35:50 +00:00
pre-commit-ci[bot]
3f0f2d9910 [pre-commit.ci] pre-commit autoupdate (#951)
updates:
- [github.com/asottile/pyupgrade: v3.2.0 → v3.2.2](https://github.com/asottile/pyupgrade/compare/v3.2.0...v3.2.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-11-15 18:25:18 +05:30
Fábio Rosado
4333f5f979 Zip the build folder and add it to release (#949) 2022-11-14 20:32:11 +00:00
Madhur Tandon
07e75293b8 use a const for run button svg (#948)
* use a const for run button svg

* remove id

* remove consts.ts file
2022-11-15 01:47:36 +05:30
Fábio Rosado
a9ca7106cb Fix deprecated message (#950) 2022-11-15 01:36:21 +05:30
Fábio Rosado
da2728e6df Add flag to send HTML or plain Text to banner (#947) 2022-11-14 18:36:54 +00:00
Fábio Rosado
adfa9a9b05 Deprecate py-button, py-inputbox, py-box and py-title (#931) 2022-11-14 16:29:28 +00:00
Madhur Tandon
be9b9f66d3 remove one more unneeded import (#946) 2022-11-14 19:09:03 +05:30
Madhur Tandon
9521bc7175 remove unneeded import (#945) 2022-11-14 17:07:33 +05:30
Fábio Rosado
b445f8a834 Handle non-200 code when fetch py-script src (#940) 2022-11-12 10:07:51 +00:00
Fábio Rosado
3c3dffd5ed Raise error if we get a non 200 status from fetch (#935)
* Raise error if we get a non 200 status from fetch

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add custom exception

* Add check for TypeError as well

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-11-10 15:00:41 +00:00
Antonio Cuni
4c8443fd00 Make HTTP cache persisten across sessions (#936)
* use pytest-cache to cache HTTP requests, so that it survives across multiple runs

* add an option to clear the HTTP cache

* add some docs about pytest
2022-11-10 15:01:27 +01:00
Fábio Rosado
06a5a54103 Fix banner width (#930) 2022-11-09 16:42:10 +00:00
Antonio Cuni
0d3c3eef4e Introduce a Plugin system, implement <py-terminal> as a plugin (#917)
This PR does two things:

1. introduce the first minimal version of a Plugin system. Plugins are subclasses of the Plugin class, and pyscript will call the relevant methods/hooks at the right time. Currently, I have added only the minimal sets of hooks which were needed for this PR.

2. Implement <py-terminal> as a plugin.
2022-11-09 16:17:21 +01:00
Madhur Tandon
f0a6fb913f add test for not escaping characters in pyconfig (#929) 2022-11-09 12:18:02 +05:30
Madhur Tandon
5f0c508fed use user error for paths calculation (#927) 2022-11-09 03:13:18 +05:30