Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#7414 closed defect (not a bug)

develop example bundles: missing bundle_api for bundle

Reported by: gabsbi@… Owned by: Eric Pettersen
Priority: normal Milestone:
Component: Documentation Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-5.0.0-32-generic-x86_64-with-debian-buster-sid
ChimeraX Version: 1.1 (2020-09-09 22:22:27 UTC)
Description
your helloworld and qtpy examples from the developers page install successfully but report 'missing bundle_api in bundle' when we try to run hello at the command line or click on the tutorial(Qt) button on the Tools/General menu created by the code.  I tested this on several machines and it doesn't seem to be related to versions or dependencies

Log:
UCSF ChimeraX version: 1.1 (2020-09-09)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> devel build /home/microcarbon/Desktop/chimerax_hello/

running build  
running build_py  
package init file 'src/__init__.py' not found (or not a regular file)  
creating build  
creating build/lib  
creating build/lib/chimerax  
creating build/lib/chimerax/hello_world  
copying src/_init_.py -> build/lib/chimerax/hello_world  
copying src/cmd.py -> build/lib/chimerax/hello_world  
running bdist_wheel  
installing to build/bdist.linux-x86_64/wheel  
running install  
running install_lib  
creating build/bdist.linux-x86_64  
creating build/bdist.linux-x86_64/wheel  
creating build/bdist.linux-x86_64/wheel/chimerax  
creating build/bdist.linux-x86_64/wheel/chimerax/hello_world  
copying build/lib/chimerax/hello_world/_init_.py ->
build/bdist.linux-x86_64/wheel/chimerax/hello_world  
copying build/lib/chimerax/hello_world/cmd.py ->
build/bdist.linux-x86_64/wheel/chimerax/hello_world  
running install_egg_info  
running egg_info  
creating ChimeraX_HelloWorld.egg-info  
writing ChimeraX_HelloWorld.egg-info/PKG-INFO  
writing dependency_links to ChimeraX_HelloWorld.egg-info/dependency_links.txt  
writing requirements to ChimeraX_HelloWorld.egg-info/requires.txt  
writing top-level names to ChimeraX_HelloWorld.egg-info/top_level.txt  
writing manifest file 'ChimeraX_HelloWorld.egg-info/SOURCES.txt'  
reading manifest file 'ChimeraX_HelloWorld.egg-info/SOURCES.txt'  
writing manifest file 'ChimeraX_HelloWorld.egg-info/SOURCES.txt'  
Copying ChimeraX_HelloWorld.egg-info to
build/bdist.linux-x86_64/wheel/ChimeraX_HelloWorld-0.1-py3.7.egg-info  
running install_scripts  
creating build/bdist.linux-x86_64/wheel/ChimeraX_HelloWorld-0.1.dist-
info/WHEEL  
creating 'dist/ChimeraX_HelloWorld-0.1-py3-none-any.whl' and adding
'build/bdist.linux-x86_64/wheel' to it  
adding 'chimerax/hello_world/_init_.py'  
adding 'chimerax/hello_world/cmd.py'  
adding 'ChimeraX_HelloWorld-0.1.dist-info/METADATA'  
adding 'ChimeraX_HelloWorld-0.1.dist-info/WHEEL'  
adding 'ChimeraX_HelloWorld-0.1.dist-info/top_level.txt'  
adding 'ChimeraX_HelloWorld-0.1.dist-info/RECORD'  
removing build/bdist.linux-x86_64/wheel  
Distribution is in
/home/microcarbon/Desktop/chimerax_hello/dist/ChimeraX_HelloWorld-0.1-py3-none-
any.whl  
  

> devel install /home/microcarbon/Desktop/chimerax_hello/

