# About JPSLUtils
(aka Jupyter Physical Science Lab Utilities)
[Code Repository (Github)](https://github.com/JupyterPhysSciLab/JPSLUtils) |
[On PyPi](https://pypi.org/project/JPSLUtils/)
## Introduction
These are utilities used by multiple packages within the [Jupyter Physical
Science Lab project](https://github.com/JupyterPhysSciLab). 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](https://github.com/JupyterPhysSciLab/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](https://github.com/JupyterPhysSciLab/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](https://gnu.org/licenses)
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.
Raw data
{
"_id": null,
"home_page": "https://github.com/JupyterPhysSciLab/JPSLUtils",
"name": "JPSLUtils",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Jonathan Gutow",
"author_email": "gutow@uwosh.edu",
"download_url": "https://files.pythonhosted.org/packages/6b/8b/d30afb8bfd0da859af08c9f682d459ad3bef325ce0c459af54054fe1cbcc/JPSLUtils-0.7.3.tar.gz",
"platform": null,
"description": "# About JPSLUtils\n(aka Jupyter Physical Science Lab Utilities)\n\n[Code Repository (Github)](https://github.com/JupyterPhysSciLab/JPSLUtils) |\n[On PyPi](https://pypi.org/project/JPSLUtils/)\n\n## Introduction\nThese are utilities used by multiple packages within the [Jupyter Physical\nScience Lab project](https://github.com/JupyterPhysSciLab). It is unlikely \nthat anyone but a developer would\nhave reason to install these independently. They are installed when\nrequired by other packages/modules. **Currently, API documentation is only \navailable for the python utilities.** You will have to look at the hints \nbelow and the code to learn more about the javascript utilities.\n\n## Contents\n* This package mostly provides tools for running javascript operations that\nimpact the notebook. This includes things such as selecting a certain cell,\ninserting text into an existing cell, or running python code and using the\nresult from javascript. Some custom dialogs for user interaction are also\nincluded.\n* `JPSL Tools` menu can be installed as well. The command to activate it \n from python is `JPSLUtils.JPSL_Tools_Menu()`; from javascript \n `JPSLUtils.createJPSLToolsMenu(); JPSLUtils.init();`. This provides menu \n access to some of the javascript operations:\n * **Hide cells** that are marked as `JPSL.hide_on_print=true` in the cell \n metadata.\n This metadata can be set from a menu provided by the \n [jupyter-instructortools](https://github.com/JupyterPhysSciLab/jupyter-instructortools)\n package. The meta-data can also be set manually, by editing it in the\n notebook.\n * **De-hide cells** marked as `hide_on_print` in the cell metadata.\n * **Hide/Show** input table creation code.\n * **Hide/Show** code marked as hidden. Set using\n [jupyter-instructortools](https://github.com/JupyterPhysSciLab/jupyter-instructortools).\n * **Snippets for initializing some JPSL components and links to their\n documentation** (JupyterPiDAQ, Jupyter Pandas GUI and Algebra with Sympy)\n* **NOTE**: if you wish input table creation code and selected code cells \n hidden without the menu being available, then you need to issue the command \n `OTJS('JPSLUtils.init();')` in python or just `JPSLUtils.init();` in \n javascript.\n\n## Change Log\n * 0.7.3 \n * More robust notebook environment detection by reordering of python \n and javascript calls.\n * Removed asynchronous testing for environment.\n * Updated docs.\n * 0.7.2\n * More \\n escaping fixes.\n * Made notebook environment testing wait asynchronously for JS.\n * Now gets JS notebook environment info even when running as a submodule \n of another module.\n * Docs updated to match.\n * 0.7.1\n * Additional escaping of \\n fixes.\n * 0.7.0\n * Enhancements to latex and string escaping to support JupyterLab and \n Colab. This breaks jupyter-pandas-GUI <=0.6.2.1.\n * Now checks for the environment it is running in (JLab, Colab or \n NBClassic) and sets the python variable `JPSLUtils.notebookenv = \n \"NBClassic|colab|None\"`. `None` probably means JLab.\n The javascript variable `JPSLUtils.env = \"NBClassic|JupyterLab|None\"` \n depending upon the environment.\n * Typo and minor bug fixes.\n * 0.6.0\n * First pass at python API documentation.\n * Python cell actions no longer run when a trusted notebook is opened \n (using `OTJS()`).\n * Reformatted the user name and partner information saved on each \n initialization.\n * 0.5.9\n * Switch to using hierarchical menus.\n * Now requires JPSLMenus package.\n * 0.5.8\n * additional insert text and selection utilities\n * 0.5.7\n * **Breaking change**: JPSL Tools menu is not automatically activated when\n this package is imported. It now must be activated by an explicit call to\n `JPSLUtils.JPSL_Tools_Menu()`.\n * Can now have package hide table creation code and selected code cells \n without the menu showing. The call is `OTJS('JPSLUtils.init();')`\n * 0.5.6\n * added `hide/show` input table creation code.\n * added `hide/show` hidden code.\n * initialization now hides input table creation code.\n * initialization now hides code marked for hiding.\n * 0.5.5 \n * added `JPSL Tools` menu to access cell hiding.\n * record name dialog cannot be cancelled.\n * 0.5.4 added cell hiding toggle, which cells to hide chosen with instructor \n tools.\n * 0.5.3 add `select_containing_cell` and \n `insert_text_at_beginning_of_current_cell` to JS routines. Add python calls\n `havenp()` to check for `numpy as np` and `havepd()`\n to check for `pandas as pd` in user name space.\n * 0.5.2 Minor bug fixes and updates to README.\n * 0.5.1 Introduced \"one time Javascript\" (`OTJS(...)`) alternative to \n `display(JS(...))`. This allows javascript calls from python that will \n not be run the next time the notebook is opened and trusted.\n * 0.5.0 Initial release.\n\n## [This software is distributed under the GNU V3 license](https://gnu.org/licenses)\nThis program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\nCopyright - Jonathan Gutow, 2021, 2022.\n",
"bugtrack_url": null,
"license": "GPL-3.0+",
"summary": "Utilities for Jupyter Physical Science Lab project",
"version": "0.7.3",
"project_urls": {
"Homepage": "https://github.com/JupyterPhysSciLab/JPSLUtils"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "12a028a75d4913cc454c2f6109493b63f78e1641f6ef01a77c101d41542c51eb",
"md5": "ee2d9e063dc68b21578a1e5a51078719",
"sha256": "f37eb0b6f4682048756e78149ec1b32796a9b3091ad7ed83700eacc2571c1b07"
},
"downloads": -1,
"filename": "JPSLUtils-0.7.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ee2d9e063dc68b21578a1e5a51078719",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 11931,
"upload_time": "2022-08-10T19:39:02",
"upload_time_iso_8601": "2022-08-10T19:39:02.652942Z",
"url": "https://files.pythonhosted.org/packages/12/a0/28a75d4913cc454c2f6109493b63f78e1641f6ef01a77c101d41542c51eb/JPSLUtils-0.7.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b8bd30afb8bfd0da859af08c9f682d459ad3bef325ce0c459af54054fe1cbcc",
"md5": "32d946bd8f0d2d15090f04420b05285f",
"sha256": "396513425b15667f7c1405b5fac171d3b376dd5ac549998cf147c986d9c6edec"
},
"downloads": -1,
"filename": "JPSLUtils-0.7.3.tar.gz",
"has_sig": false,
"md5_digest": "32d946bd8f0d2d15090f04420b05285f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 11156,
"upload_time": "2022-08-10T19:39:25",
"upload_time_iso_8601": "2022-08-10T19:39:25.848456Z",
"url": "https://files.pythonhosted.org/packages/6b/8b/d30afb8bfd0da859af08c9f682d459ad3bef325ce0c459af54054fe1cbcc/JPSLUtils-0.7.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-08-10 19:39:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JupyterPhysSciLab",
"github_project": "JPSLUtils",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "jpslutils"
}