Skip to main content

Utilities for Jupyter Physical Science Lab project

Project description

About JPSLUtils

(aka Jupyter Physical Science Lab Utilities)

Code Repository (Github) | On PyPi

Introduction

These are utilities used by multiple packages within the Jupyter Physical Science Lab project. It is unlikely that anyone but a developer would have reason to install these independently. They are installed when required by other packages/modules. Currently, API documentation is only available for the python utilities. You will have to look at the hints below and the code to learn more about the javascript utilities.

Contents

  • This package mostly provides tools for running javascript operations that impact the notebook. This includes things such as selecting a certain cell, inserting text into an existing cell, or running python code and using the result from javascript. Some custom dialogs for user interaction are also included.
  • JPSL Tools menu can be installed as well. The command to activate it from python is JPSLUtils.JPSL_Tools_Menu(); from javascript JPSLUtils.createJPSLToolsMenu(); JPSLUtils.init();. This provides menu access to some of the javascript operations:
    • Hide cells that are marked as JPSL.hide_on_print=true in the cell metadata. This metadata can be set from a menu provided by the jupyter-instructortools package. The meta-data can also be set manually, by editing it in the notebook.
    • De-hide cells marked as hide_on_print in the cell metadata.
    • Hide/Show input table creation code.
    • Hide/Show code marked as hidden. Set using jupyter-instructortools.
    • Snippets for initializing some JPSL components and links to their documentation (JupyterPiDAQ, Jupyter Pandas GUI and Algebra with Sympy)
  • NOTE: if you wish input table creation code and selected code cells hidden without the menu being available, then you need to issue the command OTJS('JPSLUtils.init();') in python or just JPSLUtils.init(); in javascript.

Change Log

  • 0.7.3
    • More robust notebook environment detection by reordering of python and javascript calls.
    • Removed asynchronous testing for environment.
    • Updated docs.
  • 0.7.2
    • More \n escaping fixes.
    • Made notebook environment testing wait asynchronously for JS.
    • Now gets JS notebook environment info even when running as a submodule of another module.
    • Docs updated to match.
  • 0.7.1
    • Additional escaping of \n fixes.
  • 0.7.0
    • Enhancements to latex and string escaping to support JupyterLab and Colab. This breaks jupyter-pandas-GUI <=0.6.2.1.
    • Now checks for the environment it is running in (JLab, Colab or NBClassic) and sets the python variable JPSLUtils.notebookenv = "NBClassic|colab|None". None probably means JLab. The javascript variable JPSLUtils.env = "NBClassic|JupyterLab|None" depending upon the environment.
    • Typo and minor bug fixes.
  • 0.6.0
    • First pass at python API documentation.
    • Python cell actions no longer run when a trusted notebook is opened (using OTJS()).
    • Reformatted the user name and partner information saved on each initialization.
  • 0.5.9
    • Switch to using hierarchical menus.
    • Now requires JPSLMenus package.
  • 0.5.8
    • additional insert text and selection utilities
  • 0.5.7
    • Breaking change: JPSL Tools menu is not automatically activated when this package is imported. It now must be activated by an explicit call to JPSLUtils.JPSL_Tools_Menu().
    • Can now have package hide table creation code and selected code cells without the menu showing. The call is OTJS('JPSLUtils.init();')
  • 0.5.6
    • added hide/show input table creation code.
    • added hide/show hidden code.
    • initialization now hides input table creation code.
    • initialization now hides code marked for hiding.
  • 0.5.5
    • added JPSL Tools menu to access cell hiding.
    • record name dialog cannot be cancelled.
  • 0.5.4 added cell hiding toggle, which cells to hide chosen with instructor tools.
  • 0.5.3 add select_containing_cell and insert_text_at_beginning_of_current_cell to JS routines. Add python calls havenp() to check for numpy as np and havepd() to check for pandas as pd in user name space.
  • 0.5.2 Minor bug fixes and updates to README.
  • 0.5.1 Introduced "one time Javascript" (OTJS(...)) alternative to display(JS(...)). This allows javascript calls from python that will not be run the next time the notebook is opened and trusted.
  • 0.5.0 Initial release.

This software is distributed under the GNU V3 license

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Copyright - Jonathan Gutow, 2021, 2022.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

JPSLUtils-0.7.3.tar.gz (11.2 kB view hashes)

Uploaded Source

Built Distribution

JPSLUtils-0.7.3-py3-none-any.whl (11.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page