running build  
running build_py  
package init file 'src/__init__.py' not found (or not a regular file)  
running bdist_wheel  
installing to build/bdist.linux-x86_64/wheel  
running install  
running install_lib  
creating build/bdist.linux-x86_64/wheel  
creating build/bdist.linux-x86_64/wheel/chimerax  
creating build/bdist.linux-x86_64/wheel/chimerax/hello_world  
copying build/lib/chimerax/hello_world/_init_.py ->
build/bdist.linux-x86_64/wheel/chimerax/hello_world  
copying build/lib/chimerax/hello_world/cmd.py ->
build/bdist.linux-x86_64/wheel/chimerax/hello_world  
running install_egg_info  
running egg_info  
writing ChimeraX_HelloWorld.egg-info/PKG-INFO  
writing dependency_links to ChimeraX_HelloWorld.egg-info/dependency_links.txt  
writing requirements to ChimeraX_HelloWorld.egg-info/requires.txt  
writing top-level names to ChimeraX_HelloWorld.egg-info/top_level.txt  
reading manifest file 'ChimeraX_HelloWorld.egg-info/SOURCES.txt'  
writing manifest file 'ChimeraX_HelloWorld.egg-info/SOURCES.txt'  
Copying ChimeraX_HelloWorld.egg-info to
build/bdist.linux-x86_64/wheel/ChimeraX_HelloWorld-0.1-py3.7.egg-info  
running install_scripts  
creating build/bdist.linux-x86_64/wheel/ChimeraX_HelloWorld-0.1.dist-
info/WHEEL  
creating 'dist/ChimeraX_HelloWorld-0.1-py3-none-any.whl' and adding
'build/bdist.linux-x86_64/wheel' to it  
adding 'chimerax/hello_world/_init_.py'  
adding 'chimerax/hello_world/cmd.py'  
adding 'ChimeraX_HelloWorld-0.1.dist-info/METADATA'  
adding 'ChimeraX_HelloWorld-0.1.dist-info/WHEEL'  
adding 'ChimeraX_HelloWorld-0.1.dist-info/top_level.txt'  
adding 'ChimeraX_HelloWorld-0.1.dist-info/RECORD'  
removing build/bdist.linux-x86_64/wheel  
Distribution is in
/home/microcarbon/Desktop/chimerax_hello/dist/ChimeraX_HelloWorld-0.1-py3-none-
any.whl  
[toolshed install](help:user/commands/toolshed.html#install)  
/home/microcarbon/Desktop/chimerax_hello/dist/ChimeraX_HelloWorld-0.1-py3-none-  
any.whl reinstall true  
  
[toolshed install  
/home/microcarbon/Desktop/chimerax_hello/dist/ChimeraX_HelloWorld-0.1-py3-none-  
any.whl reinstall true](cxcmd:toolshed install  
/home/microcarbon/Desktop/chimerax_hello/dist/ChimeraX_HelloWorld-0.1-py3-none-  
any.whl reinstall true)  
  
Successfully installed ChimeraX-HelloWorld-0.1  
Installed ChimeraX-HelloWorld (0.1)  
  

> devel build /home/microcarbon/Desktop/chimerax_qtpy/

running build  
running build_py  
package init file 'src/__init__.py' not found (or not a regular file)  
copying src/_init_.py -> build/lib/chimerax/tut_tool_qt  
running bdist_wheel  
installing to build/bdist.linux-x86_64/wheel  
running install  
running install_lib  
creating build/bdist.linux-x86_64/wheel  
creating build/bdist.linux-x86_64/wheel/chimerax  
creating build/bdist.linux-x86_64/wheel/chimerax/tut_tool_qt  
copying build/lib/chimerax/tut_tool_qt/_init_.py ->
build/bdist.linux-x86_64/wheel/chimerax/tut_tool_qt  
copying build/lib/chimerax/tut_tool_qt/tool.py ->
build/bdist.linux-x86_64/wheel/chimerax/tut_tool_qt  
running install_egg_info  
running egg_info  
writing ChimeraX_TutorialToolQt.egg-info/PKG-INFO  
writing dependency_links to ChimeraX_TutorialToolQt.egg-
info/dependency_links.txt  
writing requirements to ChimeraX_TutorialToolQt.egg-info/requires.txt  
writing top-level names to ChimeraX_TutorialToolQt.egg-info/top_level.txt  
reading manifest file 'ChimeraX_TutorialToolQt.egg-info/SOURCES.txt'  
writing manifest file 'ChimeraX_TutorialToolQt.egg-info/SOURCES.txt'  
Copying ChimeraX_TutorialToolQt.egg-info to
build/bdist.linux-x86_64/wheel/ChimeraX_TutorialToolQt-0.1-py3.7.egg-info  
running install_scripts  
creating build/bdist.linux-x86_64/wheel/ChimeraX_TutorialToolQt-0.1.dist-
info/WHEEL  
creating 'dist/ChimeraX_TutorialToolQt-0.1-py3-none-any.whl' and adding
'build/bdist.linux-x86_64/wheel' to it  
adding 'chimerax/tut_tool_qt/_init_.py'  
adding 'chimerax/tut_tool_qt/tool.py'  
adding 'ChimeraX_TutorialToolQt-0.1.dist-info/METADATA'  
adding 'ChimeraX_TutorialToolQt-0.1.dist-info/WHEEL'  
adding 'ChimeraX_TutorialToolQt-0.1.dist-info/top_level.txt'  
adding 'ChimeraX_TutorialToolQt-0.1.dist-info/RECORD'  
removing build/bdist.linux-x86_64/wheel  
Distribution is in
/home/microcarbon/Desktop/chimerax_qtpy/dist/ChimeraX_TutorialToolQt-0.1-py3-none-
any.whl  
  

> devel install /home/microcarbon/Desktop/chimerax_qtpy/

running build  
running build_py  
package init file 'src/__init__.py' not found (or not a regular file)  
running bdist_wheel  
installing to build/bdist.linux-x86_64/wheel  
running install  
running install_lib  
creating build/bdist.linux-x86_64/wheel  
creating build/bdist.linux-x86_64/wheel/chimerax  
creating build/bdist.linux-x86_64/wheel/chimerax/tut_tool_qt  
copying build/lib/chimerax/tut_tool_qt/_init_.py ->
build/bdist.linux-x86_64/wheel/chimerax/tut_tool_qt  
copying build/lib/chimerax/tut_tool_qt/tool.py ->
build/bdist.linux-x86_64/wheel/chimerax/tut_tool_qt  
running install_egg_info  
running egg_info  
writing ChimeraX_TutorialToolQt.egg-info/PKG-INFO  
writing dependency_links to ChimeraX_TutorialToolQt.egg-
info/dependency_links.txt  
writing requirements to ChimeraX_TutorialToolQt.egg-info/requires.txt  
writing top-level names to ChimeraX_TutorialToolQt.egg-info/top_level.txt  
reading manifest file 'ChimeraX_TutorialToolQt.egg-info/SOURCES.txt'  
writing manifest file 'ChimeraX_TutorialToolQt.egg-info/SOURCES.txt'  
Copying ChimeraX_TutorialToolQt.egg-info to
build/bdist.linux-x86_64/wheel/ChimeraX_TutorialToolQt-0.1-py3.7.egg-info  
running install_scripts  
creating build/bdist.linux-x86_64/wheel/ChimeraX_TutorialToolQt-0.1.dist-
info/WHEEL  
creating 'dist/ChimeraX_TutorialToolQt-0.1-py3-none-any.whl' and adding
'build/bdist.linux-x86_64/wheel' to it  
adding 'chimerax/tut_tool_qt/_init_.py'  
adding 'chimerax/tut_tool_qt/tool.py'  
adding 'ChimeraX_TutorialToolQt-0.1.dist-info/METADATA'  
adding 'ChimeraX_TutorialToolQt-0.1.dist-info/WHEEL'  
adding 'ChimeraX_TutorialToolQt-0.1.dist-info/top_level.txt'  
adding 'ChimeraX_TutorialToolQt-0.1.dist-info/RECORD'  
removing build/bdist.linux-x86_64/wheel  
Distribution is in
/home/microcarbon/Desktop/chimerax_qtpy/dist/ChimeraX_TutorialToolQt-0.1-py3-none-
any.whl  
[toolshed install](help:user/commands/toolshed.html#install)  
/home/microcarbon/Desktop/chimerax_qtpy/dist/ChimeraX_TutorialToolQt-0.1-py3-none-  
any.whl reinstall true  
  
[toolshed install  
/home/microcarbon/Desktop/chimerax_qtpy/dist/ChimeraX_TutorialToolQt-0.1-py3-none-  
any.whl reinstall true](cxcmd:toolshed install  
/home/microcarbon/Desktop/chimerax_qtpy/dist/ChimeraX_TutorialToolQt-0.1-py3-none-  
any.whl reinstall true)  
  
Successfully installed ChimeraX-TutorialToolQt-0.1  
Installed ChimeraX-TutorialToolQt (0.1)  
  

> ui tool show "Tutorial (Qt)"

Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 480, in _get_api  
bundle_api = getattr(m, 'bundle_api')  
AttributeError: module 'chimerax.tut_tool_qt' has no attribute 'bundle_api'  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 530, in start_tool  
api = self._get_api(session.logger)  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 483, in _get_api  
raise ToolshedError("missing bundle_api for bundle \"%s\"" % self.name)  
chimerax.core.toolshed.ToolshedError: missing bundle_api for bundle "ChimeraX-
TutorialToolQt"  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/ui/gui.py",
line 1501, in <lambda>  
run(ses, "ui tool show %s" % StringArg.unparse(tool_name)))  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/commands/run.py", line 31, in run  
results = command.run(text, log=log)  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2805, in run  
result = ci.function(session, **kw_args)  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/ui/cmd.py",
line 187, in ui_tool_show  
bi.start_tool(session, name)  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 537, in start_tool  
"start_tool() failed for tool %s in bundle %s:\n%s" % (tool_name, self.name,
str(e)))  
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool Tutorial
(Qt) in bundle ChimeraX-TutorialToolQt:  
missing bundle_api for bundle "ChimeraX-TutorialToolQt"  
  
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool Tutorial
(Qt) in bundle ChimeraX-TutorialToolQt:  
missing bundle_api for bundle "ChimeraX-TutorialToolQt"  
  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 537, in start_tool  
