scale-olm


Namescale-olm JSON
Version 0.14.0 PyPI version JSON
download
home_pageNone
SummaryORIGEN Library Manager: A tool for building and managing ORIGEN reactor data libraries
upload_time2024-10-29 23:45:18
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseCopyright 2024 UT-Battelle, LLC Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords scale origen library
VCS
bugtrack_url
requirements alabaster annotated-types anyio apeye apeye-core appnope argon2-cffi argon2-cffi-bindings arrow asttokens async-lru attrs autodocsumm Babel beautifulsoup4 black bleach boltons bracex build bump2version bumpversion CacheControl certifi cffi cfgv chardet charset-normalizer click click-extra cloup comm commentjson contourpy cssutils cycler debugpy decorator defusedxml dict2css distlib docutils domdf-python-tools exceptiongroup execnet executing fastjsonschema filelock fonttools fqdn h5py html5lib identify idna imagesize imohash importlib-metadata importlib-resources iniconfig ipykernel ipython isoduration jaraco.classes jedi Jinja2 json5 jsonpointer jsonschema jsonschema-specifications jupyter-events jupyter-lsp jupyter_client jupyter_core jupyter_server jupyter_server_terminals jupyterlab jupyterlab_pygments jupyterlab_server keyring kiwisolver lark-parser Markdown markdown-it-py MarkupSafe matplotlib matplotlib-inline mdit-py-plugins mdurl mergedeep mistune mmh3 more-itertools msgpack mypy-extensions myst-parser natsort nbclient nbconvert nbformat nest-asyncio nh3 nodeenv notebook_shim numpy overrides packaging Pallets-Sphinx-Themes pandocfilters parso pathspec pexpect pillow pkginfo platformdirs pluggy pre-commit prometheus-client prompt-toolkit psutil ptyprocess pure-eval pycparser pydantic pydantic_core Pygments pygments-ansi-color pyparsing pyproject_hooks pytest pytest-xdist python-dateutil python-json-logger PyYAML pyzmq readme-renderer referencing regex reportlab requests requests-toolbelt rfc3339-validator rfc3986 rfc3986-validator rich rpds-py rst2pdf ruamel.yaml ruamel.yaml.clib scipy Send2Trash six smartypants sniffio snowballstemmer soupsieve Sphinx sphinx-autodoc-typehints sphinx-click sphinx-copybutton sphinx-jinja2-compat sphinx-jsonschema sphinx-notfound-page sphinx-prompt sphinx-rtd-theme sphinx-tabs sphinx-term sphinx-toolbox sphinxcontrib-applehelp sphinxcontrib-devhelp sphinxcontrib-htmlhelp sphinxcontrib-jquery sphinxcontrib-jsmath sphinxcontrib-qthelp sphinxcontrib-serializinghtml stack-data structlog tabulate terminado termynal testbook tinycss2 tomli tornado tqdm traitlets twine types-python-dateutil typing_extensions uri-template urllib3 varint virtualenv wcmatch wcwidth webcolors webencodings websocket-client xmltodict zipp
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## ORIGEN Library Manager (OLM)

