Skip to content

Conversation

WebReflection
Copy link
Contributor

In our latest Community Call I've demoed a PoC around the proposal that would allow users to provide their own PyScript packages with extreme ease.

The scope of the proposal is wider than this MR, but in here I would like to enable experiments, feedback, and whatnot, around this possibility, so here what's backed in:

  • only if experimental_remote_packages = true or truthy equivalent, the rest of the logic applies
  • if within the packages list there is something ending with either .toml or .json, that package is parsed and merged into current config/logic
  • differently from the PoC code, this works for both Pyodide and MicroPython interpreters
  • differently from the PoC code, this throws if things are off (same name, different remote package, or already solved name, and so on) ... this is to have a base to explore with issues that fail fast and allow us to eventually relax that in the future
  • differently from the PoC code, this now avoid parsing same nested dependencies over and over, so it's recursion-aware out of the box

A basic example to explain how this work:

experimental_remote_packages = true

packages = ['https://webreflection.github.io/examples/pyscript/module/package.toml']

This has been tested and it's working wonderfully for the little that foreign module does, but as an opt-in experimental starting point, I think we should push this possibility forward and react accordingly after feedback.

@WebReflection WebReflection requested a review from ntoll October 3, 2025 18:56
Copy link
Member

@ntoll ntoll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, for feedback purposes. 👍

@WebReflection WebReflection merged commit 6fa88ae into main Oct 6, 2025
2 checks passed
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

Successfully merging this pull request may close these issues.

2 participants