
The ChimeraX Toolshed uses the pypi protocols for package naming and metadata. If the binary works for both Python 3.7 and 3.8, you might be able to get away with renaming it to ChimeraX_RMF-0.9-cp37-cp37m-cp38-macosx_10_13_x86_64.whl. You should also be able to have separate bundles for Python 3.7 and 3.8. It if doesn't work, it's a bug :-) I'll create a ticket for adding support for the Python 3 Stable API (Py_LIMITED_API) to bundle_info.xml which will create binaries compatible with all versions of Python 3. Of course, the Toolshed bundles should only be for production releases. The API of the daily builds has not been finalized, so bundles built against it might break tomorrow. The Toolshed searching not finding rmf is a bug. Will create a ticket for that. -- Greg On 10/5/2020 2:21 PM, Ben Webb wrote:
On 9/28/20 11:08 PM, Greg Couch wrote:
In the mean time, all of the Python3 source code is available in the ChimeraX download. Look in CHIMERAX/lib/python3.?/site-packages/chimerax for all of the chimerax modules. CHIMERAX is the directory you installed ChimeraX in. And 3.? is 3.7 for the 1.0 and 1.1 releases and 3.8 for the daily build.
Maybe a stupid question, but how are multiple Python versions handled with the Toolshed? For example my "RMF" bundle in the Toolshed contains a dynamic shared object built against the Python 3.7 API, so if I try to install it in the (Python 3.8) nightly build, it doesn't let me (e.g. on Mac I get "ERROR: ChimeraX_RMF-0.9-cp37-cp37m-macosx_10_13_x86_64.whl is not a supported wheel on this platform.")
Is ChimeraX/Toolshed smart enough that if I build and upload both a Python 3.7 and Python 3.8 version of the bundle it will pick the right one when a user tries to install it in ChimeraX 1.1 or the nightly build? Or can I fool it into using the same binary in both cases? (I don't use any private stuff that changed between 3.7 and 3.8 so in principle the ChimeraX 1.1 bundle should also work for the nightly.)
BTW, I was surprised to find that https://cxtoolshed.rbvi.ucsf.edu/search?q=rmf returns no results even though there it is, plain as day: https://cxtoolshed.rbvi.ucsf.edu/apps/chimeraxrmf
Ben