Skip to main content

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.

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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file JPSLUtils-0.7.3.tar.gz.

File metadata

  • Download URL: JPSLUtils-0.7.3.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for JPSLUtils-0.7.3.tar.gz
Algorithm Hash digest
SHA256 396513425b15667f7c1405b5fac171d3b376dd5ac549998cf147c986d9c6edec
MD5 32d946bd8f0d2d15090f04420b05285f
BLAKE2b-256 6b8bd30afb8bfd0da859af08c9f682d459ad3bef325ce0c459af54054fe1cbcc

See more details on using hashes here.

File details

Details for the file JPSLUtils-0.7.3-py3-none-any.whl.

File metadata

  • Download URL: JPSLUtils-0.7.3-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for JPSLUtils-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f37eb0b6f4682048756e78149ec1b32796a9b3091ad7ed83700eacc2571c1b07
MD5 ee2d9e063dc68b21578a1e5a51078719
BLAKE2b-256 12a028a75d4913cc454c2f6109493b63f78e1641f6ef01a77c101d41542c51eb

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.7.3 This release

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.9

2 files

0.5.8

2 files

0.5.7

1 file

0.5.6

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page