Metadata-Version: 2.4
Name: scwidgets
Version: 0.2.1
Summary: A collection of widgets to prepare interactive scientific visualisations, including user code input and validation
License: BSD-3-Clause
Project-URL: Documentation, https://scicode-widgets.readthedocs.io/en/latest/
Project-URL: Repository, https://github.com/osscar-org/scicode-widgets
Project-URL: Issues, https://github.com/osscar-org/scicode-widgets/issues
Project-URL: Changelog, https://github.com/osscar-org/scicode-widgets/blob/main/CHANGELOG.md
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: POSIX
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: ipywidgets>=8.0.0
Requires-Dist: numpy<3.0
Requires-Dist: widget_code_input>=4.0.17
Requires-Dist: matplotlib
Requires-Dist: termcolor
Dynamic: license-file

scicode-widgets
===============

.. marker-package-description

**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 <https://scicode-widgets.readthedocs.io/en/latest/getting_started.html>`_.


Features
--------

**Customizable coding exercises and demos**

.. image:: https://raw.githubusercontent.com/osscar-org/scicode-widgets/assets/assets/exercises.gif
   :alt: Customizable coding exercises and demos 

**Checks for students to verify their solution**

.. image:: https://raw.githubusercontent.com/osscar-org/scicode-widgets/assets/assets/checks.gif
   :alt: Checks for students to verify their solution

**Automatic grading using nbgrader**

See `how you can integrate scwidgets with the nbgrader framework <https://scicode-widgets.readthedocs.io/en/latest/nbgrader.html>`_

**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 <https://arxiv.org/abs/2507.05734>`_, **arXiv:2507.05734** (2025).

Acknowledgements
----------------

We acknowledge support from the `NCCR MARVEL <https://www.nccr-marvel.ch/>`_, funded by the Swiss National Science Foundation, and from the EPFL Open Science Fund via the `OSSCAR <https://www.osscar.org>`_ project.
