@electronioncollider/epic-widgets
v0.1.1
Published
EIC EPIC widgets collection
Downloads
7
Maintainers
Readme
epic-widgets
EIC EPIC widgets collection
Installation
You can install using pip
:
pip install epic_widgets
Or if you use jupyterlab:
pip install epic_widgets
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install @electronioncollider/epic-widgets
If you are using Jupyter Notebook 5.2 or earlier, you may also need to enable the nbextension:
jupyter nbextension enable --py [--sys-prefix|--user|--system] epic_widgets
Development
This plugin initially created with:
https://github.com/jupyter-widgets/widget-ts-cookiecutter
# First install the python package. This will also build the JS packages.
pip install -e ".[test, examples]"
# Run the python tests. This should not give you a few sucessful example tests
py.test
# Run the JS tests. This should again, only give TODO errors (Expected 'Value' to equal 'Expected value'):
npm test
When developing your extensions, you need to manually enable your extensions with the notebook / lab frontend. For lab, this is done by the command:
jupyter labextension install .
#or
jupyter labextension install @electronioncollider/epic-widgets
For classic notebook, you can run:
jupyter nbextension install epic_widgets --py --symlink --sys-prefix
jupyter nbextension enable epic_widgets --py --sys-prefix
Note that the --symlink
flag doesn't work on Windows, so you will here have to run
the install
command every time that you rebuild your extension. For certain installations
you might also need another flag instead of --sys-prefix
, but we won't cover the meaning
of those flags here.
Releasing your initial packages:
Prepare publishing tools for the first time:
pip install --upgrade pip
pip install setuptools wheel twine
- Add tests
- Ensure tests pass locally and on CI. Check that the coverage is reasonable.
- Make a release commit, where you remove the
, 'dev'
entry in_version.py
. - Update the version in
package.json
- Relase the npm packages:
npm login npm publish --access=public
- Bundle the python package:
python setup.py sdist bdist_wheel
- Publish the package to PyPI:
twine upload dist/epic_widgets*
- Tag the release commit (
git tag <python package version identifier>
) - Update the version in
_version.py
, and put it back to dev (e.g. 0.1.0 -> 0.2.0.dev). Update the versions of the npm packages (without publishing). - Commit the changes.
git push
andgit push --tags
.