"start_tool() failed for tool %s in bundle %s:\n%s" % (tool_name, self.name,
str(e)))  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 480, in _get_api  
bundle_api = getattr(m, 'bundle_api')  
AttributeError: module 'chimerax.hello_world' has no attribute 'bundle_api'  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 295, in _register_cmd  
api = self._get_api(logger)  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 483, in _get_api  
raise ToolshedError("missing bundle_api for bundle \"%s\"" % self.name)  
chimerax.core.toolshed.ToolshedError: missing bundle_api for bundle "ChimeraX-
HelloWorld"  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2140, in lazy_register  
deferred.call()  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2071, in call  
return self.proxy()  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 286, in cb  
s._register_cmd(ci, l)  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 299, in _register_cmd  
"register_command() failed for command %s in bundle %s:\n%s" % (ci.name,
self.name, str(e)))  
chimerax.core.toolshed.ToolshedError: register_command() failed for command
hello in bundle ChimeraX-HelloWorld:  
missing bundle_api for bundle "ChimeraX-HelloWorld"  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/cmd_line/tool.py", line 275, in execute  
cmd.run(cmd_text)  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2746, in run  
self._find_command_name(final, used_aliases=_used_aliases)  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2489, in _find_command_name  
what.lazy_register(cmd_name)  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2142, in lazy_register  
raise RuntimeError("delayed command registration for %r failed (%s)" %
(cmd_name, e))  
RuntimeError: delayed command registration for 'hello' failed
(register_command() failed for command hello in bundle ChimeraX-HelloWorld:  
missing bundle_api for bundle "ChimeraX-HelloWorld")  
  