[![Documentation Status](https://readthedocs.org/projects/scale-olm/badge/?version=v0.14.0)](https://scale-olm.readthedocs.io/en/v0.14.0)

The latest stable version is [v0.14.0](https://scale-olm.readthedocs.io/en/stable).

OLM is a command-line utility that streamlines aspects of using the 
[SCALE/ORIGEN](https://scale.ornl.gov) library to solve nuclide inventory generation problems.

To install, use `pip`.

```console
pip install scale-olm
```

## Locations

The main development repository is hosted on [GitHub](https://github.com/wawiesel/olm) 
with a read-only mirror on the ORNL-hosted [GitLab](https://code.ornl.gov/scale/code/olm).

## Developing

The script `dev.sh` is provided to initialize the development environment.

```console
$ git clone https://github.com/wawiesel/olm
$ cd olm
$ source dev.sh
```

This is all you should need to do. The following sections explain in more detail 
what happens when you run `dev.sh`.

## Developer details

This section contains additional details on developing OLM.

### Enable virtual environment

```console
$ virtualenv venv
$ . venv/bin/activate
$ which python
```

If you get an error about missing `virtualenv`, you may need to install it.

```console
$ pip install virtualenv
```

### Install requirements

After enabling the virtual environment, run this command to install dependencies.

```console
$ pip install -r requirements.txt
```

NOTE: if you need to regenerate the requirements file after adding dependencies.
```console
$ pip freeze | grep -v '^\-e'>requirements.txt
```

### Enable a local install for testing

This command will enable any changes you make to instantly propagate to the executable
you can run just with `olm`.

```console
$ pip install --editable .
$ olm
$ which olm
```

### Creating docs

With the development environment installed, the docs may be created within the
`docs` directory. With the following commands.

```console
$ cd docs
$ make html
$ open build/html/index.html
```

Alternatively the PDF docs may be generated using the `make latexpdf` command. Note
that the HTML docs are intended as the main documentation.

The following greatly simplifies iterating on documentation. Run this command
and open your browser to http://localhost:8000.

```console
sphinx-autobuild docs/source/ docs/build/html/
```



### Notebooks

There are notebooks contained in `notebooks` which may be helpful for debugging or
understanding how something is working. You may need to install your virtual environment
kernel for the notebooks to work. You should use the local `venv` kernel instead of
your default Python kernel so you have all the local packages at the correct versions.

```console
$ ipython kernel install --name "venv" --user
```

Now, you can select the created kernel "venv" when you start Jupyter notebook or lab.

## Notes about development

### Click for CLI

We use the [Click python library](https://click.palletsprojects.com/en/8.1.x)
for command line. Here's a nice [video about click](https://www.youtube.com/watch?v=kNke39OZ2k0).

### Commit messages

Follow these [guidelines](https://cbea.ms/git-commit/) for commit messages.

### Version updates

OLM uses [semantic versioning](https://semver.org/). You should commit the 
relevant code with the usual description commit message. 

Then run 

- `bumpversion patch` if you are fixing a bug
- `bumpversion minor` if you are adding a new feature
- `bumpversion major` if you are breaking backwards compatibility

When you push you need to `git push --tags` or configure your repo to always push tags:

```
#.git/config
[remote "origin"]
    push = +refs/heads/*:refs/heads/*
    push = +refs/tags/*:refs/tags/*
```

### Pytest for unit tests

Locally for unit tests we use the pytest framework under the `testing` directory.
All tests can be run simply like this from the root directory. Not we are using the
`pytest-xdist` extension which allows parallel testing.

```console
$ pytest -n 6 .
```

### Black for commit formatting

The first time you do work on a clone, do this.

```console
$ pre-commit install
```

This will use the [Black formatter](https://medium.com/gousto-engineering-techbrunch/automate-python-code-formatting-with-black-and-pre-commit-ebc69dcc5e03).


### Docstrings and Doctest

Our goal is to have each function, module, and class with standard docstrings and
a few doctests. You can run verbose tests on a specific module as follows.

```console
$ pytest -v scale/olm/core.py
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "scale-olm",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "SCALE, ORIGEN, Library",
    "author": null,
    "author_email": "William Wieselquist <ww5@ornl.gov>",
    "download_url": "https://files.pythonhosted.org/packages/ef/e4/0a5868eec8c8cee279879c6518cce37098ccf4c8dc5ac7bfc8826f1d8ec5/scale_olm-0.14.0.tar.gz",
    "platform": null,
    "description": "## ORIGEN Library Manager (OLM)\n\n[![Documentation Status](https://readthedocs.org/projects/scale-olm/badge/?version=v0.14.0)](https://scale-olm.readthedocs.io/en/v0.14.0)\n\nThe latest stable version is [v0.14.0](https://scale-olm.readthedocs.io/en/stable).\n\nOLM is a command-line utility that streamlines aspects of using the \n[SCALE/ORIGEN](https://scale.ornl.gov) library to solve nuclide inventory generation problems.\n\nTo install, use `pip`.\n\n```console\npip install scale-olm\n```\n\n## Locations\n\nThe main development repository is hosted on [GitHub](https://github.com/wawiesel/olm) \nwith a read-only mirror on the ORNL-hosted [GitLab](https://code.ornl.gov/scale/code/olm).\n\n## Developing\n\nThe script `dev.sh` is provided to initialize the development environment.\n\n```console\n$ git clone https://github.com/wawiesel/olm\n$ cd olm\n$ source dev.sh\n```\n\nThis is all you should need to do. The following sections explain in more detail \nwhat happens when you run `dev.sh`.\n\n## Developer details\n\nThis section contains additional details on developing OLM.\n\n### Enable virtual environment\n\n```console\n$ virtualenv venv\n$ . venv/bin/activate\n$ which python\n```\n\nIf you get an error about missing `virtualenv`, you may need to install it.\n\n```console\n$ pip install virtualenv\n```\n\n### Install requirements\n\nAfter enabling the virtual environment, run this command to install dependencies.\n\n```console\n$ pip install -r requirements.txt\n```\n\nNOTE: if you need to regenerate the requirements file after adding dependencies.\n```console\n$ pip freeze | grep -v '^\\-e'>requirements.txt\n```\n\n### Enable a local install for testing\n\nThis command will enable any changes you make to instantly propagate to the executable\nyou can run just with `olm`.\n\n```console\n$ pip install --editable .\n$ olm\n$ which olm\n```\n\n### Creating docs\n\nWith the development environment installed, the docs may be created within the\n`docs` directory. With the following commands.\n\n```console\n$ cd docs\n$ make html\n$ open build/html/index.html\n```\n\nAlternatively the PDF docs may be generated using the `make latexpdf` command. Note\nthat the HTML docs are intended as the main documentation.\n\nThe following greatly simplifies iterating on documentation. Run this command\nand open your browser to http://localhost:8000.\n\n```console\nsphinx-autobuild docs/source/ docs/build/html/\n```\n\n\n\n### Notebooks\n\nThere are notebooks contained in `notebooks` which may be helpful for debugging or\nunderstanding how something is working. You may need to install your virtual environment\nkernel for the notebooks to work. You should use the local `venv` kernel instead of\nyour default Python kernel so you have all the local packages at the correct versions.\n\n```console\n$ ipython kernel install --name \"venv\" --user\n```\n\nNow, you can select the created kernel \"venv\" when you start Jupyter notebook or lab.\n\n## Notes about development\n\n### Click for CLI\n\nWe use the [Click python library](https://click.palletsprojects.com/en/8.1.x)\nfor command line. Here's a nice [video about click](https://www.youtube.com/watch?v=kNke39OZ2k0).\n\n### Commit messages\n\nFollow these [guidelines](https://cbea.ms/git-commit/) for commit messages.\n\n### Version updates\n\nOLM uses [semantic versioning](https://semver.org/). You should commit the \nrelevant code with the usual description commit message. \n\nThen run \n\n- `bumpversion patch` if you are fixing a bug\n- `bumpversion minor` if you are adding a new feature\n- `bumpversion major` if you are breaking backwards compatibility\n\nWhen you push you need to `git push --tags` or configure your repo to always push tags:\n\n```\n#.git/config\n[remote \"origin\"]\n    push = +refs/heads/*:refs/heads/*\n    push = +refs/tags/*:refs/tags/*\n```\n\n### Pytest for unit tests\n\nLocally for unit tests we use the pytest framework under the `testing` directory.\nAll tests can be run simply like this from the root directory. Not we are using the\n`pytest-xdist` extension which allows parallel testing.\n\n```console\n$ pytest -n 6 .\n```\n\n### Black for commit formatting\n\nThe first time you do work on a clone, do this.\n\n```console\n$ pre-commit install\n```\n\nThis will use the [Black formatter](https://medium.com/gousto-engineering-techbrunch/automate-python-code-formatting-with-black-and-pre-commit-ebc69dcc5e03).\n\n\n### Docstrings and Doctest\n\nOur goal is to have each function, module, and class with standard docstrings and\na few doctests. You can run verbose tests on a specific module as follows.\n\n```console\n$ pytest -v scale/olm/core.py\n```\n",
    "bugtrack_url": null,
    "license": "Copyright 2024 UT-Battelle, LLC  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \u201cAS IS\u201d AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
    "summary": "ORIGEN Library Manager: A tool for building and managing ORIGEN reactor data libraries",
    "version": "0.14.0",
    "project_urls": {
        "bug-tracker": "https://github.com/wawiesel/olm/issues",
        "documentation": "https://scale-olm.readthedocs.io",
        "source": "https://github.com/wawiesel/olm"
    },
    "split_keywords": [
        "scale",
        " origen",
        " library"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d8c4c260f25fa1d428da02a72204b3c420ef1363446169d6bda5cd8513cea3c9",
                "md5": "3e0a5178d214f98e88f08bfac102fbb2",
                "sha256": "967f3763fc64873eebd4898ab3cbdb2b94fc06ec689eba18122cd874c5c8c5ee"
            },
            "downloads": -1,
            "filename": "scale_olm-0.14.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3e0a5178d214f98e88f08bfac102fbb2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 76506,
            "upload_time": "2024-10-29T23:45:16",
            "upload_time_iso_8601": "2024-10-29T23:45:16.268757Z",
            "url": "https://files.pythonhosted.org/packages/d8/c4/c260f25fa1d428da02a72204b3c420ef1363446169d6bda5cd8513cea3c9/scale_olm-0.14.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "efe40a5868eec8c8cee279879c6518cce37098ccf4c8dc5ac7bfc8826f1d8ec5",
                "md5": "d9f4b9672de793637e1a5198eaca4c3f",
                "sha256": "b61ce3c106348f72f2fde9c6d0cfb48bd56638fc27c09c942beb8f0546a8e40e"
            },
            "downloads": -1,
            "filename": "scale_olm-0.14.0.tar.gz",
            "has_sig": false,
            "md5_digest": "d9f4b9672de793637e1a5198eaca4c3f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 79412,
            "upload_time": "2024-10-29T23:45:18",
            "upload_time_iso_8601": "2024-10-29T23:45:18.051003Z",
            "url": "https://files.pythonhosted.org/packages/ef/e4/0a5868eec8c8cee279879c6518cce37098ccf4c8dc5ac7bfc8826f1d8ec5/scale_olm-0.14.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-29 23:45:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "wawiesel",
    "github_project": "olm",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "alabaster",
            "specs": [
                [
                    "==",
                    "0.7.16"
                ]
            ]
        },
        {
            "name": "annotated-types",
            "specs": [
                [
                    "==",
                    "0.6.0"
                ]
            ]
        },
        {
            "name": "anyio",
            "specs": [
                [
                    "==",
                    "4.2.0"
                ]
            ]
        },
        {
            "name": "apeye",
            "specs": [
                [
                    "==",
                    "1.4.1"
                ]
            ]
        },
        {
            "name": "apeye-core",
            "specs": [
                [
                    "==",
                    "1.1.4"
                ]
            ]
        },
        {
            "name": "appnope",
            "specs": [
                [
                    "==",
                    "0.1.3"
                ]
            ]
        },
        {
            "name": "argon2-cffi",
            "specs": [
                [
                    "==",
                    "23.1.0"
                ]
            ]
        },
        {
            "name": "argon2-cffi-bindings",
            "specs": [
                [
                    "==",
                    "21.2.0"
                ]
            ]
        },
        {
            "name": "arrow",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "asttokens",
            "specs": [
                [
                    "==",
                    "2.4.1"
                ]
            ]
        },
        {
            "name": "async-lru",
            "specs": [
                [
                    "==",
                    "2.0.4"
                ]
            ]
        },
        {
            "name": "attrs",
            "specs": [
                [
                    "==",
                    "23.2.0"
                ]
            ]
        },
        {
            "name": "autodocsumm",
            "specs": [
                [
                    "==",
                    "0.2.12"
                ]
            ]
        },
        {
            "name": "Babel",
            "specs": [
                [
                    "==",
                    "2.14.0"
                ]
            ]
        },
        {
            "name": "beautifulsoup4",
            "specs": [
                [
                    "==",
                    "4.12.3"
                ]
            ]
        },
        {
            "name": "black",
            "specs": [
                [
                    "==",
                    "23.12.1"
                ]
            ]
        },
        {
            "name": "bleach",
            "specs": [
                [
                    "==",
                    "6.1.0"
                ]
            ]
        },
        {
            "name": "boltons",
            "specs": [
                [
                    "==",
                    "23.1.1"
                ]
            ]
        },
        {
            "name": "bracex",
            "specs": [
                [
                    "==",
                    "2.4"
                ]
            ]
        },
        {
            "name": "build",
            "specs": [
                [
                    "==",
                    "1.0.3"
                ]
            ]
        },
        {
            "name": "bump2version",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "bumpversion",
            "specs": [
                [
                    "==",
                    "0.6.0"
                ]
            ]
        },
        {
            "name": "CacheControl",
            "specs": [
                [
                    "==",
                    "0.13.1"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2023.11.17"
                ]
            ]
        },
        {
            "name": "cffi",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "cfgv",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "chardet",
            "specs": [
                [
                    "==",
                    "5.2.0"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.3.2"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    "==",
                    "8.1.7"
                ]
            ]
        },
        {
            "name": "click-extra",
            "specs": [
                [
                    "==",
                    "4.7.3"
                ]
            ]
        },
        {
            "name": "cloup",
            "specs": [
                [
                    "==",
                    "3.0.4"
                ]
            ]
        },
        {
            "name": "comm",
            "specs": [
                [
                    "==",
                    "0.2.1"
                ]
            ]
        },
        {
            "name": "commentjson",
            "specs": [
                [
                    "==",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "contourpy",
            "specs": [
                [
                    "==",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "cssutils",
            "specs": [
                [
                    "==",
                    "2.9.0"
                ]
            ]
        },
        {
            "name": "cycler",
            "specs": [
                [
                    "==",
                    "0.12.1"
                ]
            ]
        },
        {
            "name": "debugpy",
            "specs": [
                [
                    "==",
                    "1.8.0"
                ]
            ]
        },
        {
            "name": "decorator",
            "specs": [
                [
                    "==",
                    "5.1.1"
                ]
            ]
        },
        {
            "name": "defusedxml",
            "specs": [
                [
                    "==",
                    "0.7.1"
                ]
            ]
        },
        {
            "name": "dict2css",
            "specs": [
                [
                    "==",
                    "0.3.0.post1"
                ]
            ]
        },
        {
            "name": "distlib",
            "specs": [
                [
                    "==",
                    "0.3.8"
                ]
            ]
        },
        {
            "name": "docutils",
            "specs": [
                [
                    "==",
                    "0.20.1"
                ]
            ]
        },
        {
            "name": "domdf-python-tools",
            "specs": [
                [
                    "==",
                    "3.8.0.post2"
                ]
            ]
        },
        {
            "name": "exceptiongroup",
            "specs": [
                [
                    "==",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "execnet",
            "specs": [
                [
                    "==",
                    "2.0.2"
                ]
            ]
        },
        {
            "name": "executing",
            "specs": [
                [
                    "==",
                    "2.0.1"
                ]
            ]
        },
        {
            "name": "fastjsonschema",
            "specs": [
                [
                    "==",
                    "2.19.1"
                ]
            ]
        },
        {
            "name": "filelock",
            "specs": [
                [
                    "==",
                    "3.13.1"
                ]
            ]
        },
        {
            "name": "fonttools",
            "specs": [
                [
                    "==",
                    "4.47.2"
                ]
            ]
        },
        {
            "name": "fqdn",
            "specs": [
                [
                    "==",
                    "1.5.1"
                ]
            ]
        },
        {
            "name": "h5py",
            "specs": [
                [
                    "==",
                    "3.10.0"
                ]
            ]
        },
        {
            "name": "html5lib",
            "specs": [
                [
                    "==",
                    "1.1"
                ]
            ]
        },
        {
            "name": "identify",
            "specs": [
                [
                    "==",
                    "2.5.33"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.6"
                ]
            ]
        },
        {
            "name": "imagesize",
            "specs": [
                [
                    "==",
                    "1.4.1"
                ]
            ]
        },
        {
            "name": "imohash",
            "specs": [
                [
                    "==",
                    "1.0.5"
                ]
            ]
        },
        {
            "name": "importlib-metadata",
            "specs": [
                [
                    "==",
                    "7.0.1"
                ]
            ]
        },
        {
            "name": "importlib-resources",
            "specs": [
                [
                    "==",
                    "6.1.1"
                ]
            ]
        },
        {
            "name": "iniconfig",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "ipykernel",
            "specs": [
                [
                    "==",
                    "6.29.0"
                ]
            ]
        },
        {
            "name": "ipython",
            "specs": [
                [
                    "==",
                    "8.18.1"
                ]
            ]
        },
        {
            "name": "isoduration",
            "specs": [
                [
                    "==",
                    "20.11.0"
                ]
            ]
        },
        {
            "name": "jaraco.classes",
            "specs": [
                [
                    "==",
                    "3.3.1"
                ]
            ]
        },
        {
            "name": "jedi",
            "specs": [
                [
                    "==",
                    "0.19.1"
                ]
            ]
        },
        {
            "name": "Jinja2",
            "specs": [
                [
                    "==",
                    "3.1.3"
                ]
            ]
        },
        {
            "name": "json5",
            "specs": [
                [
                    "==",
                    "0.9.14"
                ]
            ]
        },
        {
            "name": "jsonpointer",
            "specs": [
                [
                    "==",
                    "2.4"
                ]
            ]
        },
        {
            "name": "jsonschema",
            "specs": [
                [
                    "==",
                    "4.21.0"
                ]
            ]
        },
        {
            "name": "jsonschema-specifications",
            "specs": [
                [
                    "==",
                    "2023.12.1"
                ]
            ]
        },
        {
            "name": "jupyter-events",
            "specs": [
                [
                    "==",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "jupyter-lsp",
            "specs": [
                [
                    "==",
                    "2.2.2"
                ]
            ]
        },
        {
            "name": "jupyter_client",
            "specs": [
                [
                    "==",
                    "8.6.0"
                ]
            ]
        },
        {
            "name": "jupyter_core",
            "specs": [
                [
                    "==",
                    "5.7.1"
                ]
            ]
        },
        {
            "name": "jupyter_server",
            "specs": [
                [
                    "==",
                    "2.12.5"
                ]
            ]
        },
        {
            "name": "jupyter_server_terminals",
            "specs": [
                [
                    "==",
                    "0.5.1"
                ]
            ]
        },
        {
            "name": "jupyterlab",
            "specs": [
                [
                    "==",
                    "4.0.11"
                ]
            ]
        },
        {
            "name": "jupyterlab_pygments",
            "specs": [
                [
                    "==",
                    "0.3.0"
                ]
            ]
        },
        {
            "name": "jupyterlab_server",
            "specs": [
                [
                    "==",
                    "2.25.2"
                ]
            ]
        },
        {
            "name": "keyring",
            "specs": [
                [
                    "==",
                    "24.3.0"
                ]
            ]
        },
        {
            "name": "kiwisolver",
            "specs": [
                [
                    "==",
                    "1.4.5"
                ]
            ]
        },
        {
            "name": "lark-parser",
            "specs": [
                [
                    "==",
                    "0.7.8"
                ]
            ]
        },
        {
            "name": "Markdown",
            "specs": [
                [
                    "==",
                    "3.5.2"
                ]
            ]
        },
        {
            "name": "markdown-it-py",
            "specs": [
                [
                    "==",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "MarkupSafe",
            "specs": [
                [
                    "==",
                    "2.1.3"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    "==",
                    "3.8.2"
                ]
            ]
        },
        {
            "name": "matplotlib-inline",
            "specs": [
                [
                    "==",
                    "0.1.6"
                ]
            ]
        },
        {
            "name": "mdit-py-plugins",
            "specs": [
                [
                    "==",
                    "0.4.0"
                ]
            ]
        },
        {
            "name": "mdurl",
            "specs": [
                [
                    "==",
                    "0.1.2"
                ]
            ]
        },
        {
            "name": "mergedeep",
            "specs": [
                [
                    "==",
                    "1.3.4"
                ]
            ]
        },
        {
            "name": "mistune",
            "specs": [
                [
                    "==",
                    "3.0.2"
                ]
            ]
        },
        {
            "name": "mmh3",
            "specs": [
                [
                    "==",
                    "4.1.0"
                ]
            ]
        },
        {
            "name": "more-itertools",
            "specs": [
                [
                    "==",
                    "10.2.0"
                ]
            ]
        },
        {
            "name": "msgpack",
            "specs": [
                [
                    "==",
                    "1.0.7"
                ]
            ]
        },
        {
            "name": "mypy-extensions",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "myst-parser",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "natsort",
            "specs": [
                [
                    "==",
                    "8.4.0"
                ]
            ]
        },
        {
            "name": "nbclient",
            "specs": [
                [
                    "==",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "nbconvert",
            "specs": [
                [
                    "==",
                    "7.14.2"
                ]
            ]
        },
        {
            "name": "nbformat",
            "specs": [
                [
                    "==",
                    "5.9.2"
                ]
            ]
        },
        {
            "name": "nest-asyncio",
            "specs": [
                [
                    "==",
                    "1.5.9"
                ]
            ]
        },
        {
            "name": "nh3",
            "specs": [
                [
                    "==",
                    "0.2.15"
                ]
            ]
        },
        {
            "name": "nodeenv",
            "specs": [
                [
                    "==",
                    "1.8.0"
                ]
            ]
        },
        {
            "name": "notebook_shim",
            "specs": [
                [
                    "==",
                    "0.2.3"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "1.26.3"
                ]
            ]
        },
        {
            "name": "overrides",
            "specs": [
                [
                    "==",
                    "7.4.0"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "23.2"
                ]
            ]
        },
        {
            "name": "Pallets-Sphinx-Themes",
            "specs": [
                [
                    "==",
                    "2.1.1"
                ]
            ]
        },
        {
            "name": "pandocfilters",
            "specs": [
                [
                    "==",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "parso",
            "specs": [
                [
                    "==",
                    "0.8.3"
                ]
            ]
        },
        {
            "name": "pathspec",
            "specs": [
                [
                    "==",
                    "0.12.1"
                ]
            ]
        },
        {
            "name": "pexpect",
            "specs": [
                [
                    "==",
                    "4.9.0"
                ]
            ]
        },
        {
            "name": "pillow",
            "specs": [
                [
                    "==",
                    "10.2.0"
                ]
            ]
        },
        {
            "name": "pkginfo",
            "specs": [
                [
                    "==",
                    "1.9.6"
                ]
            ]
        },
        {
            "name": "platformdirs",
            "specs": [
                [
                    "==",
                    "4.1.0"
                ]
            ]
        },
        {
            "name": "pluggy",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "pre-commit",
            "specs": [
                [
                    "==",
                    "3.6.0"
                ]
            ]
        },
        {
            "name": "prometheus-client",
            "specs": [
                [
                    "==",
                    "0.19.0"
                ]
            ]
        },
        {
            "name": "prompt-toolkit",
            "specs": [
                [
                    "==",
                    "3.0.43"
                ]
            ]
        },
        {
            "name": "psutil",
            "specs": [
                [
                    "==",
                    "5.9.7"
                ]
            ]
        },
        {
            "name": "ptyprocess",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "pure-eval",
            "specs": [
                [
                    "==",
                    "0.2.2"
                ]
            ]
        },
        {
            "name": "pycparser",
            "specs": [
                [
                    "==",
                    "2.21"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    "==",
                    "2.5.3"
                ]
            ]
        },
        {
            "name": "pydantic_core",
            "specs": [
                [
                    "==",
                    "2.14.6"
                ]
            ]
        },
        {
            "name": "Pygments",
            "specs": [
                [
                    "==",
                    "2.17.2"
                ]
            ]
        },
        {
            "name": "pygments-ansi-color",
            "specs": [
                [
                    "==",
                    "0.3.0"
                ]
            ]
        },
        {
            "name": "pyparsing",
            "specs": [
                [
                    "==",
                    "3.1.1"
                ]
            ]
        },
        {
            "name": "pyproject_hooks",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "7.4.4"
                ]
            ]
        },
        {
            "name": "pytest-xdist",
            "specs": [
                [
                    "==",
                    "3.5.0"
                ]
            ]
        },
        {
            "name": "python-dateutil",
            "specs": [
                [
                    "==",
                    "2.8.2"
                ]
            ]
        },
        {
            "name": "python-json-logger",
            "specs": [
                [
                    "==",
                    "2.0.7"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    "==",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "pyzmq",
            "specs": [
                [
                    "==",
                    "25.1.2"
                ]
            ]
        },
        {
            "name": "readme-renderer",
            "specs": [
                [
                    "==",
                    "42.0"
                ]
            ]
        },
        {
            "name": "referencing",
            "specs": [
                [
                    "==",
                    "0.32.1"
                ]
            ]
        },
        {
            "name": "regex",
            "specs": [
                [
                    "==",
                    "2023.12.25"
                ]
            ]
        },
        {
            "name": "reportlab",
            "specs": [
                [
                    "==",
                    "4.1.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "requests-toolbelt",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "rfc3339-validator",
            "specs": [
                [
                    "==",
                    "0.1.4"
                ]
            ]
        },
        {
            "name": "rfc3986",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "rfc3986-validator",
            "specs": [
                [
                    "==",
                    "0.1.1"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "==",
                    "13.7.0"
                ]
            ]
        },
        {
            "name": "rpds-py",
            "specs": [
                [
                    "==",
                    "0.17.1"
                ]
            ]
        },
        {
            "name": "rst2pdf",
            "specs": [
                [
                    "==",
                    "0.101"
                ]
            ]
        },
        {
            "name": "ruamel.yaml",
            "specs": [
                [
                    "==",
                    "0.18.5"
                ]
            ]
        },
        {
            "name": "ruamel.yaml.clib",
            "specs": [
                [
                    "==",
                    "0.2.8"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    "==",
                    "1.11.4"
                ]
            ]
        },
        {
            "name": "Send2Trash",
            "specs": [
                [
                    "==",
                    "1.8.2"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "smartypants",
            "specs": [
                [
                    "==",
                    "2.0.1"
                ]
            ]
        },
        {
            "name": "sniffio",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "snowballstemmer",
            "specs": [
                [
                    "==",
                    "2.2.0"
                ]
            ]
        },
        {
            "name": "soupsieve",
            "specs": [
                [
                    "==",
                    "2.5"
                ]
            ]
        },
        {
            "name": "Sphinx",
            "specs": [
                [
                    "==",
                    "7.2.6"
                ]
            ]
        },
        {
            "name": "sphinx-autodoc-typehints",
            "specs": [
                [
                    "==",
                    "1.25.2"
                ]
            ]
        },
        {
            "name": "sphinx-click",
            "specs": [
                [
                    "==",
                    "5.1.0"
                ]
            ]
        },
        {
            "name": "sphinx-copybutton",
            "specs": [
                [
                    "==",
                    "0.5.2"
                ]
            ]
        },
        {
            "name": "sphinx-jinja2-compat",
            "specs": [
                [
                    "==",
                    "0.2.0.post1"
                ]
            ]
        },
        {
            "name": "sphinx-jsonschema",
            "specs": [
                [
                    "==",
                    "1.19.1"
                ]
            ]
        },
        {
            "name": "sphinx-notfound-page",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "sphinx-prompt",
            "specs": [
                [
                    "==",
                    "1.8.0"
                ]
            ]
        },
        {
            "name": "sphinx-rtd-theme",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "sphinx-tabs",
            "specs": [
                [
                    "==",
                    "3.4.5"
                ]
            ]
        },
        {
            "name": "sphinx-term",
            "specs": [
                [
                    "==",
                    "0.1"
                ]
            ]
        },
        {
            "name": "sphinx-toolbox",
            "specs": [
                [
                    "==",
                    "3.5.0"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-applehelp",
            "specs": [
                [
                    "==",
                    "1.0.8"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-devhelp",
            "specs": [
                [
                    "==",
                    "1.0.6"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-htmlhelp",
            "specs": [
                [
                    "==",
                    "2.0.5"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-jquery",
            "specs": [
                [
                    "==",
                    "4.1"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-jsmath",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-qthelp",
            "specs": [
                [
                    "==",
                    "1.0.7"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-serializinghtml",
            "specs": [
                [
                    "==",
                    "1.1.10"
                ]
            ]
        },
        {
            "name": "stack-data",
            "specs": [
                [
                    "==",
                    "0.6.3"
                ]
            ]
        },
        {
            "name": "structlog",
            "specs": [
                [
                    "==",
                    "24.1.0"
                ]
            ]
        },
        {
            "name": "tabulate",
            "specs": [
                [
                    "==",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "terminado",
            "specs": [
                [
                    "==",
                    "0.18.0"
                ]
            ]
        },
        {
            "name": "termynal",
            "specs": [
                [
                    "==",
                    "0.11.1"
                ]
            ]
        },
        {
            "name": "testbook",
            "specs": [
                [
                    "==",
                    "0.4.2"
                ]
            ]
        },
        {
            "name": "tinycss2",
            "specs": [
                [
                    "==",
                    "1.2.1"
                ]
            ]
        },
        {
            "name": "tomli",
            "specs": [
                [
                    "==",
                    "2.0.1"
                ]
            ]
        },
        {
            "name": "tornado",
            "specs": [
                [
                    "==",
                    "6.4"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.66.1"
                ]
            ]
        },
        {
            "name": "traitlets",
            "specs": [
                [
                    "==",
                    "5.14.1"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": [
                [
                    "==",
                    "5.0.0"
                ]
            ]
        },
        {
            "name": "types-python-dateutil",
            "specs": [
                [
                    "==",
                    "2.8.19.20240106"
                ]
            ]
        },
        {
            "name": "typing_extensions",
            "specs": [
                [
                    "==",
                    "4.9.0"
                ]
            ]
        },
        {
            "name": "uri-template",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.1.0"
                ]
            ]
        },
        {
            "name": "varint",
            "specs": [
                [
                    "==",
                    "1.0.2"
                ]
            ]
        },
        {
            "name": "virtualenv",
            "specs": [
                [
                    "==",
                    "20.25.0"
                ]
            ]
        },
        {
            "name": "wcmatch",
            "specs": [
                [
                    "==",
                    "8.5"
                ]
            ]
        },
        {
            "name": "wcwidth",
            "specs": [
                [
                    "==",
                    "0.2.13"
                ]
            ]
        },
        {
            "name": "webcolors",
            "specs": [
                [
                    "==",
                    "1.13"
                ]
            ]
        },
        {
            "name": "webencodings",
            "specs": [
                [
                    "==",
                    "0.5.1"
                ]
            ]
        },
        {
            "name": "websocket-client",
            "specs": [
                [
                    "==",
                    "1.7.0"
                ]
            ]
        },
        {
            "name": "xmltodict",
            "specs": [
                [
                    "==",
                    "0.13.0"
                ]
            ]
        },
        {
            "name": "zipp",
            "specs": [
                [
                    "==",
                    "3.17.0"
                ]
            ]
        }
    ],
    "lcname": "scale-olm"
}
        
Elapsed time: 0.82632s