{"id":34086407,"url":"https://github.com/wawiesel/olm","last_synced_at":"2026-04-09T04:31:47.697Z","repository":{"id":222443137,"uuid":"660807761","full_name":"wawiesel/olm","owner":"wawiesel","description":"Python utilities for creating and checking ORIGEN reactor libraries","archived":false,"fork":false,"pushed_at":"2025-05-30T23:01:58.000Z","size":7563,"stargazers_count":3,"open_issues_count":6,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-12T14:31:21.972Z","etag":null,"topics":["data","depletion","nuclear","origen","scale","transmutation"],"latest_commit_sha":null,"homepage":"https://scale-olm.readthedocs.io/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wawiesel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-30T22:45:40.000Z","updated_at":"2025-05-30T23:02:03.000Z","dependencies_parsed_at":"2024-10-29T14:44:58.585Z","dependency_job_id":null,"html_url":"https://github.com/wawiesel/olm","commit_stats":null,"previous_names":["wawiesel/olm"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/wawiesel/olm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wawiesel%2Folm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wawiesel%2Folm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wawiesel%2Folm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wawiesel%2Folm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wawiesel","download_url":"https://codeload.github.com/wawiesel/olm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wawiesel%2Folm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31586403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data","depletion","nuclear","origen","scale","transmutation"],"created_at":"2025-12-14T13:27:33.592Z","updated_at":"2026-04-09T04:31:47.692Z","avatar_url":"https://github.com/wawiesel.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"## ORIGEN Library Manager (OLM)\n\n[![Documentation Status](https://readthedocs.org/projects/scale-olm/badge/?version=v0.14.2)](https://scale-olm.readthedocs.io/en/v0.14.2)\n[![codecov](https://codecov.io/gh/wawiesel/olm/branch/main/graph/badge.svg)](https://codecov.io/gh/wawiesel/olm)\n\nThe latest stable version is [v0.14.2](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'\u003erequirements.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. Note we are using the\n`pytest-xdist` extension which allows parallel testing.\n\n```console\n$ pytest -n 6 .\n```\n\nTo run tests with coverage reporting:\n\n```console\n$ pytest --cov=scale --cov-report=term-missing -n 6 .\n```\n\nTo generate an HTML coverage report:\n\n```console\n$ pytest --cov=scale --cov-report=html --cov-report=term-missing -n 6 .\n$ open htmlcov/index.html\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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwawiesel%2Folm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwawiesel%2Folm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwawiesel%2Folm/lists"}