RuntimeError: delayed command registration for 'hello' failed
(register_command() failed for command hello in bundle ChimeraX-HelloWorld:  
missing bundle_api for bundle "ChimeraX-HelloWorld")  
  
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2142, in lazy_register  
raise RuntimeError("delayed command registration for %r failed (%s)" %
(cmd_name, e))  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 390.141
OpenGL renderer: GeForce MX150/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Acer
Model: Aspire E5-576G
OS: Linux Mint 19.3 tricia
Architecture: 64bit ELF
CPU: 8 Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
Cache Size: 6144 KB
Memory:
	              total        used        free      shared  buff/cache   available
	Mem:           7.7G        1.3G        2.7G         32M        3.6G        6.1G
	Swap:          2.0G        256K        2.0G

Graphics:
	00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 620 [8086:5917] (rev 07)	
	Subsystem: Acer Incorporated [ALI] UHD Graphics 620 [1025:121b]	
	Kernel driver in use: i915
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.9
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.8.0
    backcall: 0.2.0
    blockdiag: 2.0.1
    certifi: 2020.6.20
    chardet: 3.0.4
    ChimeraX-AddH: 2.1.3
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.1
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.6.1
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 1.0.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.0
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.0
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.1
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.0
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-CommandLine: 1.1.3
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.1
    ChimeraX-CoreFormats: 1.0
    ChimeraX-coulombic: 1.0.1
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-DataFormats: 1.0
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1
    ChimeraX-DistUI: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0
    ChimeraX-FunctionKey: 1.0
    ChimeraX-Geometry: 1.1
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.0
    ChimeraX-Hbonds: 2.0
    ChimeraX-HelloWorld: 0.1
    ChimeraX-Help: 1.0
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.0
    ChimeraX-ImageFormats: 1.0
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0
    ChimeraX-Label: 1.0
    ChimeraX-LinuxSupport: 1.0
    ChimeraX-ListInfo: 1.0
    ChimeraX-Log: 1.1.1
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Map: 1.0.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.0
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 1.1
    ChimeraX-MDcrds: 2.0
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.0
    ChimeraX-mmCIF: 2.2
    ChimeraX-MMTF: 2.0
    ChimeraX-Modeller: 1.0
    ChimeraX-ModelPanel: 1.0
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.0
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0
    ChimeraX-OpenCommand: 1.2.1
    ChimeraX-PDB: 2.1
    ChimeraX-PDBBio: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.0
    ChimeraX-PubChem: 2.0
    ChimeraX-Read-Pbonds: 1.0
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.0
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.2
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SeqView: 2.2
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.0
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.0
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.0.4
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-Struts: 1.0
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.0
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.0
    ChimeraX-ToolshedUtils: 1.0
    ChimeraX-Tug: 1.0
    ChimeraX-TutorialToolQt: 0.1
    ChimeraX-UI: 1.2.3
    ChimeraX-uniprot: 2.0
    ChimeraX-ViewDockX: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0
    ChimeraX-WebServices: 1.0
    ChimeraX-Zone: 1.0
    colorama: 0.4.3
    comtypes: 1.1.7
    cxservices: 1.0
    cycler: 0.10.0
    Cython: 0.29.20
    decorator: 4.4.2
    distlib: 0.3.1
    distro: 1.5.0
    docutils: 0.16
    filelock: 3.0.12
    funcparserlib: 0.3.6
    grako: 3.16.5
    h5py: 2.10.0
    html2text: 2020.1.16
    idna: 2.10
    ihm: 0.16
    imagecodecs: 2020.5.30
    imagecodecs-lite: 2020.1.31
    imagesize: 1.2.0
    ipykernel: 5.3.0
    ipython: 7.15.0
    ipython-genutils: 0.2.0
    jedi: 0.17.2
    Jinja2: 2.11.2
    jupyter-client: 6.1.3
    jupyter-core: 4.6.3
    kiwisolver: 1.2.0
    line-profiler: 2.1.2
    lxml: 4.5.1
    MarkupSafe: 1.1.1
    matplotlib: 3.2.1
    msgpack: 1.0.0
    netifaces: 0.10.9
    networkx: 2.4
    numexpr: 2.7.1
    numpy: 1.18.5
    numpydoc: 1.0.0
    openvr: 1.12.501
    packaging: 20.4
    parso: 0.7.1
    pexpect: 4.8.0
    pickleshare: 0.7.5
    Pillow: 7.1.2
    pip: 20.2.2
    pkginfo: 1.5.0.1
    prompt-toolkit: 3.0.7
    psutil: 5.7.0
    ptyprocess: 0.6.0
    pycollada: 0.7.1
    pydicom: 2.0.0
    Pygments: 2.6.1
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 2.4.7
    PyQt5-commercial: 5.12.3
    PyQt5-sip: 4.19.19
    PyQtWebEngine-commercial: 5.12.1
    python-dateutil: 2.8.1
    pytz: 2020.1
    pyzmq: 19.0.2
    qtconsole: 4.7.4
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.24.0
    scipy: 1.4.1
    setuptools: 49.4.0
    sfftk-rw: 0.6.6.dev0
    six: 1.15.0
    snowballstemmer: 2.0.0
    sortedcontainers: 2.2.2
    Sphinx: 3.1.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 2.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 1.0.3
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.4
    suds-jurko: 0.6
    tables: 3.6.1
    tifffile: 2020.6.3
    tinyarray: 1.2.2
    tornado: 6.0.4
    traitlets: 5.0.4
    urllib3: 1.25.10
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.34.2

