Opened 45 hours ago

Closed 23 hours ago

#20750 closed defect (fixed)

numpy bool no longer accepted by QCheckBox.setChecked()

Reported by: Tristan Croll Owned by: Eric Pettersen
Priority: normal Milestone:
Component: Window Toolkit Version:
Keywords: Cc: chimera-programmers
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.26200-SP0
ChimeraX Version: 1.13.dev202607100053 (2026-07-10 00:53:17 UTC)
Description
Tried to launch the selection inspector with an atom selected. I'd just been messing with it in the altloc explorer, if that makes any difference.

Log:
UCSF ChimeraX version: 1.13.dev202607100053 (2026-07-10)  
© 2016-2026 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 9rr6 structureFactors true

Summary of feedback from opening 9rr6 fetched from pdb  
---  
warning | WARNING: multiple experimental reflection datasets found:  
F_meas_au, F_meas_sigma_au,  
pdbx_HL_A_iso, pdbx_HL_B_iso, pdbx_HL_C_iso, pdbx_HL_D_iso,  
phase_calc, fom  
Automatically choosing "F_meas_au, F_meas_sigma_au".  
notes | Fetching compressed 9rr6 structure factors from http://files.rcsb.org/download/9rr6-sf.cif  
Resolution: 0.9333392159018835  
Launching live xmap mgr took 0.5529270172119141 seconds.  
  
Opened (LIVE) 2mFo-DFc as #1.1.1.2, grid size 82,84,80, pixel
0.304,0.295,0.304, shown at level 1.58, step 1, values float32  
Opened (LIVE) mFo-DFc as #1.1.1.3, grid size 82,84,80, pixel
0.304,0.295,0.304, shown at level -0.311,0.311, step 1, values float32  
Opened (LIVE) 2mFo-DFc_smooth_29 as #1.1.1.4, grid size 82,84,80, pixel
0.304,0.295,0.304, shown at level 0.273, step 1, values float32  
Opened (STATIC) F_calc, phase_calc as #1.1.1.5, grid size 82,84,80, pixel
0.304,0.295,0.304, shown at level 1.55, step 1, values float32  
Opened (STATIC) pdbx_DELFWT, pdbx_DELPHWT as #1.1.1.6, grid size 82,84,80,
pixel 0.304,0.295,0.304, shown at level -0.691,0.691, step 1, values float32  
Opened (STATIC) pdbx_FWT, pdbx_PHWT as #1.1.1.7, grid size 82,84,80, pixel
0.304,0.295,0.304, shown at level 1.53, step 1, values float32  
9rr6 title:  
Galectin-3 with a bound inhibitor [more info...]  
  
86 atoms have alternate locations. Control/examine alternate locations with
Altloc Explorer [start tool...] or the altlocs command.  
1363 atoms have anisotropic B-factors. Depict anisotropic information with
Thermal Ellipsoids [start tool...] or the aniso command.  
Chain information for 9rr6 #1.2  
---  
Chain | Description | UniProt  
A | Galectin-3 | LEG3_HUMAN 113-250  
  
Non-standard residues in 9rr6 #1.2  
---  
A1JIR — (2~{S})-2-[4,4-bis(fluoranyl)-1-oxidanyl-
cyclohexyl]-2-[(2~{S},3~{R},4~{S},5~{R},6~{R})-6-(hydroxymethyl)-3-methoxy-5-oxidanyl-4-[4-[3,4,5-tris(fluoranyl)phenyl]-1,2,3-triazol-1-yl]oxan-2-yl]sulfanyl-~{N}-methyl-~{N}-pyridin-2-yl-
ethanamide  
DMS — dimethyl sulfoxide  
SCN — thiocyanate ion  
  

> ui tool show "Selection Inspector"

> ui tool show "Altloc Explorer"

> hbonds /A:127,129,140-141,168,194,205,208,220,241 & @@num_alt_locs>1
> interModel false reveal true name "altloc H-bonds" updateGroup true

29 hydrogen bonds found  

> ui tool show "Altloc Explorer"

