You won't be able to run any of those, since they rely on C++ modules, I think.
But, you probably will be able to download them and install in site packages so that autocomplete works. (You'd be able to autocomplete classes that were written in pure python, but not any from c modules).
You can try installing stash https://github.com/ywangd/stash, then you might try using pip install to install the module. However, it will most likely fail to install, if there were c dependencies. For instance, OpenMaya looks like it has c++ dependencies, so will fail. cmdx looks to be a wrapper around maya.cmds, written purely in python, so should install without issues.
In the case where pip install fails, what often works is to use pip download,then use tar or unzip commands to extract the archive, then move the main python folder to site-packages. That should let you write code that imports the module, and jedi should parse what it can and autocomplete anything that exists in pure python.
Alright, made some quick changes to setup what was mentioned.
I attempted this on the Laser objects..
I will have to dive in a little more to determine where this is happening, but here is what I noticed.
Here is some misc. output I use for debugging that was produced when I noticed this occurring..
Generating Lasers with 992 left
timeToGen 2000 Lasers: 0.12253904342651367
Generating Lasers with 2993 left
timeToGen 1000 Lasers: 0.07495284080505371
Generating Lasers with 3995 left
timeToGen 1000 Lasers: 0.08381533622741699
Max Star execution time: 0.0003571510314941406
Max Item Collision execution time: 0.0007109642028808594
Max Laser Collision execution time: 0.0007081031799316406
Max Spawn Item execution time: 0.00047898292541503906
Max Should Fire execution time: 0.002073049545288086
Active weapon: laser
Dictionary of self.children and count of each:
<class '_scene2.SpriteNode'>: 230
<class 'scene.LabelNode'>: 5
<class 'main.MiniRocket'>: 1000
<class 'main.Laser'>: 4987
<class 'main.Meteor'>: 170
<class 'main.Star'>: 51
<class 'main.Meteor2'>: 3
I noticed that when firing lasers, I should have been firing 10 projectiles each time, but some of the projectiles were not visible. So I set a breakpoint and found that some of the lasers in my list of projectiles (contains all projectiles that have been fired and should be visible) have no parent.
Unfortunately, the functions that may be involved in this are messy and I will need to dig around and clean up before I can efficiently get to root cause.
No, you never worked with a self installed numpy. If you imported numpy, then tried to install using stash/pip, you would have been able to keep using the old numpy until you force quit pythonista (or iOS kills it).
@bennr01 I thought pip had a blacklist now to prevent numpy installation?
I was having the same issue! but I figured it out, you have to add a "wait to return" to make sure the pythonista code finishes running before the shortcut does. Hopefully it was the same issue if you haven't figured It out yet.