Attachments (4)

bundle_info.xml (2.2 KB ) - added by gabsbi@… 3 years ago.
Added by email2trac
_init_.py (1.7 KB ) - added by gabsbi@… 3 years ago.
Added by email2trac
cmd.py (515 bytes ) - added by gabsbi@… 3 years ago.
Added by email2trac
chimerax_hello.zip (2.7 KB ) - added by gabsbi@… 3 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (18)

comment:1 by Eric Pettersen, 3 years ago

Component: UnassignedDocumentation
Owner: set to Eric Pettersen
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissiondevelop example bundles: missing bundle_api for bundle

comment:2 by Eric Pettersen, 3 years ago

Status: acceptedfeedback

Hi Greg,

This line in both "devel build" outputs is suspicious:

package init file 'src/init.py' not found (or not a regular file)

What does /home/microcarbon/Desktop/chimerax_hello/src/init.py look like? It should look like this: https://rbvi.ucsf.edu/chimerax/docs/devel/tutorials/tutorial_command.html#src-init-py

Similarly, /home/microcarbon/Desktop/chimerax_qtpy/src/initpy should look like this: https://rbvi.ucsf.edu/chimerax/docs/devel/tutorials/tutorial_tool_qt.html#src-init-py

--Eric

Eric Pettersen
UCSF Computer Graphics Lab

in reply to:  3 ; comment:3 by gabsbi@…, 3 years ago

Hi Eric

Yes that code on the tutorial site was used to create them in my editor (I typically use Komodo Edit or VScode).  I'll double check the file properties in those and recompile.

Greg

Dr. Gregory A Babbitt
Associate Professor
T.H. Gosnell School of Life Sciences
Rochester Institute of Technology
Rochester  NY     USA
website: http://people.rit.edu/gabsbi

________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: Monday, August 8, 2022 7:07 PM
Cc: Gregory Babbitt <gabsbi@rit.edu>; pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #7414: develop example bundles: missing bundle_api for bundle

#7414: develop example bundles: missing bundle_api for bundle
------------------------------------+----------------------
          Reporter:  gabsbi@…       |      Owner:  pett
              Type:  defect         |     Status:  feedback
          Priority:  normal         |  Milestone:
         Component:  Documentation  |    Version:
        Resolution:                 |   Keywords:
        Blocked By:                 |   Blocking:
Notify when closed:                 |   Platform:  all
           Project:  ChimeraX       |
------------------------------------+----------------------
Changes (by pett):

 * status:  accepted => feedback


Comment:

 Hi Greg,
         This line in both "devel build" outputs is suspicious:

 package init file 'src/__init__.py' not found (or not a regular file)

 What does /home/microcarbon/Desktop/chimerax_hello/src/__init__.py look
 like?  It should look like this:
 https://rbvi.ucsf.edu/chimerax/docs/devel/tutorials/tutorial_command.html
 #src-init-py

 Similarly, /home/microcarbon/Desktop/chimerax_qtpy/src/__init__py should
 look like this:
 https://rbvi.ucsf.edu/chimerax/docs/devel/tutorials/tutorial_tool_qt.html
 #src-init-py

 --Eric

         Eric Pettersen
         UCSF Computer Graphics Lab

--
Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/7414#comment:2>
ChimeraX <https://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker

comment:4 by Eric Pettersen, 3 years ago

It's possible that those editors inserted some invisible formatting characters into the file. Make sure to save the file as plain text.

--Eric

in reply to:  5 ; comment:5 by gabsbi@…, 3 years ago

Hi again Eric

I copied it again as plain text and checked permissions and set them as executable.  The problem persists

Here is the log
UCSF ChimeraX version: 1.1 (2020-09-09)
© 2016-2020 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
devel build /home/microcarbon/Desktop/chimerax_hello/running build
running build_py
package init file 'src/__init__.py' not found (or not a regular file)
copying src/_init_.py -> build/lib/chimerax/hello_world
copying src/cmd.py -> build/lib/chimerax/hello_world
running bdist_wheel
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/chimerax
creating build/bdist.linux-x86_64/wheel/chimerax/hello_world
copying build/lib/chimerax/hello_world/_init_.py -> build/bdist.linux-x86_64/wheel/chimerax/hello_world
copying build/lib/chimerax/hello_world/cmd.py -> build/bdist.linux-x86_64/wheel/chimerax/hello_world
running install_egg_info
running egg_info
writing ChimeraX_HelloWorld.egg-info/PKG-INFO
writing dependency_links to ChimeraX_HelloWorld.egg-info/dependency_links.txt
writing requirements to ChimeraX_HelloWorld.egg-info/requires.txt
writing top-level names to ChimeraX_HelloWorld.egg-info/top_level.txt
reading manifest file 'ChimeraX_HelloWorld.egg-info/SOURCES.txt'
writing manifest file 'ChimeraX_HelloWorld.egg-info/SOURCES.txt'
Copying ChimeraX_HelloWorld.egg-info to build/bdist.linux-x86_64/wheel/ChimeraX_HelloWorld-0.1-py3.7.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/ChimeraX_HelloWorld-0.1.dist-info/WHEEL
creating 'dist/ChimeraX_HelloWorld-0.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'chimerax/hello_world/_init_.py'
adding 'chimerax/hello_world/cmd.py'
adding 'ChimeraX_HelloWorld-0.1.dist-info/METADATA'
adding 'ChimeraX_HelloWorld-0.1.dist-info/WHEEL'
adding 'ChimeraX_HelloWorld-0.1.dist-info/top_level.txt'
adding 'ChimeraX_HelloWorld-0.1.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Distribution is in /home/microcarbon/Desktop/chimerax_hello/dist/ChimeraX_HelloWorld-0.1-py3-none-any.whl