> hbonds /A:127,129,140-141,168,194,205,208,220,241 & @@num_alt_locs>1
> interModel false reveal true name "altloc H-bonds" updateGroup true

29 hydrogen bonds found  

> show /A:127

> view /A:127

> show /A:129

> view /A:129

> altlocs change A /A:129

Changed /A ARG 129 to alternate location A  

> hbonds /A:129 & @@num_alt_locs>1 interModel false reveal true name "altloc
> H-bonds" updateGroup true

2 hydrogen bonds found  

> altlocs change B /A:129

Changed /A ARG 129 to alternate location B  

> hbonds /A:129 & @@num_alt_locs>1 interModel false reveal true name "altloc
> H-bonds" updateGroup true

3 hydrogen bonds found  

> ui tool show Shell

0.00s - Debugger warning: It seems that frozen modules are being used, which
may  
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off  
0.00s - to python to disable frozen modules.  
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to
disable this validation.  

> show /A:140

> view /A:140

> altlocs change B /A:140

Changed /A PRO 140 to alternate location B  

> hbonds /A:141 & @@num_alt_locs>1 interModel false reveal true name "altloc
> H-bonds" updateGroup true

0 hydrogen bonds found  

> hbonds /A:140 & @@num_alt_locs>1 interModel false reveal true name "altloc
> H-bonds" updateGroup true

1 hydrogen bonds found  

> altlocs change A /A:140

Changed /A PRO 140 to alternate location A  

> hbonds /A:141 & @@num_alt_locs>1 interModel false reveal true name "altloc
> H-bonds" updateGroup true

0 hydrogen bonds found  

> hbonds /A:140 & @@num_alt_locs>1 interModel false reveal true name "altloc
> H-bonds" updateGroup true

3 hydrogen bonds found  

> close #1.1.1.5-7

> select clear

> select /A:140@CG

1 atom, 1 residue, 1 model selected  

