openmc-dev / plotter Goto Github PK
View Code? Open in Web Editor NEWNative plotting GUI for model design and verification
License: MIT License
Native plotting GUI for model design and verification
License: MIT License
One thing that would be nice a mode in which a user could click and drag to get a measurement in the plot area. It would help a to ensure cells/components are sized correctly.
As part of the latest NEA OpenMC workshop, we plotted source sites on top of the geometry and tally information. We did this using the openmc.Tracks
class, but I don't see why we couldn't do the same here with the openmc.lib.sample_external_source
feature.
It would provide an somewhat interactive to provide users some assurance that their source is defined correctly.
Add a hotkey to overlay available plot controls.
Now that OpenMC has a cell instance filter, it would be great if our plotter could tell you what instance of a cell you are looking at (in the status bar). This will require changing the API on the OpenMC side first, but once that's ready, it should be pretty straightforward to display the information in the plotter.
Hi all
I've been exploring the landscape for plotting openmc materials, geometry and meshes.
I've got a few ideas about possible developments to the plotter that I wanted to share. and get peoples thoughts on.
ππ» When plotting a just a geometry we currently need to also load up materials. I've started trying to decouple the two with this PR but further PRs are needed if we want to remove this requirement.
ππ» When launching the plotter it loads up local xml files automatically. If we want to plot geometry or materials or meshtally we need openmc install and the openmc binary. For instance the plotter runs openmc in plot mode then loads up the resulting image. But there are other ways of finding the materials and geometry on a grid, using the openmc.Geometry.find() method I've written two functions that monkey patch openmc.Geometry to allow the materials or cells to be found on a grid and this grid becomes and image. These are not c++ based like the openmc plot but as there is no need to load nuclear data or run openmc the time to plot is comparable. Also the for loop could be parallelised if speed becomes an issue.
Regardless of if we make use of the Geometry.find method I think it makes sense to migrate all data extraction functionality to openmc and then call it from the plotter. This will help keep the code in the plotter minimal and avoid duplication with openmc. If we do this then users have the option of using the plotter and the python API to make batch plots. This issue has come up on the forum and I've put in a PR for slicing regular meshes. I think there are 3 data extraction functions we need (cells, materials, mesh tally result). I think there are also some axis manipulation needed as well but that varies across the plotting tools (imshow is different to contour and plotly is different to mpl).
Is this totally going in the wrong direction?
Is the π python based find method robust enough to rely on?
Is it worth moving code to openmc so that it can be shared with API users?
When the application exits, openmc.capi.finalize
is never called which can (and, for me, often does) result in a segfault. Somewhere that needs to be called upon the application exiting.
Hi all,
Just looking around the repo and noticed it is 100% python.
Therefore I think would be fairly straight forward to make a conda install and pip install on PyPi for this tool
What do you think, I am happy to help with this if the feature if it is of interest
When the application is first opened, the functions for the id/material mapping are called twice.
I've had a couple of requests from users now about being able to generate or re-generate images without opening the GUI. As a start it would be nice to be able to provide a saved view and regenerate an image by handing a flag and view file to the plotter entry point.
Hi, I just installed the plotter using the following command in my openmc-env conda environment:
$ pip install openmc-plotter
I did not encounter any errors with the installation; however, when I tried to open the plotter with the following command:
$ openmc-plotter
I received the following error:
Traceback (most recent call last):
File "/home/cdunn314/anaconda3/envs/openmc-env/bin/openmc-plotter", line 5, in <module>
from openmc_plotter.__main__ import main
File "/home/cdunn314/anaconda3/envs/openmc-env/lib/python3.10/site-packages/openmc_plotter/__main__.py", line 8, in <module>
from PySide2 import QtCore, QtGui
ImportError: /lib/x86_64-linux-gnu/libgssapi_krb5.so.2: undefined symbol: krb5_ser_context_init, version krb5_3_MIT
I reinstalled PySide2, but I still encountered the same error when trying to run openmc-plotter. Does anyone know how to resolve this error?
Sometimes I'm working with a model and I want to change the colors of certain materials / cells and move around in the model. Often, I just want to "zoom out" all the way back to the default view (ctrl+r), but when I do this, any color settings I've changed also get reset. It would be nice if there were an in-between option, or if resetting the view and resetting the color/other settings were two separate things.
I just noticed that double-clicking doesn't seem to change the origin anymore. The updated coordinates show up in the text boxes for a moment while it is "Generating plot..." but the position never changes and then the coordinates displayed in the text boxes just get reset to what they were before.
Just opened #34 and realized it wouldn't take much additional effort to export temperature and density information via the plotter too. Decided to add an issue so it isn't forgotten.
Right now, the state of the model view gets dumped into one large file plot_settings.pkl
. It could be beneficial to separate information about the view and the model to save two different files. Basically, saving things about the view that are model independent (viewing plane, origin, plot size, whether to view by cell, mat, density, etc, possibly color, etc) as one file that can easily be reloaded and then save the information relevant to the model (mat ids, cell ids, etc) in a separate file. This would make it easier to check just the model for changes when reopening, but save some of the view settings so one doesn't have to redo those.
It's not clear how and where to exactly separate this information since right now it is all just part of the model
object.
One feature mentioned by @makeclean is coloring of overlap regions. This shouldn't be too difficult to support (make sure overlap checking is always on in the plotter, add a new negative value to indicate an overlap region, color appropriately).
Another nice feature/tool to add to the plotter would be an overlap "detector" which would slice along a specified interval, stopping when an any overlapping regions are detected and displaying the slice it stopped on.
The tool should require a minimum version of OpenMC and report a version in compatibility before loading the application. As of now, the only indication is some error in the terminal output -- usually buried by a Qt traceback.
https://openmc.discourse.group/t/question-about-openmc-plotter/1050
when I run openmc-plotter
, if any material in my materials.xml file has a density < 1.0 g/cm3, I get
ERROR: Need to specify a positive density on material [material_id]
I first noticed on a helium material (density on the order of 1e-4 g/cm3), but while debugging I noticed that I still get it even at 0.99 g/cm3, but not at 1.0 g/cm3. Not sure if this is by design perhaps.
Hello @pshriwise and @paulromano
I hope you are doing well. I tried installing the plotter using python3 setup.py build and then python3 setup.py install. build went OK but install gives error that openmc not found although when i use pip list command it shows both of them installed side by side and i am using openmc using ipython.
secondly with the recent changes (installation and others), i can't seem to run the plotter anyhow. I have used the python /path/to/openmc-plotter and other variants.
your help in this regard will be appreciated
Right now we get a lot of errors if the plot_settings.pkl
file doesn't match the current model closely enough when starting the plotter. This happens often when building a model:
plot_settings.pkl
is written)It would be really useful to have some kind of automated detection as to whether or not that file is still valid for the model. This will likely require some hashing of the XML files, which might be a useful feature to add to OpenMC itself.
In #99 @kkiesling noted that a previous view appears in the Edit
menu before any changes have been applied by the user.
The flow which causes this is:
MainWindow
PlotIndependent.masking
is set to True
for the initial current and active view.MainWindow.loadGui
and MainWindow.updateEditMenu
is calledMainWindow.updateEditMenu
calls the setChecked
method of the masking check box to ensure it's state matches that of the view. If this call changes the state of that check box, then the callback method is going to trigger an applyChanges
call and create a new view.It seems to me that the default value of the masking check box in the color dialog doesn't match the view setting and results in the creation of a new view.
I verified this by adding this line in MainWindow.createMenuBar
self.maskingAction.setChecked(True)
before the item is connected to its callback method. This removed the superfluous previous view.
Because this mismatch in default value vs. widget state is subtle and likely to occur again, it might be good to consider a setting on the MainWindow
class that disables the generation of new views until the GUI has finished loading.
There are some super useful units built into the plotter
However in some cases it might be handy if the user can specify the units.
My use case is when using an EnergyFunctionFilter the code can't be sure what units the function (with the current lack of units in tallies)
In this case it would be useful if the user can assign units to make use of on the colorbar
This could potentially be part of adding a scaling factor #105 as one could have a scaling factor units as well.
Making use of this super plotter and I'm keen to be able to plot RegularMesh results with a custom scaling factor.
I am also keen to be able to plot with the RegularMesh result normalised by the voxel size.
I would be happy to put in a couple of PRs if the request sounds reasonable
Merge conflicts occur betwwen
We're stuck on PySide2 right now and due for an upgrade (perhaps to PySide6?)
Some output options should always be set to false when using the plot GUI. output
is one such option.
Right now when you plot something that requires a colorbar (ie color by temperature or density), the default behavior is to take the min and max data values for the colorbar from the current view. It would be beneficial to also have the option to color by the entire model data range instead of just the view. Currently, a user can manually set a custom data range, but that requires knowledge of the entire model already / can be tedious to change this.
A proposed solution is to add a check box to select a color bar based on the current view or the entire model.
The only obstacle to implementing this is that we currently only load data for the current view, so this full model data is not readily available with the current setup. While it may be possible to load the full model and determine this info, it may be slow/complex for large models. For this reason, I'd suggest the default behavior to still be to color based on view and only load this info if asked. Then we'd store the info to only have do this once per property.
One thing I've noticed is that the axis labels on the embedded matplotlib figure appear pretty small on my high DPI monitor (2560x1440 on a 14" screen). One way to fix the axis labels is:
from PySide2.QtCore import QCoreApplication, Qt
QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
but this ends up screwing up the rest of the GUI (as well as the splash screen).
Plotting tallies that use DistribcellFilter
or CellInstanceFilter
is quite onerous right now -- having the ability to plot such tallies would greatly improve the workflow for users.
Hi, I'm having issues getting openmc-plotter to run. I was getting issues with pyside2, so i removed the environment I was using, and installed everything again. Openmc runs fine, but when I reinstalled openmc-plotter (using PIP), I get this error now.
"qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb."
Any help would be much appreciated, I'm pretty lost.
Cheers.
Really liking the plotting capabilities of this package
I think I stubbled across a small bug
When plotting regular mesh tallies that include a EnergyFunctionFilter the displayed result is all zeros.
This would be a useful feature as plotting dose maps could then be performed
The plotter currently only supports visualization of MeshFilter
results for a regular mesh. Addition of the following mesh types would be great at some point:
Rectilinear is relatively low handing fruit, but the others are much more involved.
It would be really useful to be able to generate a plots.xml file from the plotter so views can be reproduced with the openmc executable.
Hello! I try to start openmc-plotter, but have error -
Traceback (most recent call last):
File "signature_bootstrap.py", line 110, in bootstrap
File "/home/ilya/anaconda3/envs/openmc-env1/lib/python3.10/posixpath.py", line 152, in dirname
p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType
SystemError: could not initialize part 2
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/ilya/anaconda3/envs/openmc-env1/bin/openmc-plotter", line 5, in
from openmc_plotter.main import main
File "/home/ilya/anaconda3/envs/openmc-env1/lib/python3.10/site-packages/openmc_plotter/main.py", line 11, in
from .main_window import MainWindow, _openmcReload
File "/home/ilya/anaconda3/envs/openmc-env1/lib/python3.10/site-packages/openmc_plotter/main_window.py", line 14, in
import openmc
File "/home/ilya/anaconda3/envs/openmc-env1/lib/python3.10/site-packages/openmc/init.py", line 1, in
from openmc.arithmetic import *
File "/home/ilya/anaconda3/envs/openmc-env1/lib/python3.10/site-packages/openmc/arithmetic.py", line 4, in
import numpy as np
File "/home/ilya/anaconda3/envs/openmc-env1/lib/python3.10/site-packages/numpy/init.py", line 144, in
from . import core
File "/home/ilya/anaconda3/envs/openmc-env1/lib/python3.10/site-packages/numpy/core/init.py", line 23, in
from . import multiarray
File "/home/ilya/anaconda3/envs/openmc-env1/lib/python3.10/site-packages/numpy/core/multiarray.py", line 81, in
def empty_like(prototype, dtype=None, order=None, subok=None, shape=None):
File "/home/ilya/anaconda3/envs/openmc-env1/lib/python3.10/site-packages/numpy/core/overrides.py", line 201, in decorator
return array_function_dispatch(
File "/home/ilya/anaconda3/envs/openmc-env1/lib/python3.10/site-packages/numpy/core/overrides.py", line 178, in decorator
def public_api(*args, **kwargs):
File "/home/ilya/anaconda3/envs/openmc-env1/lib/python3.10/functools.py", line 52, in update_wrapper
value = getattr(wrapped, attr)
SystemError: <method-wrapper 'get' of getset_descriptor object at 0x7fb5dfaf79c0> returned a result with an exception set
And maybe we help me with other one. I dont understand, why i cant use openmcdiscussionforum. My name - ilyavitte. When I try to make some topic, i see message - permission denied. Why?
The transform method from Matplotlib sometimes uses the bottom of the x-axis text as the bottom of the viewing area and other times uses the bottom of the plot region. It is unclear under what conditions this happens, I'll need to take a look at the documentation.
It would be nice to have a small dialog on startup that just indicates that the model is loading rather than only seeing console output.
Hello, everyone!
I am trying to launch openmc-plotter and get the following error:
TypeError: 'PySide2.QtCore.Qt.Alignment' object cannot be interpreted as an integer
/home/alx8kv/venvs/env/lib/python3.11/site-packages/openmc_plotter/__main__.py:52: RuntimeWarning: libshiboken: Overflow: Value <PySide2.QtCore.Qt.Alignment object at 0x7fe048710ef0> exceeds limits of type [signed] "i" (4bytes).
splash.showMessage("Loading Model...",
Traceback (most recent call last):
File "/home/alx8kv/venvs/env/bin/openmc-plotter", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/alx8kv/venvs/env/lib/python3.11/site-packages/openmc_plotter/__main__.py", line 32, in main
run_app(args)
File "/home/alx8kv/venvs/env/lib/python3.11/site-packages/openmc_plotter/__main__.py", line 52, in run_app
splash.showMessage("Loading Model...",
OverflowError
I use Debian in WSL2, if that has anything to do with that. Everything was installed with pip, rather than conda.
If I am missing something, could you. please, point me in the right direction?
Now that we're using matplotlib
as a viewing backend and generating images based on id/property maps, many of the view updates which used to require calls into OpenMC can now be done by modifying the data we're storing in place in the GUI.
While this creates an opportunity to make the GUI run more smoothly, it also blurs the lines between the "active view" (the updated, but unapplied view) and the "current view" (the view on screen) in the plotting model. Where before, any change to the current view would require plot regeneration we can now limit this to parameters being passed to the get_id_map/get_property_map
function and do all other updates on the current set of data stored on the model. We now need to distinguish between these items to do it properly throughout the model, view, and controller. As part of this effort, I'm going to attempt to only enable the Apply Changes
buttons when new id/property map generation is necessary to update the view to ensure this isn't being hit unnecessarily by users.
Analagous to #81, displaying material compositions in the context menu or status bar would be a really useful debugging capability.
Displaying cell regions in the context menu or status bar would be a really useful debugging capability.
I just noticed that Qt 6 now exists, along with corresponding Python bindings PySide6 and PyQt6. Eventually we'll want to add support for this new version.
Unexpected Indentation on line 378 causes script run to fail.
I created a new conda environment to install the plotter (two actually, see below) and both fail to launch the plotter (two different errors). In each case below, I mamba install openmc and pip install -e the plotter source.
base
env>> conda create --name test_plotter --clone base
>> mamba install -c conda-forge openmc
>> pip install -e .
The above install steps work. But then trying to launch the plotter (from the test/setup_test/
dir) gives this error:
>> openmc-plotter
objc[23633]: Class RunLoopModeTracker is implemented in both /Users/kkiesling/opt/anaconda3/envs/test_plotter/lib/python3.9/site-packages/PySide2/Qt/lib/QtCore.framework/Versions/5/QtCore (0x1140ae288) and /Users/kkiesling/opt/anaconda3/envs/test_plotter/lib/libQt5Core.5.9.7.dylib (0x14420aa80). One of the two will be used. Which one is undefined.
QObject::moveToThread: Current thread (0x6000022b6f40) is not the object's thread (0x6000022bc050).
Cannot move to target thread (0x6000022b6f40)
You might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded.
qt.qpa.plugin: Could not load the Qt platform plugin "cocoa" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: cocoa, minimal, offscreen.
Abort trap: 6
>> conda list
# packages in environment at /Users/kkiesling/opt/anaconda3/envs/test_plotter:
#
# Name Version Build Channel
_ipyw_jlab_nb_ext_conf 0.1.0 py39hecd8cb5_0
alabaster 0.7.12 pyhd3eb1b0_0
anaconda-client 1.9.0 py39hecd8cb5_0
anaconda-project 0.10.1 pyhd3eb1b0_0
anyio 2.2.0 py39hecd8cb5_1
appdirs 1.4.4 pyhd3eb1b0_0
applaunchservices 0.2.1 pyhd3eb1b0_0
appnope 0.1.2 py39hecd8cb5_1001
appscript 1.1.2 py39h9ed2024_0
argh 0.26.2 py39hecd8cb5_0
argon2-cffi 20.1.0 py39h9ed2024_1
arrow 0.13.1 py39hecd8cb5_0
asn1crypto 1.4.0 py_0
astroid 2.6.6 py39hecd8cb5_0
astropy 4.3.1 py39hf9932de_0
async_generator 1.10 pyhd3eb1b0_0
atomicwrites 1.4.0 py_0
attrs 21.2.0 pyhd3eb1b0_0
autopep8 1.5.7 pyhd3eb1b0_0
babel 2.9.1 pyhd3eb1b0_0
backcall 0.2.0 pyhd3eb1b0_0
backports 1.0 pyhd3eb1b0_2
backports.functools_lru_cache 1.6.4 pyhd3eb1b0_0
backports.shutil_get_terminal_size 1.0.0 pyhd3eb1b0_3
backports.tempfile 1.0 pyhd3eb1b0_1
backports.weakref 1.0.post1 py_1
beautifulsoup4 4.10.0 pyh06a4308_0
binaryornot 0.4.4 pyhd3eb1b0_1
bitarray 2.3.0 py39h9ed2024_1
bkcharts 0.2 py39hecd8cb5_0
black 19.10b0 py_0
blas 1.0 mkl
bleach 4.0.0 pyhd3eb1b0_0
blosc 1.21.0 h2842e9f_0
bokeh 2.4.1 py39hecd8cb5_0
boto 2.49.0 py39hecd8cb5_0
bottleneck 1.3.2 py39he3068b8_1
brotli 1.0.9 hb1e8313_2
brotlipy 0.7.0 py39h9ed2024_1003
brunsli 0.1 h23ab428_0
bzip2 1.0.8 h1de35cc_0
c-ares 1.17.1 h9ed2024_0
ca-certificates 2022.4.26 hecd8cb5_0
cached-property 1.5.2 py_0
certifi 2021.10.8 py39h6e9494a_2 conda-forge
cffi 1.14.6 py39h2125817_0
cfitsio 4.1.0 h2c97ad1_0 conda-forge
chardet 4.0.0 py39hecd8cb5_1003
charls 2.2.0 h23ab428_0
charset-normalizer 2.0.4 pyhd3eb1b0_0
click 8.0.3 pyhd3eb1b0_0
cloudpickle 2.0.0 pyhd3eb1b0_0
clyent 1.2.2 py39hecd8cb5_1
colorama 0.4.4 pyhd3eb1b0_0
conda-content-trust 0.1.1 pyhd3eb1b0_0
conda-pack 0.6.0 pyhd3eb1b0_0
conda-package-handling 1.8.1 py39hca72f7f_0
conda-repo-cli 1.0.4 pyhd3eb1b0_0
conda-verify 3.4.2 py_1
contextlib2 0.6.0.post1 pyhd3eb1b0_0
cookiecutter 1.7.2 pyhd3eb1b0_0
cryptography 3.4.8 py39h2fd3fbb_0
curl 7.82.0 hca72f7f_0
cycler 0.10.0 py39hecd8cb5_0
cython 0.29.24 py39he9d5cce_0
cytoolz 0.11.0 py39h9ed2024_0
daal4py 2021.3.0 py39h01d92e1_0
dagmc 3.2.1 nompi_py39hb622291_108 conda-forge
dal 2021.3.0 hecd8cb5_555
dask 2021.10.0 pyhd3eb1b0_0
dask-core 2021.10.0 pyhd3eb1b0_0
dataclasses 0.8 pyh6d0b6a4_7
debugpy 1.4.1 py39h23ab428_0
decorator 5.1.0 pyhd3eb1b0_0
defusedxml 0.7.1 pyhd3eb1b0_0
diff-match-patch 20200713 pyhd3eb1b0_0
distributed 2021.10.0 py39hecd8cb5_0
docutils 0.17.1 py39hecd8cb5_1
eigen 3.4.0 h940c156_0 conda-forge
entrypoints 0.3 py39hecd8cb5_0
et_xmlfile 1.1.0 py39hecd8cb5_0
fastcache 1.1.0 py39h9ed2024_0
filelock 3.3.1 pyhd3eb1b0_1
flake8 3.9.2 pyhd3eb1b0_0
flask 1.1.2 pyhd3eb1b0_0
fonttools 4.25.0 pyhd3eb1b0_0
freetype 2.10.4 ha233b18_0
fsspec 2021.8.1 pyhd3eb1b0_0
future 0.18.2 py39hecd8cb5_1
get_terminal_size 1.0.0 h7520d66_0
gevent 21.8.0 py39h9ed2024_1
giflib 5.2.1 haf1e3a3_0
glob2 0.7 pyhd3eb1b0_0
gmp 6.2.1 h23ab428_2
gmpy2 2.0.8 py39h4b98818_3
greenlet 1.1.1 py39h23ab428_0
h5py 3.6.0 nompi_py39hbc6cb89_100 conda-forge
hdf4 4.2.15 hefd3b78_3 conda-forge
hdf5 1.12.1 nompi_ha60fbc9_104 conda-forge
heapdict 1.0.1 pyhd3eb1b0_0
html5lib 1.1 pyhd3eb1b0_0
icu 58.2 h0a44026_3
idna 3.2 pyhd3eb1b0_0
imagecodecs 2021.3.31 py39h5071892_0 conda-forge
imageio 2.9.0 pyhd3eb1b0_0
imagesize 1.2.0 pyhd3eb1b0_0
importlib-metadata 4.8.1 py39hecd8cb5_0
importlib_metadata 4.8.1 hd3eb1b0_0
inflection 0.5.1 py39hecd8cb5_0
iniconfig 1.1.1 pyhd3eb1b0_0
intel-openmp 2021.4.0 hecd8cb5_3538
intervaltree 3.1.0 pyhd3eb1b0_0
ipykernel 6.4.1 py39hecd8cb5_1
ipython 7.29.0 py39h01d92e1_0
ipython_genutils 0.2.0 pyhd3eb1b0_1
ipywidgets 7.6.5 pyhd3eb1b0_1
isort 5.9.3 pyhd3eb1b0_0
itsdangerous 2.0.1 pyhd3eb1b0_0
jbig 2.1 h4d881f8_0
jdcal 1.4.1 pyhd3eb1b0_0
jedi 0.18.0 py39hecd8cb5_1
jinja2 2.11.3 pyhd3eb1b0_0
jinja2-time 0.2.0 pyhd3eb1b0_2
joblib 1.1.0 pyhd3eb1b0_0
jpeg 9d h9ed2024_0
json5 0.9.6 pyhd3eb1b0_0
jsonschema 3.2.0 pyhd3eb1b0_2
jupyter 1.0.0 py39hecd8cb5_7
jupyter_client 6.1.12 pyhd3eb1b0_0
jupyter_console 6.4.0 pyhd3eb1b0_0
jupyter_core 4.8.1 py39hecd8cb5_0
jupyter_server 1.4.1 py39hecd8cb5_0
jupyterlab 3.2.1 pyhd3eb1b0_1
jupyterlab_pygments 0.1.2 py_0
jupyterlab_server 2.8.2 pyhd3eb1b0_0
jupyterlab_widgets 1.0.0 pyhd3eb1b0_1
jxrlib 1.1 haf1e3a3_2
keyring 23.1.0 py39hecd8cb5_0
kiwisolver 1.3.1 py39h23ab428_0
krb5 1.19.2 hcd88c3b_0
lazy-object-proxy 1.6.0 py39h9ed2024_0
lcms2 2.12 hf1fd2bf_0
lerc 2.2.1 h046ec9c_0 conda-forge
libaec 1.0.4 hb1e8313_1
libarchive 3.4.2 haa3ed63_0
libblas 3.9.0 12_osx64_mkl conda-forge
libcblas 3.9.0 12_osx64_mkl conda-forge
libcurl 7.82.0 h6dfd666_0
libcxx 13.0.1 hc203e6f_0 conda-forge
libdeflate 1.7 h35c211d_5 conda-forge
libedit 3.1.20210910 hca72f7f_0
libev 4.33 h9ed2024_1
libffi 3.3 hb1e8313_2
libgfortran 5.0.0 9_3_0_h6c81a4c_23 conda-forge
libgfortran5 9.3.0 h6c81a4c_23 conda-forge
libiconv 1.16 h1de35cc_0
liblapack 3.9.0 12_osx64_mkl conda-forge
liblief 0.10.1 h23ab428_1
libllvm11 11.1.0 h9b2ccf5_0
libnetcdf 4.8.1 nompi_h6609ca0_101 conda-forge
libnghttp2 1.46.0 ha29bfda_0
libpng 1.6.37 ha441bb4_0
libsodium 1.0.18 h1de35cc_0
libsolv 0.7.20 h8346a28_0
libspatialindex 1.9.3 h23ab428_0
libssh2 1.9.0 ha12b0ac_1
libtiff 4.2.0 h87d7836_0
libuv 1.40.0 haf1e3a3_0
libwebp 1.2.0 hacca55c_0
libwebp-base 1.2.0 h9ed2024_0
libxml2 2.9.12 hcdb78fc_0
libxslt 1.1.34 h83b36ba_0
libzip 1.8.0 h8b0c345_1 conda-forge
libzlib 1.2.11 h6c3fc93_1014 conda-forge
libzopfli 1.0.3 hb1e8313_0
llvm-openmp 12.0.0 h0dcd299_1
llvmlite 0.37.0 py39he4411ff_1
locket 0.2.1 py39hecd8cb5_1
lxml 4.6.3 py39h26b266a_0
lz4-c 1.9.3 h23ab428_1
lzo 2.10 haf1e3a3_2
markupsafe 1.1.1 py39h9ed2024_0
matplotlib 3.4.3 py39hecd8cb5_0
matplotlib-base 3.4.3 py39h0a11d32_0
matplotlib-inline 0.1.2 pyhd3eb1b0_2
mccabe 0.6.1 py39hecd8cb5_1
metis 5.1.0 h2e338ed_1006 conda-forge
mistune 0.8.4 py39h9ed2024_1000
mkl 2021.4.0 hecd8cb5_637
mkl-service 2.4.0 py39h9ed2024_0
mkl_fft 1.3.1 py39h4ab4a9b_0
mkl_random 1.2.2 py39hb2f4e1b_0
moab 5.3.1 nompi_tempest_py39h3c1fb0f_5 conda-forge
mock 4.0.3 pyhd3eb1b0_0
more-itertools 8.10.0 pyhd3eb1b0_0
mpc 1.1.0 h6ef4df4_1
mpfr 4.0.2 h9066e36_1
mpi 1.0 mpich
mpich 3.3.2 hd33e60e_4 conda-forge
mpmath 1.2.1 py39hecd8cb5_0
msgpack-python 1.0.2 py39hf7b0b51_1
multipledispatch 0.6.0 py39hecd8cb5_0
munkres 1.1.4 py_0
mypy_extensions 0.4.3 py39hecd8cb5_0
navigator-updater 0.2.1 py39hecd8cb5_0
nbclassic 0.2.6 pyhd3eb1b0_0
nbclient 0.5.3 pyhd3eb1b0_0
nbconvert 6.1.0 py39hecd8cb5_0
nbformat 5.1.3 pyhd3eb1b0_0
ncurses 6.3 hca72f7f_1
nest-asyncio 1.5.1 pyhd3eb1b0_0
networkx 2.6.3 pyhd3eb1b0_0
nltk 3.6.5 pyhd3eb1b0_0
nose 1.3.7 pyhd3eb1b0_1006
notebook 6.4.5 py39hecd8cb5_0
numba 0.54.1 py39hae1ba45_0
numexpr 2.7.3 py39h5873af2_1
numpy 1.20.3 py39h4b4dc7a_0
numpy-base 1.20.3 py39he0bd621_0
numpydoc 1.1.0 pyhd3eb1b0_1
olefile 0.46 pyhd3eb1b0_0
openjpeg 2.4.0 h66ea3da_0
openmc 0.13.0 dagmc_py39h9c88ee2_101 conda-forge
openmc-plotter 0.2.0 dev_0 <develop>
openpyxl 3.0.9 pyhd3eb1b0_0
openssl 1.1.1o hfe4f2af_0 conda-forge
packaging 21.0 pyhd3eb1b0_0
pandas 1.3.4 py39h743cdd8_0
pandocfilters 1.4.3 py39hecd8cb5_1
parso 0.8.2 pyhd3eb1b0_0
partd 1.2.0 pyhd3eb1b0_0
path 16.0.0 py39hecd8cb5_0
path.py 12.5.0 hd3eb1b0_0
pathlib2 2.3.6 py39hecd8cb5_2
pathspec 0.7.0 py_0
patsy 0.5.2 py39hecd8cb5_0
pep8 1.7.1 py39hecd8cb5_0
pexpect 4.8.0 pyhd3eb1b0_3
pickleshare 0.7.5 pyhd3eb1b0_1003
pillow 8.4.0 py39h98e4679_0
pip 21.2.4 py39hecd8cb5_0
pkginfo 1.7.1 py39hecd8cb5_0
pluggy 0.13.1 py39hecd8cb5_0
ply 3.11 py39hecd8cb5_0
poyo 0.5.0 pyhd3eb1b0_0
prometheus_client 0.11.0 pyhd3eb1b0_0
prompt-toolkit 3.0.20 pyhd3eb1b0_0
prompt_toolkit 3.0.20 hd3eb1b0_0
psutil 5.8.0 py39h9ed2024_1
ptyprocess 0.7.0 pyhd3eb1b0_2
py 1.10.0 pyhd3eb1b0_0
py-lief 0.10.1 py39h23ab428_1
pycodestyle 2.7.0 pyhd3eb1b0_0
pycosat 0.6.3 py39h9ed2024_0
pycparser 2.20 py_2
pycurl 7.44.1 py39hbcfaee0_1
pydocstyle 6.1.1 pyhd3eb1b0_0
pyerfa 2.0.0 py39h9ed2024_0
pyflakes 2.3.1 pyhd3eb1b0_0
pygments 2.10.0 pyhd3eb1b0_0
pyjwt 2.1.0 py39hecd8cb5_0
pylint 2.9.6 py39hecd8cb5_1
pyls-spyder 0.4.0 pyhd3eb1b0_0
pyodbc 4.0.31 py39h23ab428_0
pyopenssl 21.0.0 pyhd3eb1b0_1
pyparsing 3.0.4 pyhd3eb1b0_0
pyqt 5.9.2 py39h23ab428_6
pyrsistent 0.18.0 py39hca72f7f_0
pyside2 5.15.2.1 pypi_0 pypi
pysocks 1.7.1 py39hecd8cb5_0
pytables 3.7.0 py39hfd850c7_0 conda-forge
pytest 6.2.4 py39hecd8cb5_2
python 3.9.7 h88f2d9e_1
python-dateutil 2.8.2 pyhd3eb1b0_0
python-libarchive-c 2.9 pyhd3eb1b0_1
python-lsp-black 1.0.0 pyhd3eb1b0_0
python-lsp-jsonrpc 1.0.0 pyhd3eb1b0_0
python-lsp-server 1.2.4 pyhd3eb1b0_0
python-slugify 5.0.2 pyhd3eb1b0_0
python.app 3 py39hca72f7f_0
python_abi 3.9 2_cp39 conda-forge
pytz 2021.3 pyhd3eb1b0_0
pywavelets 1.1.1 py39he3068b8_4
pyyaml 6.0 py39hca72f7f_1
pyzmq 22.2.1 py39h23ab428_1
qdarkstyle 3.0.2 pyhd3eb1b0_0
qstylizer 0.1.10 pyhd3eb1b0_0
qt 5.9.7 h468cd18_1
qtawesome 1.0.2 pyhd3eb1b0_0
qtconsole 5.1.1 pyhd3eb1b0_0
qtpy 1.10.0 pyhd3eb1b0_0
readline 8.1 h9ed2024_0
regex 2021.8.3 py39h9ed2024_0
reproc 14.2.4 he9d5cce_1
reproc-cpp 14.2.4 he9d5cce_1
requests 2.26.0 pyhd3eb1b0_0
ripgrep 12.1.1 0
rope 0.19.0 pyhd3eb1b0_0
rtree 0.9.7 py39hecd8cb5_1
ruamel_yaml 0.15.100 py39h9ed2024_0
scikit-image 0.18.3 py39hae1ba45_0
scikit-learn 0.24.2 py39hb2f4e1b_0
scikit-learn-intelex 2021.3.0 py39hecd8cb5_0
scipy 1.8.0 py39h056f1c0_1 conda-forge
seaborn 0.11.2 pyhd3eb1b0_0
send2trash 1.8.0 pyhd3eb1b0_1
setuptools 58.0.4 py39hecd8cb5_0
shiboken2 5.15.2.1 pypi_0 pypi
simplegeneric 0.8.1 py39hecd8cb5_2
singledispatch 3.7.0 pyhd3eb1b0_1001
sip 4.19.13 py39h23ab428_0
six 1.16.0 pyhd3eb1b0_0
snappy 1.1.8 hb1e8313_0
sniffio 1.2.0 py39hecd8cb5_1
snowballstemmer 2.1.0 pyhd3eb1b0_0
sortedcollections 2.1.0 pyhd3eb1b0_0
sortedcontainers 2.4.0 pyhd3eb1b0_0
soupsieve 2.2.1 pyhd3eb1b0_0
sphinx 4.2.0 pyhd3eb1b0_1
sphinxcontrib 1.0 py39hecd8cb5_1
sphinxcontrib-applehelp 1.0.2 pyhd3eb1b0_0
sphinxcontrib-devhelp 1.0.2 pyhd3eb1b0_0
sphinxcontrib-htmlhelp 2.0.0 pyhd3eb1b0_0
sphinxcontrib-jsmath 1.0.1 pyhd3eb1b0_0
sphinxcontrib-qthelp 1.0.3 pyhd3eb1b0_0
sphinxcontrib-serializinghtml 1.1.5 pyhd3eb1b0_0
sphinxcontrib-websupport 1.2.4 py_0
spyder 5.1.5 py39hecd8cb5_1
spyder-kernels 2.1.3 py39hecd8cb5_0
sqlalchemy 1.4.22 py39h9ed2024_0
sqlite 3.36.0 hce871da_0
statsmodels 0.12.2 py39h9ed2024_0
sympy 1.9 py39hecd8cb5_0
tbb 2021.4.0 haf03e11_0
tbb4py 2021.4.0 py39haf03e11_0
tblib 1.7.0 pyhd3eb1b0_0
tempest-remap 2.1.1 hb577637_0 conda-forge
terminado 0.9.4 py39hecd8cb5_0
testpath 0.5.0 pyhd3eb1b0_0
text-unidecode 1.3 pyhd3eb1b0_0
textdistance 4.2.1 pyhd3eb1b0_0
threadpoolctl 2.2.0 pyh0d69192_0
three-merge 0.1.1 pyhd3eb1b0_0
tifffile 2021.4.8 pyhd8ed1ab_0 conda-forge
tinycss 0.4 pyhd3eb1b0_1002
tk 8.6.11 h7bc2e8c_0
toml 0.10.2 pyhd3eb1b0_0
toolz 0.11.1 pyhd3eb1b0_0
tornado 6.1 py39h9ed2024_0
tqdm 4.62.3 pyhd3eb1b0_1
traitlets 5.1.0 pyhd3eb1b0_0
typed-ast 1.4.3 py39h9ed2024_1
typing_extensions 3.10.0.2 pyh06a4308_0
tzdata 2021e hda174b7_0
ujson 4.0.2 py39h23ab428_0
uncertainties 3.1.6 pyhd8ed1ab_0 conda-forge
unicodecsv 0.14.1 py39hecd8cb5_0
unidecode 1.2.0 pyhd3eb1b0_0
unixodbc 2.3.9 haf1e3a3_0
urllib3 1.26.7 pyhd3eb1b0_0
watchdog 2.1.3 py39hd5f6b7e_0
wcwidth 0.2.5 pyhd3eb1b0_0
webencodings 0.5.1 py39hecd8cb5_1
werkzeug 2.0.2 pyhd3eb1b0_0
wheel 0.37.0 pyhd3eb1b0_1
whichcraft 0.6.1 pyhd3eb1b0_0
widgetsnbextension 3.5.1 py39hecd8cb5_0
wrapt 1.12.1 py39h9ed2024_1
wurlitzer 2.1.1 py39hecd8cb5_0
xlrd 2.0.1 pyhd3eb1b0_0
xlsxwriter 3.0.1 pyhd3eb1b0_0
xlwings 0.24.9 py39hecd8cb5_0
xlwt 1.3.0 py39hecd8cb5_0
xmltodict 0.12.0 pyhd3eb1b0_0
xz 5.2.5 h1de35cc_0
yaml 0.2.5 haf1e3a3_0
yapf 0.31.0 pyhd3eb1b0_0
zeromq 4.3.4 h23ab428_0
zfp 0.5.5 h23ab428_6
zict 2.0.0 pyhd3eb1b0_0
zipp 3.6.0 pyhd3eb1b0_0
zlib 1.2.11 h6c3fc93_1014 conda-forge
zope 1.0 py39hecd8cb5_1
zope.event 4.5.0 py39hecd8cb5_0
zope.interface 5.4.0 py39h9ed2024_0
zstd 1.4.9 h322a384_0
>> pip list
Package Version Location
---------------------------------- -------------------- -------------------------------------
alabaster 0.7.12
anaconda-client 1.9.0
anaconda-project 0.10.1
anyio 2.2.0
appdirs 1.4.4
applaunchservices 0.2.1
appnope 0.1.2
appscript 1.1.2
argh 0.26.2
argon2-cffi 20.1.0
arrow 0.13.1
asn1crypto 1.4.0
astroid 2.6.6
astropy 4.3.1
async-generator 1.10
atomicwrites 1.4.0
attrs 21.2.0
autopep8 1.5.7
Babel 2.9.1
backcall 0.2.0
backports.functools-lru-cache 1.6.4
backports.shutil-get-terminal-size 1.0.0
backports.tempfile 1.0
backports.weakref 1.0.post1
beautifulsoup4 4.10.0
binaryornot 0.4.4
bitarray 2.3.0
bkcharts 0.2
black 19.10b0
bleach 4.0.0
bokeh 2.4.1
boto 2.49.0
Bottleneck 1.3.2
brotlipy 0.7.0
cached-property 1.5.2
certifi 2021.10.8
cffi 1.14.6
chardet 4.0.0
charset-normalizer 2.0.4
click 8.0.3
cloudpickle 2.0.0
clyent 1.2.2
colorama 0.4.4
conda-content-trust 0+unknown
conda-pack 0.6.0
conda-package-handling 1.8.1
conda-repo-cli 1.0.4
conda-verify 3.4.2
contextlib2 0.6.0.post1
cookiecutter 1.7.2
cryptography 3.4.8
cycler 0.10.0
Cython 0.29.24
cytoolz 0.11.0
daal4py 2021.3.0
dask 2021.10.0
debugpy 1.4.1
decorator 5.1.0
defusedxml 0.7.1
diff-match-patch 20200713
distributed 2021.10.0
docutils 0.17.1
entrypoints 0.3
et-xmlfile 1.1.0
fastcache 1.1.0
filelock 3.3.1
flake8 3.9.2
Flask 1.1.2
fonttools 4.25.0
fsspec 2021.8.1
future 0.18.2
gevent 21.8.0
glob2 0.7
gmpy2 2.0.8
greenlet 1.1.1
h5py 3.6.0
HeapDict 1.0.1
html5lib 1.1
idna 3.2
imagecodecs 2021.3.31
imageio 2.9.0
imagesize 1.2.0
importlib-metadata 4.8.1
inflection 0.5.1
iniconfig 1.1.1
intervaltree 3.1.0
ipykernel 6.4.1
ipython 7.29.0
ipython-genutils 0.2.0
ipywidgets 7.6.5
isort 5.9.3
itsdangerous 2.0.1
jdcal 1.4.1
jedi 0.18.0
Jinja2 2.11.3
jinja2-time 0.2.0
joblib 1.1.0
json5 0.9.6
jsonschema 3.2.0
jupyter 1.0.0
jupyter-client 6.1.12
jupyter-console 6.4.0
jupyter-core 4.8.1
jupyter-server 1.4.1
jupyterlab 3.2.1
jupyterlab-pygments 0.1.2
jupyterlab-server 2.8.2
jupyterlab-widgets 1.0.0
keyring 23.1.0
kiwisolver 1.3.1
lazy-object-proxy 1.6.0
libarchive-c 2.9
llvmlite 0.37.0
locket 0.2.1
lxml 4.6.3
MarkupSafe 1.1.1
matplotlib 3.4.3
matplotlib-inline 0.1.2
mccabe 0.6.1
mistune 0.8.4
mkl-fft 1.3.1
mkl-random 1.2.2
mkl-service 2.4.0
mock 4.0.3
more-itertools 8.10.0
mpmath 1.2.1
msgpack 1.0.2
multipledispatch 0.6.0
munkres 1.1.4
mypy-extensions 0.4.3
navigator-updater 0.2.1
nbclassic 0.2.6
nbclient 0.5.3
nbconvert 6.1.0
nbformat 5.1.3
nest-asyncio 1.5.1
networkx 2.6.3
nltk 3.6.5
nose 1.3.7
notebook 6.4.5
numba 0.54.1
numexpr 2.7.3
numpy 1.20.3
numpydoc 1.1.0
olefile 0.46
openmc 0.13.0
openmc-plotter 0.2.0 /Users/kkiesling/software/opt/plotter
openpyxl 3.0.9
packaging 21.0
pandas 1.3.4
pandocfilters 1.4.3
parso 0.8.2
partd 1.2.0
path 16.0.0
pathlib2 2.3.6
pathspec 0.7.0
patsy 0.5.2
pep8 1.7.1
pexpect 4.8.0
pickleshare 0.7.5
Pillow 8.4.0
pip 21.2.4
pkginfo 1.7.1
pluggy 0.13.1
ply 3.11
poyo 0.5.0
prometheus-client 0.11.0
prompt-toolkit 3.0.20
psutil 5.8.0
ptyprocess 0.7.0
py 1.10.0
pycodestyle 2.7.0
pycosat 0.6.3
pycparser 2.20
pycurl 7.44.1
pydocstyle 6.1.1
pyerfa 2.0.0
pyflakes 2.3.1
Pygments 2.10.0
PyJWT 2.1.0
pylint 2.9.6
pyls-spyder 0.4.0
pymoab 5.3.1
pyodbc 4.0.0-unsupported
pyOpenSSL 21.0.0
pyparsing 3.0.4
pyrsistent 0.18.0
PySide2 5.15.2.1
PySocks 1.7.1
pytest 6.2.4
python-dateutil 2.8.2
python-lsp-black 1.0.0
python-lsp-jsonrpc 1.0.0
python-lsp-server 1.2.4
python-slugify 5.0.2
pytz 2021.3
PyWavelets 1.1.1
PyYAML 6.0
pyzmq 22.2.1
QDarkStyle 3.0.2
qstylizer 0.1.10
QtAwesome 1.0.2
qtconsole 5.1.1
QtPy 1.10.0
regex 2021.8.3
requests 2.26.0
rope 0.19.0
Rtree 0.9.7
ruamel-yaml-conda 0.15.100
scikit-image 0.18.3
scikit-learn 0.24.2
scikit-learn-intelex 2021.20210714.100439
scipy 1.8.0
seaborn 0.11.2
Send2Trash 1.8.0
setuptools 58.0.4
shiboken2 5.15.2.1
simplegeneric 0.8.1
singledispatch 3.7.0
sip 4.19.13
six 1.16.0
sniffio 1.2.0
snowballstemmer 2.1.0
sortedcollections 2.1.0
sortedcontainers 2.4.0
soupsieve 2.2.1
Sphinx 4.2.0
sphinxcontrib-applehelp 1.0.2
sphinxcontrib-devhelp 1.0.2
sphinxcontrib-htmlhelp 2.0.0
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 1.0.3
sphinxcontrib-serializinghtml 1.1.5
sphinxcontrib-websupport 1.2.4
spyder 5.1.5
spyder-kernels 2.1.3
SQLAlchemy 1.4.22
statsmodels 0.12.2
sympy 1.9
tables 3.7.0
TBB 0.2
tblib 1.7.0
terminado 0.9.4
testpath 0.5.0
text-unidecode 1.3
textdistance 4.2.1
threadpoolctl 2.2.0
three-merge 0.1.1
tifffile 2021.4.8
tinycss 0.4
toml 0.10.2
toolz 0.11.1
tornado 6.1
tqdm 4.62.3
traitlets 5.1.0
typed-ast 1.4.3
typing-extensions 3.10.0.2
ujson 4.0.2
uncertainties 3.1.6
unicodecsv 0.14.1
Unidecode 1.2.0
urllib3 1.26.7
watchdog 2.1.3
wcwidth 0.2.5
webencodings 0.5.1
Werkzeug 2.0.2
wheel 0.37.0
whichcraft 0.6.1
widgetsnbextension 3.5.1
wrapt 1.12.1
wurlitzer 2.1.1
xlrd 2.0.1
XlsxWriter 3.0.1
xlwings 0.24.9
xlwt 1.3.0
xmltodict 0.12.0
yapf 0.31.0
zict 2.0.0
zipp 3.6.0
zope.event 4.5.0
zope.interface 5.4.0
>> conda create --name openmc-plotter-dev python --no-default-packages
>> conda install -c conda-forge mamba
>> mamba install -c conda-forge openmc
>> pip install -e .
Again, installs fine, but then launching the plotter doesn't work. It doesn't actually give any error or stop, it just hangs indefinitely and the doing ctrl + c
over and over again doesn't do anything to kill the process.
>> conda list
# packages in environment at /Users/kkiesling/opt/anaconda3/envs/openmc-plotter-dev:
#
# Name Version Build Channel
appnope 0.1.3 pypi_0 pypi
asttokens 2.0.5 pypi_0 pypi
backcall 0.2.0 pypi_0 pypi
brotli 1.0.9 h5eb16cf_7 conda-forge
brotli-bin 1.0.9 h5eb16cf_7 conda-forge
brotlipy 0.7.0 py310h1961e1f_1004 conda-forge
bzip2 1.0.8 h1de35cc_0
c-ares 1.18.1 h0d85af4_0 conda-forge
ca-certificates 2021.10.8 h033912b_0 conda-forge
cached-property 1.5.2 hd8ed1ab_1 conda-forge
cached_property 1.5.2 pyha770c72_1 conda-forge
certifi 2021.10.8 py310h2ec42d9_2 conda-forge
cffi 1.15.0 py310hc55c11b_1
charset-normalizer 2.0.12 pyhd8ed1ab_0 conda-forge
colorama 0.4.4 pyh9f0ad1d_0 conda-forge
conda 4.12.0 py310h2ec42d9_0 conda-forge
conda-package-handling 1.8.1 py310h1961e1f_1 conda-forge
cryptography 36.0.2 py310hd6fa1ae_1 conda-forge
curl 7.82.0 hca72f7f_0
cycler 0.11.0 pyhd8ed1ab_0 conda-forge
dagmc 3.2.1 nompi_py39hb622291_108 conda-forge
decorator 5.1.1 pypi_0 pypi
eigen 3.4.0 h940c156_0 conda-forge
executing 0.8.3 pypi_0 pypi
fonttools 4.33.3 py310h6c45266_0 conda-forge
freetype 2.10.4 h4cff582_1 conda-forge
future 0.18.2 py310h2ec42d9_5 conda-forge
giflib 5.2.1 hbcb3906_2 conda-forge
h5py 3.6.0 nompi_py310h47026f8_100 conda-forge
hdf4 4.2.15 hefd3b78_3 conda-forge
hdf5 1.12.1 nompi_h2f0ef1a_100 conda-forge
icu 68.2 he49afe7_0 conda-forge
idna 3.3 pyhd8ed1ab_0 conda-forge
ipython 8.3.0 pypi_0 pypi
jbig 2.1 h0d85af4_2003 conda-forge
jedi 0.18.1 pypi_0 pypi
jpeg 9e h5eb16cf_1 conda-forge
kiwisolver 1.4.2 py310h6be76da_1 conda-forge
krb5 1.19.2 hcfbf3a7_3 conda-forge
lcms2 2.12 h577c468_0 conda-forge
lerc 2.2.1 h046ec9c_0 conda-forge
libarchive 3.5.2 h2b60450_1 conda-forge
libblas 3.9.0 14_osx64_openblas conda-forge
libbrotlicommon 1.0.9 h5eb16cf_7 conda-forge
libbrotlidec 1.0.9 h5eb16cf_7 conda-forge
libbrotlienc 1.0.9 h5eb16cf_7 conda-forge
libcblas 3.9.0 14_osx64_openblas conda-forge
libcurl 7.82.0 h6dfd666_0
libcxx 13.0.1 hc203e6f_0 conda-forge
libdeflate 1.7 h35c211d_5 conda-forge
libedit 3.1.20191231 h0678c8f_2 conda-forge
libev 4.33 haf1e3a3_1 conda-forge
libffi 3.3 hb1e8313_2
libgfortran 5.0.0 9_3_0_h6c81a4c_23 conda-forge
libgfortran5 9.3.0 h6c81a4c_23 conda-forge
libiconv 1.16 haf1e3a3_0 conda-forge
liblapack 3.9.0 14_osx64_openblas conda-forge
libmamba 0.21.2 h9ce2d19_0 conda-forge
libmambapy 0.21.2 py310hb14de0f_0 conda-forge
libnetcdf 4.8.1 nompi_h6609ca0_101 conda-forge
libnghttp2 1.46.0 ha29bfda_0
libopenblas 0.3.20 openmp_hb3cd9ec_0 conda-forge
libpng 1.6.37 h7cec526_2 conda-forge
libsolv 0.7.19 hcf210ce_5 conda-forge
libssh2 1.10.0 h52ee1ee_2 conda-forge
libtiff 4.3.0 h1167814_1 conda-forge
libwebp 1.2.2 h28dabe5_0 conda-forge
libwebp-base 1.2.2 h0d85af4_1 conda-forge
libxml2 2.9.12 h93ec3fd_0 conda-forge
libxslt 1.1.33 h5739fc3_2 conda-forge
libzip 1.8.0 h8b0c345_1 conda-forge
llvm-openmp 14.0.3 ha654fa7_0 conda-forge
lxml 4.8.0 py310h1961e1f_2 conda-forge
lz4-c 1.9.3 he49afe7_1 conda-forge
lzo 2.10 haf1e3a3_1000 conda-forge
mamba 0.21.2 py310h795411f_0 conda-forge
matplotlib-base 3.5.2 py310h4510841_0 conda-forge
matplotlib-inline 0.1.3 pypi_0 pypi
metis 5.1.0 h2e338ed_1006 conda-forge
moab 5.3.1 nompi_tempest_py310h50ec82b_5 conda-forge
munkres 1.1.4 pyh9f0ad1d_0 conda-forge
ncurses 6.3 hca72f7f_2
numpy 1.22.3 py310he1f95b8_2 conda-forge
openmc 0.13.0 dagmc_py310hcb866d1_101 conda-forge
openmc-plotter 0.2.0 dev_0 <develop>
openssl 1.1.1o hfe4f2af_0 conda-forge
packaging 21.3 pyhd8ed1ab_0 conda-forge
pandas 1.4.2 py310h514ec25_1 conda-forge
parso 0.8.3 pypi_0 pypi
pexpect 4.8.0 pypi_0 pypi
pickleshare 0.7.5 pypi_0 pypi
pillow 9.0.1 py310hde71d04_0
pip 21.2.4 py310hecd8cb5_0
prompt-toolkit 3.0.29 pypi_0 pypi
ptyprocess 0.7.0 pypi_0 pypi
pure-eval 0.2.2 pypi_0 pypi
pybind11-abi 4 hd8ed1ab_3 conda-forge
pycosat 0.6.3 py310h1961e1f_1010 conda-forge
pycparser 2.21 pyhd8ed1ab_0 conda-forge
pygments 2.12.0 pypi_0 pypi
pymoab 5.3.1 pypi_0 pypi
pyopenssl 22.0.0 pyhd8ed1ab_0 conda-forge
pyparsing 3.0.8 pyhd8ed1ab_0 conda-forge
pyside2 5.15.2.1 pypi_0 pypi
pysocks 1.7.1 py310h2ec42d9_5 conda-forge
python 3.10.4 hdfd78df_0
python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge
python_abi 3.10 2_cp310 conda-forge
pytz 2022.1 pyhd8ed1ab_0 conda-forge
readline 8.1.2 hca72f7f_1
reproc 14.2.3 h0d85af4_0 conda-forge
reproc-cpp 14.2.3 he49afe7_0 conda-forge
requests 2.27.1 pyhd8ed1ab_0 conda-forge
ruamel_yaml 0.15.80 py310he24745e_1006 conda-forge
scipy 1.8.0 py310h47774c9_1 conda-forge
setuptools 61.2.0 py310hecd8cb5_0
shiboken2 5.15.2.1 pypi_0 pypi
six 1.16.0 pyh6c4a22f_0 conda-forge
sqlite 3.38.2 h707629a_0
stack-data 0.2.0 pypi_0 pypi
tempest-remap 2.1.1 hb577637_0 conda-forge
tk 8.6.11 h7bc2e8c_0
tqdm 4.64.0 pyhd8ed1ab_0 conda-forge
traitlets 5.1.1 pypi_0 pypi
tzdata 2022a hda174b7_0
uncertainties 3.1.6 pyhd8ed1ab_0 conda-forge
unicodedata2 14.0.0 py310h1961e1f_1 conda-forge
urllib3 1.26.9 pyhd8ed1ab_0 conda-forge
wcwidth 0.2.5 pypi_0 pypi
wheel 0.37.1 pyhd3eb1b0_0
xz 5.2.5 hca72f7f_1
yaml 0.2.5 h0d85af4_2 conda-forge
yaml-cpp 0.6.3 hb1e8313_4 conda-forge
zlib 1.2.12 h4dc903c_2
zstd 1.5.0 h582d3a0_0 conda-forge
>> pip list
Package Version Location
---------------------- --------- -------------------------------------
appnope 0.1.3
asttokens 2.0.5
backcall 0.2.0
brotlipy 0.7.0
cached-property 1.5.2
certifi 2021.10.8
cffi 1.15.0
charset-normalizer 2.0.12
colorama 0.4.4
conda 4.12.0
conda-package-handling 1.8.1
cryptography 36.0.2
cycler 0.11.0
decorator 5.1.1
executing 0.8.3
fonttools 4.33.3
future 0.18.2
h5py 3.6.0
idna 3.3
ipython 8.3.0
jedi 0.18.1
kiwisolver 1.4.2
libmambapy 0.21.2
lxml 4.8.0
mamba 0.21.2
matplotlib 3.5.2
matplotlib-inline 0.1.3
munkres 1.1.4
numpy 1.22.3
openmc 0.13.0
openmc-plotter 0.2.0 /Users/kkiesling/software/opt/plotter
packaging 21.3
pandas 1.4.2
parso 0.8.3
pexpect 4.8.0
pickleshare 0.7.5
Pillow 9.0.1
pip 21.2.4
prompt-toolkit 3.0.29
ptyprocess 0.7.0
pure-eval 0.2.2
pycosat 0.6.3
pycparser 2.21
Pygments 2.12.0
pymoab 5.3.1
pyOpenSSL 22.0.0
pyparsing 3.0.8
PySide2 5.15.2.1
PySocks 1.7.1
python-dateutil 2.8.2
pytz 2022.1
requests 2.27.1
ruamel-yaml-conda 0.15.80
scipy 1.8.0
setuptools 61.2.0
shiboken2 5.15.2.1
six 1.16.0
stack-data 0.2.0
tqdm 4.64.0
traitlets 5.1.1
uncertainties 3.1.6
unicodedata2 14.0.0
urllib3 1.26.9
wcwidth 0.2.5
wheel 0.37.1
In the first attempt, note that there are both Qt-related packages in both the conda list and pip list. I think that if it exists in the conda env already, we need to use that. But it's not clear to me if there is an easy way to detect that. I did try to uninstall things via pip or conda here, but that just led to more issues.
In the second attempt from an empty environment, I am not sure what is causing the hang up. Qt-related packages do not appear in either list, except that PySide2 is in both (though conda indicates its from pip, so it should be the same package in each).
Reported by @paulromano
Before we were using Geometry.from_xml to get a bunch of information on cells and materials. Now that everything goes through libopenmc, there's almost no need for it. If I'm not mistaken, the only place we're actually using information from the Geometry
object is to get the bounding box. Perhaps we should make that information available from C++/libopenmc itself. Given that we've discussed other uses of bounding boxes in C++, seems like that would be a useful addition there anyway.
Hi,Everyone!
There is an error when I use the Openmc-Plotter through Ubuntu & Xming.Here is the error:
File β/home/rookie/anaconda3/envs/openmc-env/lib/python3.10/site-packages/openmc_plotter/plotgui.pyβ, line 75, in getPlotCoords
transform = self.ax.transAxes.inverted()
AttributeError: βPlotImageβ object has no attribute βaxβ. Did you mean: βxβ?
Traceback (most recent call last):
File β/home/rookie/anaconda3/envs/openmc-env/lib/python3.10/site-packages/openmc_plotter/plotgui.pyβ, line 220, in mouseMoveEvent
xPlotPos, yPlotPos = self.getPlotCoords(event.pos())
If you have some advices, Please text it,Thank You!
Best Wishes!
Several people have run into problems trying to install the plotter while using conda. It would be pretty easy for us to put together a conda-forge package for the plotter to avoid any issues with conflicting Qt installations, etc.
Along the lines of #83, it would be great to be able to generate images without having to open the GUI.
Something like
openmc-plotter -b my_view.pltvw
That results in my_view.png
and/or
openmc-plotter -b plots.xml
that results in plot_1.png
, plot_2.png
, etc.
We just released 0.2.0, but the github action that automatically uploads the package to PyPi didn't trigger. We'll want to update the trigger to published
before the next release.
At some point it would be good to implement some simple testing using a demo model via QTest which allows one to simulate mouse clicks, key presses etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.