devel install /home/microcarbon/Desktop/chimerax_hello/running build
running build_py
package init file 'src/__init__.py' not found (or not a regular file)
running bdist_wheel
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/chimerax
creating build/bdist.linux-x86_64/wheel/chimerax/hello_world
copying build/lib/chimerax/hello_world/_init_.py -> build/bdist.linux-x86_64/wheel/chimerax/hello_world
copying build/lib/chimerax/hello_world/cmd.py -> build/bdist.linux-x86_64/wheel/chimerax/hello_world
running install_egg_info
running egg_info
writing ChimeraX_HelloWorld.egg-info/PKG-INFO
writing dependency_links to ChimeraX_HelloWorld.egg-info/dependency_links.txt
writing requirements to ChimeraX_HelloWorld.egg-info/requires.txt
writing top-level names to ChimeraX_HelloWorld.egg-info/top_level.txt
reading manifest file 'ChimeraX_HelloWorld.egg-info/SOURCES.txt'
writing manifest file 'ChimeraX_HelloWorld.egg-info/SOURCES.txt'
Copying ChimeraX_HelloWorld.egg-info to build/bdist.linux-x86_64/wheel/ChimeraX_HelloWorld-0.1-py3.7.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/ChimeraX_HelloWorld-0.1.dist-info/WHEEL
creating 'dist/ChimeraX_HelloWorld-0.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'chimerax/hello_world/_init_.py'
adding 'chimerax/hello_world/cmd.py'
adding 'ChimeraX_HelloWorld-0.1.dist-info/METADATA'
adding 'ChimeraX_HelloWorld-0.1.dist-info/WHEEL'
adding 'ChimeraX_HelloWorld-0.1.dist-info/top_level.txt'
adding 'ChimeraX_HelloWorld-0.1.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Distribution is in /home/microcarbon/Desktop/chimerax_hello/dist/ChimeraX_HelloWorld-0.1-py3-none-any.whl
[toolshed install](help:user/commands/toolshed.html#install)
/home/microcarbon/Desktop/chimerax_hello/dist/ChimeraX_HelloWorld-0.1-py3-none-
any.whl reinstall true

[toolshed install
/home/microcarbon/Desktop/chimerax_hello/dist/ChimeraX_HelloWorld-0.1-py3-none-
any.whl reinstall true](cxcmd:toolshed install
/home/microcarbon/Desktop/chimerax_hello/dist/ChimeraX_HelloWorld-0.1-py3-none-
any.whl reinstall true)

Successfully installed ChimeraX-HelloWorld-0.1
Installed ChimeraX-HelloWorld (0.1)

Traceback (most recent call last):
  File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/toolshed/info.py", line 480, in _get_api
    bundle_api = getattr(m, 'bundle_api')
AttributeError: module 'chimerax.hello_world' has no attribute 'bundle_api'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/toolshed/info.py", line 295, in _register_cmd
    api = self._get_api(logger)
  File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/toolshed/info.py", line 483, in _get_api
    raise ToolshedError("missing bundle_api for bundle \"%s\"" % self.name)
chimerax.core.toolshed.ToolshedError: missing bundle_api for bundle "ChimeraX-HelloWorld"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/commands/cli.py", line 2140, in lazy_register
    deferred.call()
  File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/commands/cli.py", line 2071, in call
    return self.proxy()
  File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/toolshed/info.py", line 286, in cb
    s._register_cmd(ci, l)
  File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/toolshed/info.py", line 299, in _register_cmd
    "register_command() failed for command %s in bundle %s:\n%s" % (ci.name, self.name, str(e)))
chimerax.core.toolshed.ToolshedError: register_command() failed for command hello in bundle ChimeraX-HelloWorld:
missing bundle_api for bundle "ChimeraX-HelloWorld"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/cmd_line/tool.py", line 275, in execute
    cmd.run(cmd_text)
  File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/commands/cli.py", line 2746, in run
    self._find_command_name(final, used_aliases=_used_aliases)
  File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/commands/cli.py", line 2489, in _find_command_name
    what.lazy_register(cmd_name)
  File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/commands/cli.py", line 2142, in lazy_register
    raise RuntimeError("delayed command registration for %r failed (%s)" % (cmd_name, e))
RuntimeError: delayed command registration for 'hello' failed (register_command() failed for command hello in bundle ChimeraX-HelloWorld:
missing bundle_api for bundle "ChimeraX-HelloWorld")

RuntimeError: delayed command registration for 'hello' failed (register_command() failed for command hello in bundle ChimeraX-HelloWorld:
missing bundle_api for bundle "ChimeraX-HelloWorld")

File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/commands/cli.py", line 2142, in lazy_register
raise RuntimeError("delayed command registration for %r failed (%s)" % (cmd_name, e))

