Skip to main content

scicode-widgets (pip package name: pip install scwidgets) is a Jupyter widget library. It is designed to assist in creating “computational experiments” aimed to teach students how to code and interpret computational experiments. scicode-widgets abstracts away technical details and boilerplate code that are not essential for the learning experience.

Built on top of ipywidgets, the library provides a framework for building interactive educational applications. The logic is purely written in Python, to simplify the development process for scientific teachers and researchers who are more comfortable with Python than with JavaScript.

Getting started

Please continue with our getting started page.

Features

Customizable coding exercises and demos

Customizable coding exercises and demos

Checks for students to verify their solution

Checks for students to verify their solution

Automatic grading using nbgrader

See how you can integrate scwidgets with the nbgrader framework

Supported jupyter environments:

  • jupyterlab

  • notebook < 7

License

scicode-widgets are released under the open BSD 3-Clause License. See the LICENSE.txt file for more details.

Citing

If you use scicode-widgets, we are grateful if you could cite:

Alexander Goscinski, Taylor James Baird, Dou Du, João Prado, Divya Suman, Tulga-Erdene Sodjargal, Sara Bonella, Giovanni Pizzi, Michele Ceriotti, scicode-widgets: Bringing Computational Experiments to the Classroom with Jupyter Widgets, arXiv:2507.05734 (2025).

Acknowledgements

We acknowledge support from the NCCR MARVEL, funded by the Swiss National Science Foundation, and from the EPFL Open Science Fund via the OSSCAR project.

Metadata

Release files for scwidgets 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scwidgets 0.2.2
File Size Uploaded Provenance
scwidgets-0.2.2.tar.gz 51.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for scwidgets 0.2.2
File Interpreter ABI Platform
scwidgets-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 96.5 kB

Release files / scwidgets-0.2.2.tar.gz

Download URL scwidgets-0.2.2.tar.gz
Size 51.0 kB
Tags Source
SHA-256 checksum
How to use checksums
87970f109fa6592bccd0b8df48378bfabfbd1170d09ea1f0ff45aa4728622f6f
BLAKE2b-256 checksum
How to use checksums
47e2cb65ce1594132cf2aac5ddaff575b47c0c1f081b36817c868922a31f6b24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / scwidgets-0.2.2-py3-none-any.whl

Download URL scwidgets-0.2.2-py3-none-any.whl
Size 45.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
28243275d414732cbb9b1a91d8abda31585ce9bd42135ed8965a7682dc9785b5
BLAKE2b-256 checksum
How to use checksums
005a730c0bbe5f4425ddf859f5fb430ff48aae1c303c299b7cbe38d32a001e65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Security for scwidgets 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page