> ui tool show "Selection Inspector"

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\core\toolshed\info.py", line 571, in start_tool  
ti = api._api_caller.start_tool(api, session, self, tool_info)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 1400, in start_tool  
return cls._get_func(api, "start_tool")(session, ti.name)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\sel_inspector\\__init__.py", line 32, in start_tool  
return SelInspector(session, tool_name)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\sel_inspector\tool.py", line 73, in __init__  
self._new_items()  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\sel_inspector\tool.py", line 141, in _new_items  
self._menu_cb()  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\sel_inspector\tool.py", line 110, in _menu_cb  
self.refresh()  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\sel_inspector\tool.py", line 190, in refresh  
option.display_for_items(items)  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\ui\options\options.py", line 137, in display_for_items  
self.value = value  
^^^^^^^^^^  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\ui\options\options.py", line 323, in set_value  
self.widget.setChecked(value)  
TypeError: setChecked(self, a0: bool): argument 1 has unexpected type
'numpy.bool'  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\ui\gui.py", line 1956, in <lambda>  
run(ses, "ui tool show %s" % StringArg.unparse(tool_name)))  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\core\commands\run.py", line 49, in run  
results = command.run(text, log=log, return_json=return_json)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 3245, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\ui\cmd.py", line 246, in ui_tool_show  
return bi.start_tool(session, name)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\core\toolshed\info.py", line 578, in start_tool  
raise ToolshedError(  
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool Selection
Inspector in bundle ChimeraX-SelInspector:  
setChecked(self, a0: bool): argument 1 has unexpected type 'numpy.bool'  
  
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool Selection
Inspector in bundle ChimeraX-SelInspector:  
setChecked(self, a0: bool): argument 1 has unexpected type 'numpy.bool'  
  
File "C:\Program Files\ChimeraX-Daily\bin\Lib\site-
packages\chimerax\core\toolshed\info.py", line 578, in start_tool  
raise ToolshedError(  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 610.62
OpenGL renderer: NVIDIA GeForce RTX 5070 Ti Laptop GPU/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.11.15
Locale: en_GB.cp1252
Qt version: PyQt6 6.10.2, Qt 6.10.0
Qt runtime version: 6.10.2
Qt platform: windows

Manufacturer: LENOVO
Model: 83LU
OS: Microsoft Windows 11 Pro (Build 26200.8655)
Memory: 33,752,997,888
MaxProcessMemory: 137,438,953,344
CPU: 24 Intel(R) Core(TM) Ultra 9 275HX
OSLanguage: en-US

Installed Packages:
    accessible-pygments: 0.0.5
    aiohappyeyeballs: 2.7.1
    aiohttp: 3.13.4
    aiosignal: 1.4.0
    alabaster: 1.0.0
    annotated-types: 0.7.0
    anyio: 4.14.1
    appdirs: 1.4.4
    asttokens: 3.0.1
    attrs: 26.1.0
    autocommand: 2.2.2
    babel: 2.18.0
    backports.tarfile: 1.2.0
    beautifulsoup4: 4.13.5
    blockdiag: 3.0.0
    blosc2: 4.8.0
    build: 1.5.0
    certifi: 2026.6.17
    cftime: 1.6.5
    charset-normalizer: 3.4.9
    ChimeraX-AddCharge: 1.5.20
    ChimeraX-AddH: 2.3.1
    ChimeraX-AlignmentAlgorithms: 2.0.2
    ChimeraX-AlignmentHdrs: 3.6.2
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 3.2.2
    ChimeraX-AlphaFold: 1.0.1
    ChimeraX-AltlocExplorer: 1.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Animations: 1.0
    ChimeraX-Aniso: 1.3.2
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.70.1
    ChimeraX-AtomicLibrary: 14.4.1
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.4
    ChimeraX-BasicActions: 1.1.3
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 3.0.0
    ChimeraX-Boltz: 1.1
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.2
    ChimeraX-BuildStructure: 2.13.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.6.0
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.4.1
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.5
    ChimeraX-ChemGroup: 2.0.2
    ChimeraX-Clashes: 2.4
    ChimeraX-Clipper: 0.28.dev0
    ChimeraX-Cluster: 1.0
    ChimeraX-ColorActions: 1.0.5
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.8
    ChimeraX-CommandLine: 1.3.1
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.13.dev202607100053
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.6
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.4
    ChimeraX-DistMonitor: 1.4.2
    ChimeraX-DockPrep: 1.2.2
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.3
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.4.1
    ChimeraX-Hbonds: 2.5.4
    ChimeraX-Help: 1.3
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.4
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-KVFinder: 1.8.4
    ChimeraX-Label: 1.5
    ChimeraX-LightingGUI: 1.0
    ChimeraX-ListInfo: 1.3.1
    ChimeraX-Log: 1.2.2
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.3
    ChimeraX-Map: 1.3
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0.1
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.2
    ChimeraX-MatchAlign: 1.2.1
    ChimeraX-MatchMaker: 2.4.1
    ChimeraX-MCopy: 1.0
    ChimeraX-MCPServer: 0.2.0
    ChimeraX-MDcrds: 2.19.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-Minimize: 1.4.2
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.17
    ChimeraX-MMTF: 2.2
    ChimeraX-ModelArchive: 1.0
    ChimeraX-Modeller: 1.5.24
    ChimeraX-ModelPanel: 1.6.1
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0.3
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0.1
    ChimeraX-MutationScores: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.16.2
    ChimeraX-OpenFold: 1.0
    ChimeraX-OrthoPick: 1.0.1
    ChimeraX-PDB: 2.7.13
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.5
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1.4
    ChimeraX-ProfileGrids: 1.10.2
    ChimeraX-PubChem: 2.2
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.8.3
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.3.3
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 4.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.2
    ChimeraX-Scenes: 0.3.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.3
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 3.5.12
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.19.1
    ChimeraX-Shape: 1.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.2.1
    ChimeraX-ShowSequences: 1.0.3
    ChimeraX-SideView: 1.0.1
    ChimeraX-SimilarStructures: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SNFG: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.20
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.2.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.5.3
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.2.4
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.53.1
    ChimeraX-Umap: 1.0
    ChimeraX-uniprot: 2.3.2
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDock: 1.6.5
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-vrml: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.5
    ChimeraX-Zone: 1.0.1
    click: 8.4.2
    colorama: 0.4.6
    comm: 0.2.3
    comtypes: 1.4.11
    contourpy: 1.3.3
    coverage: 7.15.0
    cxservices: 1.2.3
    cycler: 0.12.1
    Cython: 3.2.4
    debugpy: 1.8.21
    decorator: 5.3.1
    docutils: 0.21.2
    executing: 2.2.1
    filelock: 3.19.1
    fonttools: 4.63.0
    frozenlist: 1.8.0
    funcparserlib: 1.0.1
    glfw: 2.10.0
    grako: 3.16.5
    h11: 0.16.0
    h2: 4.3.0
    h5py: 3.16.0
    hpack: 4.2.0
    html2text: 2025.4.15
    httpcore: 1.0.9
    httpx: 0.28.1
    httpx-sse: 0.4.3
    hyperframe: 6.1.0
    idna: 3.18
    ihm: 2.2
    imagecodecs: 2024.6.1
    imagesize: 2.0.0
    importlib_metadata: 8.7.1
    iniconfig: 2.3.0
    ipykernel: 7.3.0
    ipython: 9.14.1
    ipython_pygments_lexers: 1.1.1
    jaraco.context: 6.1.0
    jaraco.functools: 4.4.0
    jaraco.text: 4.0.0
    jedi: 0.20.0
    Jinja2: 3.1.6
    jsonschema: 4.26.0
    jsonschema-specifications: 2025.9.1
    jupyter_client: 8.9.1
    jupyter_core: 5.9.1
    kiwisolver: 1.5.0
    line_profiler: 5.0.0
    lxml: 6.0.2
    lz4: 4.3.2
    Markdown: 3.8.2
    markdown-it-py: 4.2.0
    MarkupSafe: 3.0.3
    matplotlib: 3.10.7
    matplotlib-inline: 0.2.2
    mcp: 1.18.0
    mdurl: 0.1.2
    more-itertools: 10.8.0
    msgpack: 1.1.1
    multidict: 6.7.1
    ndindex: 1.10.1
    nest-asyncio2: 1.7.2
    netCDF4: 1.7.4
    networkx: 3.3
    numexpr: 2.14.1
    numpy: 2.4.6
    nvidia-nvjitlink-cu12: 12.9.86
    OpenMM: 8.4.0
    OpenMM-CUDA-12: 8.4.0
    openvr: 1.26.701
    packaging: 25.0
    packaging: 26.0
    ParmEd: 4.2.2
    parso: 0.8.7
    pep517: 0.13.1
    pickleshare: 0.7.5
    pillow: 11.3.0
    pip: 26.1.2
    pkginfo: 1.12.1.2
    platformdirs: 4.10.0
    platformdirs: 4.4.0
    pluggy: 1.6.0
    prompt_toolkit: 3.0.52
    propcache: 0.5.2
    psutil: 7.0.0
    pure_eval: 0.2.3
    py-cpuinfo: 9.0.0
    pybind11: 3.0.1
    pycollada: 0.8
    pydantic: 2.13.4
    pydantic-settings: 2.14.2
    pydantic_core: 2.46.4
    pydata-sphinx-theme: 0.20.0
    Pygments: 2.18.0
    pynmrstar: 3.5.1
    PyOpenGL: 3.1.10
    PyOpenGL-accelerate: 3.1.10
    pyopenxr: 1.1.4501
    pyparsing: 3.3.2
    pyproject_hooks: 1.2.0
    PyQt6-commercial: 6.10.2
    PyQt6-Qt6: 6.10.2
    PyQt6-WebEngine-commercial: 6.10.0
    PyQt6-WebEngine-Qt6: 6.10.2
    PyQt6_sip: 13.10.3
    pytest: 9.1.1
    pytest-cov: 7.1.0
    python-dateutil: 2.9.0.post0
    python-dotenv: 1.2.2
    python-multipart: 0.0.32
    pywin32: 311
    pyzmq: 27.1.0
    qtconsole: 5.7.2
    QtPy: 2.4.3
    qtshim: 1.2.2
    RandomWords: 0.4.0
    referencing: 0.37.0
    requests: 2.32.5
    rich: 15.0.0
    roman-numerals: 4.1.0
    rpds-py: 2026.6.3
    scipy: 1.17.1
    setuptools: 82.0.1
    sfftk-rw: 0.8.1
    six: 1.17.0
    snowballstemmer: 3.1.1
    sortedcontainers: 2.4.0
    soupsieve: 2.8.4
    Sphinx: 9.0.4
    sphinx-autodoc-typehints: 3.6.1
    sphinxcontrib-applehelp: 2.0.0
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 2.0.0
    sphinxcontrib-htmlhelp: 2.1.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 2.0.0
    sphinxcontrib-serializinghtml: 2.0.0
    sse-starlette: 3.4.5
    stack-data: 0.6.3
    starlette: 1.3.1
    superqt: 0.7.6
    tables: 3.11.1
    threadpoolctl: 3.6.0
    tifffile: 2025.3.13
    tinyarray: 1.2.5
    tomli: 2.4.0
    tornado: 6.5.7
    traitlets: 5.15.1
    typing-inspection: 0.4.2
    typing_extensions: 4.16.0
    urllib3: 2.7.0
    uv: 0.11.26
    uvicorn: 0.51.0
    wcwidth: 0.8.2
    webcolors: 24.11.1
    wheel: 0.47.0
    wheel: 0.46.3
    wheel-filename: 1.4.2
    WMI: 1.5.1
    yarl: 1.24.2
    zipp: 3.23.0

Change History (6)

comment:1 by Eric Pettersen, 44 hours ago

Cc: chimera-programmers added
Component: UnassignedWindow Toolkit
Owner: set to Zach Pearson
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionnumpy bool no longer accepted by QCheckBox.setChecked()

There is a good chance that this is related to using numpy2. In ChimeraX 1.11, setChecked accepted numpy.bool_ . In the current daily build it rejects numpy.bool.

comment:2 by Eric Pettersen, 44 hours ago

On the other hand, I don't see any difference between the way numpy.bool/bool_ is defined in numpy2 and the way numpy.bool_ is defined in numpy1.

comment:3 by Eric Pettersen, 42 hours ago

Works in ChimeraX 1.12, so somehow is a numpy 1→2 thing, sigh.

comment:4 by Eric Pettersen, 42 hours ago

Owner: changed from Zach Pearson to Tom Goddard

comment:5 by Tom Goddard, 39 hours ago

Owner: changed from Tom Goddard to Eric Pettersen

I was not able to find out what the accepted argument types of PyQt 6.10 QCheckBox.setChecked() are. AI (Gemini) claimed only types derived from Python bool are accepted. But numpy 1 bool_ is not derived from bool so that is wrong. I tried defining a class with a bool() method:

class c:
  def __bool__(self):
    return True

x = c()

qcheckbutton.setCheck(x)
TypeError: setChecked(self, a0: bool): argument 1 has unexpected type 'c'

So PyQt does not accept class instances that have a bool() method. Both numpy1 bool_ and numpy2 bool/bool_ have a bool() method but the above test shows that isn't sufficient. When I asked Gemini why numpy1 bool_ works while numpy2 bool does not it claimed numpy1 bool_ defined C API slots that allow PyQt to recognize it while numpy2 completely reimplemented bool and does not have that support. It probably made that up, but yeah of course it is something like that.

At any rate the suggested fix in the online searches was use Python bool for PyQt setChecked(). Unless you want to haggle with the PyQt developer to improve the SIP wrapper generator, or revert numpy 2 to numpy 1, I think that is the only option. This was the fix done by the PlotPy package in this bug report

https://github.com/PlotPyStack/guidata/issues/96

comment:6 by Eric Pettersen, 23 hours ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.