Dr. Gregory A Babbitt
Associate Professor
T.H. Gosnell School of Life Sciences
Rochester Institute of Technology
Rochester  NY     USA
website: http://people.rit.edu/gabsbi

________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: Monday, August 8, 2022 8:38 PM
Cc: Gregory Babbitt <gabsbi@rit.edu>; pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #7414: develop example bundles: missing bundle_api for bundle

#7414: develop example bundles: missing bundle_api for bundle
------------------------------------+----------------------
          Reporter:  gabsbi@…       |      Owner:  pett
              Type:  defect         |     Status:  feedback
          Priority:  normal         |  Milestone:
         Component:  Documentation  |    Version:
        Resolution:                 |   Keywords:
        Blocked By:                 |   Blocking:
Notify when closed:                 |   Platform:  all
           Project:  ChimeraX       |
------------------------------------+----------------------

Comment (by pett):

 It's possible that those editors inserted some invisible formatting
 characters into the file.  Make sure to save the file as plain text.

 --Eric

--
Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/7414#comment:4>
ChimeraX <https://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker

comment:6 by Eric Pettersen, 3 years ago

Can you attach either one of those files so I can have a look?

--Eric

in reply to:  7 ; comment:7 by gabsbi@…, 3 years ago


Dr. Gregory A Babbitt
Associate Professor
T.H. Gosnell School of Life Sciences
Rochester Institute of Technology
Rochester  NY     USA
website: http://people.rit.edu/gabsbi

________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: Monday, August 8, 2022 9:00 PM
Cc: Gregory Babbitt <gabsbi@rit.edu>; pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #7414: develop example bundles: missing bundle_api for bundle

#7414: develop example bundles: missing bundle_api for bundle
------------------------------------+----------------------
          Reporter:  gabsbi@…       |      Owner:  pett
              Type:  defect         |     Status:  feedback
          Priority:  normal         |  Milestone:
         Component:  Documentation  |    Version:
        Resolution:                 |   Keywords:
        Blocked By:                 |   Blocking:
Notify when closed:                 |   Platform:  all
           Project:  ChimeraX       |
------------------------------------+----------------------

Comment (by pett):

 Can you attach either one of those files so I can have a look?

 --Eric

--
Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/7414#comment:6>
ChimeraX <https://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker

bundle_info.xml

_init_.py

cmd.py

by gabsbi@…, 3 years ago

Attachment: bundle_info.xml added

Added by email2trac

by gabsbi@…, 3 years ago

Attachment: _init_.py added

Added by email2trac

by gabsbi@…, 3 years ago

Attachment: cmd.py added

Added by email2trac

in reply to:  11 comment:8 by gabsbi@…, 3 years ago

might be getting blocked by our mailserver

Dr. Gregory A Babbitt
Associate Professor
T.H. Gosnell School of Life Sciences
Rochester Institute of Technology
Rochester  NY     USA
website: http://people.rit.edu/gabsbi

________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: Monday, August 8, 2022 9:04 PM
Cc: Gregory Babbitt <gabsbi@rit.edu>; pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #7414: develop example bundles: missing bundle_api for bundle

#7414: develop example bundles: missing bundle_api for bundle
------------------------------------+----------------------
          Reporter:  gabsbi@…       |      Owner:  pett
              Type:  defect         |     Status:  feedback
          Priority:  normal         |  Milestone:
         Component:  Documentation  |    Version:
        Resolution:                 |   Keywords:
        Blocked By:                 |   Blocking:
Notify when closed:                 |   Platform:  all
           Project:  ChimeraX       |
------------------------------------+----------------------
Changes (by gabsbi@…):

 * Attachment "_init_.py" added.

 Added by email2trac

--
Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/7414>
ChimeraX <https://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker

chimerax_hello.zip

by gabsbi@…, 3 years ago

Attachment: chimerax_hello.zip added

Added by email2trac

comment:9 by Eric Pettersen, 3 years ago

Ah, the file name is supposed to be __init.py -- that's *two* underscores before and after "init".

--Eric

Version 1, edited 3 years ago by Eric Pettersen (previous) (next) (diff)

in reply to:  14 comment:10 by gabsbi@…, 3 years ago

Hi Eric

Thanks for helping me so quickly. I probably need some new glasses.  I am setting up some class assignments for an undergrad bioinformatics class and I typically start them out exploring the PDB with your tools but then later in the course I have them practice python.  Your software is a great training ground for all of us

Thanks again
Greg B

Dr. Gregory A Babbitt
Associate Professor
T.H. Gosnell School of Life Sciences
Rochester Institute of Technology
Rochester  NY     USA
website: http://people.rit.edu/gabsbi

________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: Monday, August 8, 2022 9:11 PM
Cc: Gregory Babbitt <gabsbi@rit.edu>; pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #7414: develop example bundles: missing bundle_api for bundle

#7414: develop example bundles: missing bundle_api for bundle
------------------------------------+----------------------
          Reporter:  gabsbi@…       |      Owner:  pett
              Type:  defect         |     Status:  feedback
          Priority:  normal         |  Milestone:
         Component:  Documentation  |    Version:
        Resolution:                 |   Keywords:
        Blocked By:                 |   Blocking:
Notify when closed:                 |   Platform:  all
           Project:  ChimeraX       |
