Skip to content

detail how to deliver both JS and Python assets needed by a project #172

Open
@ntoll

Description

@ntoll

From discord:

https://discord.com/channels/972017612454232116/972020206538997822/1344294149922230364

For example, perhaps the README for my wheel should say:

To use libfoo in pyscript, you will need to declare the following in your pyscript.toml:

packages = ["libfoo@2.0.1"]
[js.modules]
"https://cdn.pyscript.com/serve-files-from-wheels/pypi/libfoo@2.0.1/subpath/shim.js" = "libfooshim"

that's how we basically use 3rd party and there's nothing wrong in there ... .js stuff gotta be published on .js places, .py and wheels stuff gotta be published on .py places ... so you publish your wheel and you publish on npm your wheel module ... you sync versioning between the two, you use one out of dozen CDN providers for your JS that ends up in the config. https://esm.run/ would be my suggestion as it's provided by JSDelivr which is likely the most used CDN out there on the web ... it automatically packages your stuff as ESM too so your config would look like:

packages = ["libfoo@2.0.1"]

[js_modules.main]
"https://esm.run/libfoo@2.0.1" = "libfooshim"

and ... that's it? 🤔

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions