Does anyone know where to find Enthought NumPy binaries for IronPython? - numpy

A couple of years ago, Enthought decided to undertake the herculean task of rebuilding NumPy to work well with IronPython. Working binaries were hosted at the following location for a while:
https://store.enthought.com/repo/.iron/
However, since the end of 2014 it seems like the above has become a dead link. While many users reported compatibility issues with these outdated binaries, they remain the only way to actually interop with NumPy at all from IronPython.
I myself had a copy of these binaries for a while, but have since lost track of them unfortunately... Does anyone by any chance know where they can be found? I'm hoping they have not vanished off the face of the Internets...

The link is still alive. You need a (free) Enthought login to access it.
https://store.enthought.com/accounts/login/

Related

Attatching a Python Console to a PyQt app

Apologies if the answer to this question is already all over the internet, I just couldn't find an answer which was sufficiently dumbed-down for me to make use of it.
I'm making an app in PyQt for scientific computation purposes and I thought it would be nice to give the user that extra level of control and transparency into the workings of the app by attaching a python interpreter to the app.
The idea is that the interpreter should be able to access all variables that the app is also running on. In other words, I want to be able to start my PyQt app, and immediately write in the console 'print(someVariableKnownToTheApp)' and view the output as if written in the debugger in pycharm.
Doing a bit of searching online, I came across the classes 'InteractiveInterpreter' and 'InteractiveConsole' in the 'code' package, but I'm not sure how I would use these for my purpose.
Any help or suggestions would be highly appreciated.

Migrating from CS50 Development Environment

I completed all the assignments on CS50 (with a great deal of help reading stackoverflow articles, thanks!) and I'd like to migrate to a "non CS50" environment to do the final project. I thought it would be relatively simple to move to Cloud9 since that's what the CS50 IDE is based on, but it's feeling like a pretty steep learning curve. I've got 3 hours into just trying to figure out how to install (or use if it's already installed) the sqlitebrowser (and still no luck).
npm install sqlitebrowser... nope
sudo apt-get install sqlitebrowser... nope (you get the idea, on and on it goes)
Given that, this is feeling like a month-long program just to get started.
I'm assuming there must be an easier way for a beginner to get started developing web apps, but googling "migrating from CS50 IDE" and the like has a stunning dirth of information, I can't believe I'm alone in trying to figure out my next steps, so I'm a bit puzzled as to why no one else is asking. Hopefully this is just a dumb question where I'm missing something obvious. Or maybe this is just the way it is, you have to invest a lot of time to get your development environment going? Is there a development environment that has a community that's friendly to beginners?
In any case, I'm sure there are some on here having gone this path, so before I spend a month on this path, I figured I would at least ask!
They mentioned Visual Studio Code at one point and it has been okay so far, but not as convenient as the CS50 IDE and a bit tricky at times. debugger often falsely flags text. Sometimes I have to run terminal commands in a separate administrator cmd window. Still it works.

Ironpython questions

I have a few questions that I hope clarity and facts can be fed all of us about this. First, the last release of ironpython had the feature of running on the mobile platform highlighting that on mono/android it runs best and not so much on the other platforms which are IOS and Windows phone. So does this mean one doesn't have to use the SL4A? Can i argue that monodroid hooks into the core of what android is capable of and so might give a more robust access/implementation/rendition of apps on android?
Next, I just want to be sure of this: As with python you can create full fledged desktop applications with ironpython right? Cos everywhere (almost) I see ironpython they refer to it as a scripting tool and how you can script aspects of excel etc which has prompted me ask such a question. some say that the speed of applications written using ironpython is not that great and I was arguing asking for why that opinion is held by those who were speaking and no one could say anything worthwhile.
Lastly, with the movement at novell and xamarin, I have not understood where mono stands in their release schemes. I have a mac and I installed a recent version of mono and when I typed ipy I saw something like mono 1.1.0 or something like that. Does anyone have a clue of what is going on with it.
I fell in love with python from learning ironpython and I think the ironpython concept is just sheer brilliance its a pity microsoft esteemed F# other it.
First off, for future reference, multiple questions should really be, well, multiple questions. :)
On IronPython for Android: it works slightly better than on other platforms (where it doesn't work at all right now) but it's still very, very early code. There are some limitations with what you'll be able to do (mainly, you cannot inherit from Java classes from dynamic code). It's very experimental.
On desktop apps: You can absolutely write full apps in IronPython. There are some samples that show how it can be done. In particular, PyWpfSample and PyGtkSample. Startup times are not great, but the actual runtime should be just fine for most GUI apps.

Is there something similar to Source Code Outliner Power Toy for VS2010?

I absolutely love the Source Code Ouliner power toy that I use in VS2005 but am upgrading to 2010 and it seems they haven't yet released a new version. Is there anything similar that shows you a basic outline of the file you are currently navigating?
ReSharper, amongst many other features, has a File Structure window which does the same as Source Outliner.
For a free one, try the Solution Navigator in the Microsoft Productivity Power Tools.
Like you, I found this a totally great plug in that saved on the order of minutes per day. No more searching for functions! Luckily Source Outliner has been re-created for VS2010 and is still free. However, sbohlen updated it and it now runs on the (free) DXCore environment. I have been using it ever since I upgraded to VS2010.
You can read along as I got this set up, downloaded all the parts and got it running.
http://unhandled-exceptions.com/blog/index.php/2010/05/23/plugins-for-dxcorecoderushxpresscoderushrefactor-pro-201014-rtm-available/
The download is here:
http://code.google.com/p/dxsourceoutliner/downloads/list
You will also need the DXCore community installer from http://www.devexpress.com
But as a ReSharper user for years now, I will use the File Structure - same sort of view and already built in to R#.

Building Cross Platform app - recommendation

I need to build a fairly simple app but it needs to work on both PC and Mac.
It also needs to be redistributable on a disc or usb drive as a standalone desktop app.
Initially I thought AIR would be perfect for this (it ticks all the API requirements), but the difficulty is making it distributable, as the app would require the AIR runtime to be installed to run.
I came across Shu Player as an option as it seems to be able to package the AIR runtime with the app and do a (silent?) install.
However this seems to break the T&C from Adobe (as outlined here) so I'm not sure about the legality.
Another option could be Zinc but I haven't tested it so I'm not sure how well it'll fit the bill.
What would you recommend or suggest I check out?
Any suggestion much appreciated
EDIT:
There's a few more discussions on mono usage (though no real conclusion):
Here and Here
EDIT2:
Titanium could also fit the bill maybe, will check it out.
Any more comments from anyone?
EDIT3 (one year on): It's actually been almost a year since I posted that question but it seems some people still come across it every now and then, and even contribute an answer, even a year later.
Thought I'd update the question a bit. I did not get around to try the tcl/tk option at the end, time constraint and the uncertainty of the compatibility to different os versions led me to discard that as an option.
I did try Titanium for a bit but though the first impressions were ok, they really are pushing the mobile platform more than anything, and imho, the desktop implementation suffers a bit from that lack of attention. There are also some report of problems with some visual studio runtime on some OSs (can't remember the details now though).. So discarded that too.
I ended up going with XULRunner. The two major appeals were:
Firefox seems to work out of the box on most OS version, so I took it as good faith that a XULRunner app would likely be compatible with most system. Saved me a lot of testing and it turned out that it did run really well on all platforms, there hasn't been a single report of not being able to start the app
It's Javascript baby! Language learning curve was minimal. The main thing to work out is what the additional xpcom interfaces are and how to query them.
On the down side:
I thought troubleshooting errors was a sometimes difficult task, the venkman debugger is kinda clunky, ended up using the console more than anything.
The sqlite interface is a great asset for a desktop app but I often struggled to find relevant error infos when something didn't work - maybe i was doing it wrong.
It took a little while to work out how to package the app as a standalone app for both PC and Mac. The final approach was to have a "shell" mac app and a shell pc app and a couple of "compile" script that would copy the shells and add the custom source code onto it in the correct location.
One last potential issue for some, due to the nature of xulrunner apps, your source code will be deployed with the app, you can use obfuscation if you want but that's something to keep in mind if you want to protect your intellectual property
All in all, great platform for a cross-platform app. I'd highly recommend it.
Tcl/Tk has one of the best packaging solutions out there. You can easily wrap a cross-platform application (implemented in a fully working virtual filesystem) with a platform-specific binary to get a single file executable for just about any modern desktop system. Search google for the terms starkit, starpack and tclkit. Such wrapped binaries are tiny in comparison to many executables these days.
Many deride Tk as being "old" or "immature" but it's one of the oldest, most stable toolkits out there. It uses native widgets when such widgets exist.
One significant drawback of Tcl/Tk, however, is that it lacks any sort of printing support. If your application needs to print you'll have to be a bit creative. There are platform-specific solutions, and the ability to generate postscript documents, and libraries to create pdfs, but it takes a little extra effort.
Java is probably your best bet, although not all Windows PCs will necessarily have Java (most should). JavaFX is new enough you can't count on it - you'll probably find a lot of machines running Java 1.5 or (shudder) 1.4. I believe recent Mac OS still ships with 1.5 (latest version may have changed to 1.6).
Consider JavaFX
It would run everywhere with a modern JRE ..!
AIR could be an option, but only if you don't mind distributing two different files (the offline runtime installer and your app), and expecting the user to run one and then the other. You do have to submit an online form at Adobe's site saying you agree to distribute the offline installer as-is, rather than digging out individual DLLs or whatever, before they give you the installer.
Unfortunately there's currently no way to get both an AIR app and the runtime to install from one file though. I'm not sure what the deal with Shu is, or whether it's doing anything that isn't kosher.
i would recommended zink. it has all the functionalities you require for desktop. however, the las time i used it it was a bit glitchy.
i was hung up by trying to write a 6M file to the disk. thought it trough and changed the code to write 512K chunks at a time (3min work, fast).
probably it still has some little annoying glitches like making you think on root lvl but the ease of use and the features are just way too sweet to ignore.