@youwol/flux-pyodide
Collection of modules to run Python code in the browser
Installation, Build & Test
To install the required dependencies:
yarn
To build for development:
yarn build:dev
To build for production:
yarn build:prod
To test:
yarn test
To generate code documentation:
yarn doc
Documentation
You can find the documentation here.
Contributions
The YouWol project is open-source as much as possible, do not hesitate to contribute by creating branches and pull-requests.
The Youwol fullstack environment (YouWol FSE) should be used when developing flux-pack. It offers an immersive experience of the YouWol ecosystem, and lets you work with your favorite stack. Usually you've accessed this file using it anyway. All the links in what follows assumed you've started this environment.
Fetching the code
Create a branch and includes the github folder into your workspace (as defined in your YouWol FSE's configuration file, under category 'flux-pack'). Reload the dashboard, the package should now be listed (My Computer=>Packages).
Using modules in a flux-app
build, test & publish the package from the dashboard.
Start by creating a new flux-app:
- short version: follow this link, you won't be able to save your changes
- long version: from the workspace, navigate in the explorer into your private group, eventually create a drive and a folder, and with a right click select new app. You can now start its construction (click on construct after having selected it in your workspace).
Once opened, in the top builder-panel:
- right click + 'new module(s)'
- expand the 'explorer node'
- navigate to private / default-drive / {name}
- select module(s) and validate
Implementing new features
You can start iterate in the code, build, test & publish each time you want to test your features in Flux.
Documentation about designing modules in Flux can be found in the flux-core documentation.
Version management
In order to conveniently work within YouWol's environment, the following approach regarding versioning is recommended:
- when you start a new version of your package (e.g. from a version 0.1.2) you append a -next to the version you've started from (e.g. 0.1.2-next). Among other things, it will ensure that your browser won't cache your source code.
- when iterating over the same version, just keep the -next and publish to the CDN whenever you want to try your modules in Flux.
- when you want to finalize a version: (i) pick the right version number (e.g. 0.1.3, 0.2.0, etc ), (ii) go through 'build/test/publish CDN', and (iii) eventually publish your package in a npm repository.
The CDN is accepting to override previous publish version, this is how the -next trick is working and allows for a smooth integrated experience. However, when a finalized version of your package is published (with no -next suffix), it is strongly recommended to not update the CDN content of your package anymore for this version.
If you plan to share your package, you'll need to publish it in a npm repository. For public or private needs, the choice of this repository is yours. For more advanced permission resolution related to YouWol's group, you'll need to use your YouWol's GitLab environment (not available yet).