------------------------------------+----------------------

Comment (by pett):

 Ah, the file name is supposed to be __init__.py -- that's *two*
 underscores before and after "init".

 --Eric

--
Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/7414#comment:9>
ChimeraX <https://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker

comment:11 by Eric Pettersen, 3 years ago

Resolution: not a bug
Status: feedbackclosed

Glad I could help. If there's anything of general utility we can do to make your class preparation or teaching easier, don't be shy to make suggestions. :-)

--Eric

in reply to:  16 comment:12 by gabsbi@…, 3 years ago

Hi Eric

Your recent expansions to the chimerax developer site are just wonderful.  My class typically has molecular biology students who have never coded and also alot older CS students looking to pick up an elective who haven't seem biology since high school.  So I pair them together on a task developing scripts to do something novel in chimerax.

One question...do folks ever use python kivy ui with chimerax or does it always require pyqt?  I really liked the kivy format when it came out but have noticed it has declined in usage lately. I have noticed kivy ui's can be unstable on some linux systems whereas older ui's are not.  pyqt seems more like a step back towards ui like perl-tk and python tkinter.

What is the best gui for python and chimerax projects in your opinion?

Greg B

Dr. Gregory A Babbitt
Associate Professor
T.H. Gosnell School of Life Sciences
Rochester Institute of Technology
Rochester  NY     USA
website: http://people.rit.edu/gabsbi

________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: Monday, August 8, 2022 10:10 PM
Cc: Gregory Babbitt <gabsbi@rit.edu>; pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #7414: develop example bundles: missing bundle_api for bundle

#7414: develop example bundles: missing bundle_api for bundle
------------------------------------+--------------------
          Reporter:  gabsbi@…       |      Owner:  pett
              Type:  defect         |     Status:  closed
          Priority:  normal         |  Milestone:
         Component:  Documentation  |    Version:
        Resolution:  not a bug      |   Keywords:
        Blocked By:                 |   Blocking:
Notify when closed:                 |   Platform:  all
           Project:  ChimeraX       |
------------------------------------+--------------------
Changes (by pett):

 * status:  feedback => closed
 * resolution:   => not a bug


Comment:

 Glad I could help.  If there's anything of general utility we can do to
 make your class preparation or teaching easier, don't be shy to make
 suggestions. :-)

 --Eric

--
Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/7414#comment:11>
ChimeraX <https://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker

comment:13 by Eric Pettersen, 3 years ago

Hi Greg,

Kivy and Qt are not interoperable, so for coding within ChimeraX you are stuck with Qt (or HTML). When originally considering what GUI framework to use for ChimeraX, we needed a Python-available cross-platform framework with enough momentum behind it so that it wouldn't quickly become unsupported, so we only seriously considered WxPython and Qt. WxPython was nice but basically one had one main developer behind it so we felt it was too risky and went with Qt.
So I don't know that I'm actually an expert on what the best GUI toolkit is, since our requirements eliminated many without serious consideration (and I don't think kivy was available at the time). From what I read on the web, it seems that kivy is good from mobile deployment and Qt is better for desktop deployment since the latter presents a native look and feel and is more of an application framework. Qt is huge though. That size does buy you a few things -- I know we love the capabilities the embedded browser-like widget gives us.

--Eric

in reply to:  18 ; comment:14 by gabsbi@…, 3 years ago

Thanks again for all your help and advice!  Everything runs fine now.

Greg B

Dr. Gregory A Babbitt
Associate Professor
T.H. Gosnell School of Life Sciences
Rochester Institute of Technology
Rochester  NY     USA
website: http://people.rit.edu/gabsbi

________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: Tuesday, August 9, 2022 1:16 PM
Cc: Gregory Babbitt <gabsbi@rit.edu>; pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #7414: develop example bundles: missing bundle_api for bundle

#7414: develop example bundles: missing bundle_api for bundle
------------------------------------+--------------------
          Reporter:  gabsbi@…       |      Owner:  pett
              Type:  defect         |     Status:  closed
          Priority:  normal         |  Milestone:
         Component:  Documentation  |    Version:
        Resolution:  not a bug      |   Keywords:
        Blocked By:                 |   Blocking:
Notify when closed:                 |   Platform:  all
           Project:  ChimeraX       |
------------------------------------+--------------------

Comment (by pett):

 Hi Greg,
         Kivy and Qt are not interoperable, so for coding within ChimeraX
 you are stuck with Qt (or HTML).  When originally considering what GUI
 framework to use for ChimeraX, we needed a Python-available cross-platform
 framework with enough momentum behind it so that it wouldn't quickly
 become unsupported, so we only seriously considered WxPython and Qt.
 WxPython was nice but basically one had one main developer behind it so we
 felt it was too risky and went with Qt.
         So I don't know that I'm actually an expert on what the best GUI
 toolkit is, since our requirements eliminated many without serious
 consideration (and I don't think kivy was available at the time).  From
 what I read on the web, it seems that kivy is good from mobile deployment
 and Qt is better for desktop deployment since the latter presents a native
 look and feel and is more of an application framework.  Qt is huge though.
 That size does buy you a few things -- I know we love the capabilities the
 embedded browser-like widget gives us.

 --Eric

--
Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/7414#comment:13>
ChimeraX <https://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker
Note: See TracTickets for help on using tickets.