Showing posts from 2010

IronPython 2.7 Alpha 1 release (and license change)

The IronPython team have just announced the first release of IronPython 2.7, an alpha 1 release. This targets compatibility with Python 2.7, and comes with interesting news about the license that IronPython is released under. There is also more of Python's standard library included; specifically two more C extension libraries previously unavailable with IronPython. The next release of IronPython will probably be a bugfix release of IronPython 2.6: 2.6.2. Once 2.7 is complete the IronPython team will move onto IronPython 3, targeting compatibility with 3.2 - which is likely to be the current version of Python 3 when IronPython 3 is completed. IronPython 2.7 alpha 1 release announcement Download IronPython 2.7 alpha 1 IronPython 2.7a1 compared to CPython 2.7: Performance report We’re pleased to announce the Alpha release of IronPython 2.7 which can be downloaded at  This is a major new version of IronPython with a number of s

NumPy and SciPy for IronPython and .NET

The genius of IronPython is that it provides great integration with .NET libraries. The cost of this is that you no longer have access to Python extensions implemented in C unless the IronPython team, or a third party, has created an equivalent version in C# or wrapping an existing .NET library. One very powerful and widely used set of Python extensions come in the form of NumPy and SciPy . This is a particular problem for those interested in IronPython as there is nothing of equivalent functionality and quality in the .NET world. There is an existing way of accessing Python C extensions from IronPython in the form of Ironclad . Ironclad was specifically designed to work with NumPy, and it works astonishingly well, but it can never be as good as a native library. Microsoft are obviously very interested in NumPy as they have just announced an interesting partnership with Enthought , a company who are active in the Scientific Python community. The partnership is specifically to br

IronPython Tools for Visual Studio CTP3

At PyCon this year Dino Veihland announced IronPython Tools for Visual Studio, an extension to Visual Studio 2010 for working with IronPython. It features Python syntax highlighting, awesome auto-complete (intellisense) and a host of other features for working with IronPython code in Visual Studio. It can be used with the free Visual Studio shell and doesn't require you to own a full copy of Visual Studio. The third CTP (Community Technology Preview) has been made available for download. IronPython Tools for Visual Studio We are happy to announce a minor update to the IronPython Tools for Visual Studio.  IronPython Tools for Visual Studio (IPyTools) is a set of extensions available for Visual Studio 2010 which supports development of IronPython applications.  This release is our 3rd Community Technical Preview (CTP) and builds upon the previous two releases.  The release is a minor update which includes bug fixes and a number of small features.  You can download the latest rel

Iron Web Analyzer and Scripting TIBCO Spotfire

IronPython is a great language for application development, but also provides a readymade scripting engine for adding to .NET applications. A fresh example of the first, an application written in IronPython, is the open source "Iron Web Analyzer" (Windows only I believe): Iron Web Analyzer - Analyze Web Sites with Iron Python Iron Web Analyzer is an open source application for web masters to analyze web sites content. Iron Web analyzer employ Iron Python to analyze server responed data. Iron Web Analyzer downloads data from server and dispatches them between Iron Python Analyzer installed on application and collect analyze results produced by Python applications. An example of the second use case for IronPython is the recently announced support for IronPython scripting in TIBCO Spotfire: Using Script Controls to automate tasks in TIBCO Spotfire and TIBCO Spotfire Web Player In TIBCO Spotfire version 3.1, TIBCO introduces the concept of Script Controls. Scripts Controls

SharpDevelop 4 and unittest2

Two weeks ago I reported on the latest news from SharpDevelop, the integration of unittest into SharpDevelop 4 for testing with IronPython. In my report I suggested that supporting unittest2 would be even better and Matt Ward has risen to the challenge. Matt's latest blog entry shows how to use unittest2 to run IronPython unit tests in the forthcoming SharpDevelop 4 IDE: SharpDevelop and unittest2 for Python SharpDevelop 4 has been updated to support running IronPython unit tests that use the unittest2 library. Make sure unittest2 is on the Python path before running the unit tests. Out of the box SharpDevelop will actually use the unittest library's test runner. This seems to work however if you actually need to use the unittest2 test runner then you can modify the following two files in the folder:  AddIns\AddIns\BackendBindings\PythonBinding\TestRunner .

IronPython at TechEd

TechEd 2010 has just finished, one of Microsoft's biggest developer conferences. Lisa Feigenbaum, who is program manager for the Visual Studio Languages Community, has posted a blog entry with links to all the  Visual Studio Language & IDE Resources from TechEd North America 2010 (C#, VB, F#, IronPython, IronRuby). Our own inestimable Dino Viehland, the IronPython workhorse and genius, was there and gave two presentations on IronPython: USING DYNAMIC LANGUAGES TO BUILD SCRIPTABLE APPLICATIONS Abstract: The Dynamic Language Runtime (DLR) brings the power of dynamic languages to Microsoft .NET. It provides the plumbing for IronPython and IronRuby, a shared language hosting API, and also enables interoperability with static languages like C# and Visual Basic. Come hear how you can leverage these technologies in your own applications, and learn why dynamic languages deserve a spot in your toolbox! IRONPYTHON TOOLS  Abstract: IronPython Tools for Visual Studio is an extensio

Finding lyrics and converting Word files to text

Two fun, and possibly useful, recipes using IronPython have surfaced in blog entries recently. Re.Mark: Finding Lyrics This first recipe is from Mark Bloodworth, a Microsoft architect with a fondness for Python and IronPython: I was looking some lyrics up online this week, so I wondered how hard to would be to write a simple application to find lyrics to your favourite song.  Or to your least favourite song.  Or, in fact, to any arbritrary song.  Via programmableweb , I found the API to lyricsfly , which looked easy to use.  Another IronPython console app beckoned. Keeping it simple, I decided to use optparse to parse the command-line options and urllib to make the http calls.  This way the program can be called with the user_id that lyricsfly requires (head to their website and you can get a temporary weekly key to try this out) along with the artist name and song title.  What I decided not to do at this stage was to process the resulting XML.  Or handle any errors.  Or handle cas

Unit Testing with IronPython in SharpDevelop 4

Microsoft may have finally pulled out their collective thumbs and started to support IronPython in Visual Studio , but SharpDevelop has always led the way as far back as 2007 in supporting IronPython. SharpDevelop 4 is now under development and integrates with the unittest module to support unit testing with IronPython. This feature requires Python 2.6 to be installed, and IronPython debugging is not currently working with SharpDevelop 4, but it looks like it will a great release. Matt Ward gives us the details in his latest entry on the SharpDevelop community blog: Unit Testing with IronPython SharpDevelop 4 has been updated to support unit testing with IronPython. First you will need to install Python 2.6. SharpDevelop uses the standard Python unit test library ( to run the unit tests. ... Once the project reference is added the unit tests can be run in the normal way by right clicking in the Unit Tests window and selecting Run tests. You can run all the tests i

A Good Mix 36: Jim Hugunin, Selenium Two, Embedding IronPython & IronPython with Expression Blend

Another collection of IronPython and DLR related articles from recent weeks. Jim Hugunin: Modelling the World Jim Hugunin is a bit of a Python veteran. As well as being the creator of two implementations of Python (Jython and IronPython), he also started the Numpy project (back when it was called Numeric). Not long ago he was swallowed by Microsoft, who also took on the development of IronPython and turning it into the Dynamic Language Runtime. In this video interview Jim explains not only how he got involved in Python, but also what he has been up to recently. IronPython Tools for Visual Studio with Expression Blend One of the ways that .NET helps you separate your visual design from your application logic is through XAML; an XML based declarative language that can be used with both Windows Presentation Foundation (WPF) and Silverlight. Naturally there are design tools that will generate XAML. Visual Studio is one of them, but the best one is Expression Blend. XAML has features

MonoDroid: IronPython on Android?

MonoTouch is a cross-compiler IDE and toolchain for the iPhone OS series. It allows you to write iPhone / iPod Touch / iPad applications with .NET languages like C# and take advantage of nice features of the .NET framework (actually Mono) like the extensive class libraries, proper garbage collection and so on. Because of the rules against interpreters and code generators MonoTouch didn't include the System.Reflection.Emit apis that are needed for Dynamic Language Runtime languages like IronPython and IronRuby. Despite this restriction  MonoTouch was a victim of the controversial Section 3.3.1 of the iPhone developer agreement that requires iPhone apps to be written in objective-C, C or C++. (Modern developers who prefer the reliability of garbage collection based languages need not apply...) Apple's main goal seems to be sticking two fingers up to Adobe and banning their Flash cross compiler, but other tools like MonoTouch are collateral damage. If there was ever any dou

adodbapi 2.3.0 (the django version) released

Vernon Cole has announced the release of a new version of adodbapi, a Windows database driver that works with both CPython and IronPython.   This version is all about django support.  There are two targets:     A) MS SQL database connections for mainstream django.     B) running django on IronPython    Thanks to Adam Vandenberg for the django modifications. adodbapi home page on sourceforge A Python DB-API 2.0 module that makes it easy to use Microsoft ADO for connecting with databases and other data sources using either CPython or IronPython. This version is highly refactored following the work of Adam Vandenberg, and also has all of the current user suggested patches. Both the Mercurial tree and the downloadable zip files are updated.  (There is no fancy installer, just copy the folder in your site-packages folder.) This has been tested using CPython 2.3, CPython 2.6, IronPython 2.6 (.NET 2) and IronPython 2.6(.NET 4), accessing .mdb, MS-SQL and MySQL databases.  There is a

SQLite, zlib and XNA

Jeff Hardy has been at it again, and has just done releases of both IronPython.SQLite and IronPython.Zlib - ports of the Python zlib and pysqlite modules to IronPython. IronPython: SQLite and Zlib IronPython.Zlib  implements the zlib module for IronPython using ComponentAce’s, which is a purely managed implementation of the zlib library. IronPython.Zlib is entirely managed code and works with both 32-bit and 64-bit IronPython. It passes all of the Python 2.6 zlib and gzip tests and most of the zipfile tests. IronPython.SQLite is a port of pysqlite to IronPython using C#-SQLite, which, similar to, is a managed implementation of SQLite. Thus, IronPython.SQLite is also 100% managed code. It passes about 87% of the Python 2.6 sqlite3 tests; the remaining ones are mostly corner cases or rarely used functionality. Carl Trachte also emailed me about a Japanese blog post on using XNA with IronPython. XNA is the Microsoft game creation framework that runs on the XBox 360

IronPython Tools for Visual Studio

Visual Studio is the Microsoft IDE for Windows and is virtually ubiquitous as a Windows development tool. Unfortunately Visual Studio has never had good support for languages like Python, which became more of a problem for Microsoft when they developed and released a distribution of Python themselves (IronPython). Whilst there have been many good IDEs  with IronPython support there has until now been lacking from Visual Studio - and adding support has been the highest voted Visual Studio feature request for some time. Adding good support for a dynamic language to an IDE is very different from supporting statically typed languages. The internals of Visual Studio rely on the static type information for the intellisense, designers, refactoring and so on. However, the IronPython team themselves have come to the rescue and built IronPython integration into Visual Studio 2010: IronPython Tools for Visual Studio We are happy to announce the first broadly available release of IronPyth

Updated Dynamic Languages in Silverlight Page

Silverlight is the Microsoft browser plugin that, amongst other things, allows you to run Python and Ruby in the browser with full access to the browser DOM. This is all through the magic of the Dynamic Language Runtime. With either Silverlight or Moonlight installed, the simplest DLR-based application can be contained in a single HTML file:     <script src="" type="text/javascript"> </script>     <script type="text/ruby"> window.alert "Ruby in the browser!" </script>     <script type="text/python"> window.Alert("Python works too!") </script> The introduction page on the site has now been updated. Dynamic Languages in Silverlight Writing Silverlight applications in Ruby, Python, and other DLR-based languages only requires a local web server, a text editor, and a browser which supports Silverlight on Windows or Mac OS ,

IronPython in PyCharm, a new Python IDE

PyCharm is a new Python IDE from the JetBrains team, still available only as an "early preview" (beta planned this summer). As well as the "usual features" for Python IDEs (debugger, syntax highlighting, projects and code navigation, code completion, testing and version control integration, etc) it has some nice features like django support, Python refactoring and support for IronPython. Some of the details of the IronPython support are on the PyCharm blog: PyCharm build 96.115 is available IronPython support . It includes the possibility to generate Python stubs for .NET assemblies, but for performance reasons the generation isn’t performed on project opening and needs to be triggered manually (press Alt-Enter on an import statement). This will allow for code-completion (intellisense) to work for IronPython code in the PyCharm IDE. 

A Good Mix 35: Visual Studio, WPF, a cross-platform Resolver One and IronJS (A DLR based Javascript)

Another collection of IronPython and DLR related articles from recent weeks. Visual Studio 2010 Extension: IronPython IronRuby Console This extension adds IronPython and IronRuby to PowerConsole  so that you can interact with Visual Studio in IronPython/IronRuby. Please be aware that this extension only provides a simple tool to explore and interact with VS itself. It does not aim to be a development experience for the included languages. Tinesware: EasyWPF 0.3.93 An IronPython GUI library compatible with the Python GUI library EasyGUI . As the name implies, it is built on the WPF GUI library (making it Windows only). Like EasyGUI it has a demo app when you run the file showing the different controls/widgets the library supports. For more examples of how to use it visit the EasyGUI tutorial . Preview of the New Grid in Resolver One Resolver One  is a programmable spreadsheet written in IronPython. As well as being extremely powerful Resolver One is the largest codebase of Ir

IronPython y SharpDevelop, en español (IronPython and SharpDevelop in Spanish)

A guide to using IronPython with the SharpDevelop IDE translated into Spanish. SharpDevelop is a .NET IDE for Windows. Of all the major .NET IDEs it has the best support for IronPython. IronPython y SharpDevelop, en español Hola. En este post vamos a hablar un poco del hermano de Python (ó CPython) para la plataforma de desarrollo de Microsoft .NET, IronPython. Como he comentado a lo largo de la vida de este blog, alguien que se quiera dedicar a esta bendita profesión no puede estar ajeno a las combulsiones que se originan en este mundo. Si alguien no se había enterado (que creo que no) Microsoft ha lanzado una nueva versión de su archiconocido Visual Studio, versión 2010, junto con la plataforma de desarrollo Framework .NET 4.0. Según parece en esta versión se le empieza a dar una mayor importancia a lenguajes dinámicos, como IronPython. Y es por ello que me he decicido a investigar este territorio, tan inóspito para mí. Y es que aprender nunca pasa de moda. Decir que IronPython e

IronPython 2.6.1 Released

There have been three "IronPython relevant" releases in the last twenty four hours with another one to come. IronPython 2.6.1 (for .NET 2 and .NET 4) .NET 4.0 Visual Studio 2010 The next release is Silverlight 4, which includes new features like out-of-browser support, new controls (a rich text editor component), web cam and printing support and lots more. For those who still aren't aware, Silverlight is a browser plugin that works with Windows and Mac OS X and in IE, Safari, Firefox and Chrome browsers. There is an official port from the Mono team, called Moonlight, that works with Linux and Firefox. .NET 4.0 is the version of the .NET framework (and C# language) that includes support for the dynamic keyword - allowing for dynamic typing in C# and easier interoperation between C# and dynamic languages. IronPython 2.6.1 is the latest stable release of IronPython. Despite being a minor point release there are some very nice improvements and new features. Headline

Professional IronPython

Professional IronPython is a new book on IronPython, published by Wrox and written by John Meuller  (who has apparently written 73 books). Create applications that are more responsive to user needs IronPython should be an important part of your developer's toolbox and this book will quickly get you up and running with this powerful language. John Paul Mueller clearly shows how IronPython can help you create better desktop or web-based applications in less time and with fewer errors. Throughout the pages, you'll find techniques for extending IronPython and making it a more robust language. In addition, you'll follow advanced steps such as building an IronPython extension that directly accesses the Win32 API. And you'll enhance your skill set as you introduce IronPython into other environments such as Linux® and Mac OS® X.       Professional IronPython is the third book on IronPython, with the first two being IronPython in Action and Pro IronPython .

SharpDevelop 3.2 RC1 - with support for IronPython 2.6.1 RC1

IronPython 2.6.1 will bring some nice performance improvements and some big Unicode compatibility improvements to IronPython 2.6. The release candidate of SharpDevelop (Windows IDE with superlative support for IronPython) includes support for the IronPython 2.6.1 release candidate. SharpDevelop 3.2 RC 1 The first release candidate for SharpDevelop 3.2 comes with updated language support, fixes to various features (eg C# <-> VB.NET conversion), as well as improvements you have asked for in our forums. The highlights: IronRuby 1.0 RC2 support IronPython 2.6.1 RC1 support Microsoft F#, February 2010 CTP support SHFB support SDR: Absolute and relative filenames for images SDR: Zoom in Report Viewer

Python in the Browser, IronPython in Visual Studio 2010 and Other PyCon Talks

PyCon 2010 was great fun, and included several talks on or including IronPython. Python in the Browser This is Jimmy Schementi's write-up of his talk on using Python in the Browser, with links to the video and slides: You, the Python developer, use Python because you want to, but in the browser you use JavaScript because you think you have to. With IronPython you can write browser code in Python. I’ll only begin to answer "what can the browser bring to Python?" and "what can Python bring to the browser?" in this short overview; examples will be very simple (with the exception of a few flashy ones) to make sure you can get started immediately. IronPython Tooling The video of Dino Veihland's talk on the new integration of IronPython with Visual Studio 2010. The integration, which works standalone with the Visual Studio extensibility shell or integrated into VS 2010, is alpha quality - but has lots of nice features for IronPython development. It includes

Catching up with Jeff Hardy and Django on IronPython

Jeff Hardy is an IronPython MVP and a Python community member who has invested a lot of time in getting standard Python libraries available for IronPython. Some of his recent work has been with both Django and the zlib module . It's been a while since we've reported on his work, so this post gets us up to date with what Jeff has been working on: IronPython.Zlib The zlib module is a C extension for Python. Because it is in the Python standard library it is used by many other libraries, like setuptools, making it an important part of the Python infrastructure. Unfortunately not all of the standard library C extensions have been ported to IronPython. The problem of C extensions is one of the major drawbacks of alternative implementations of Python; both Jython and PyPy have the same problem. Even if your code is 'pure-Python' it may not run on alternative implementations if it uses C extensions. For IronPython one solution is to use Ironclad , an open source project cr

Acceptance Testing .NET Applications using IronPython

This article, written by Jonathan Hartley, was originally published in the Python Magazine. Acceptance Testing .NET Applications using IronPython Unit tests demonstrate to developers that individual functions and classes work as expected. Acceptance tests are an orthogonal complement to this. They verify to everybody, including managers and clients, that features they understand and care about are completed and working correctly. They also prove that the system as a whole is correctly integrated and that no regressions have occurred. Resolver Systems is developing a .NET desktop spreadsheet application, Resolver One, for which we have accumulated an acceptance testing framework. This framework uses Python’s standard unittest module, and is executed using IronPython. While Resolver One is written in IronPython, this technique allows IronPython tests to interact with product code written in any .NET language. This article describes the principles of this IronPython acceptance test

IronPython in Action: Manning Deal of the Day

March 9th (that's tomorrow at the time of typing) IronPython in Action is the Manning deal of the day. This is a one day offer with a special discount. You can get the discount by buying IronPython in Action from the Manning website and using the discount code dotd0310tw. It isn't only IronPython in Action that is on offer, you can also get Quick Python by Vern Ceder.

Most Popular Articles of 2009

 In 2009 I made 312 posts on IronPython-URLs, a bit short of an average of one a day that it looked like I might manage earlier in the year. According to google analytics there were more than 112 thousand page views to a total of 2042 pages on the blog. An average of over three hundred page views a day. Feedburner estimates that this blog has around eight hundred readers. Many of those will read the articles via RSS or Planet Python and rarely visit the website. It's interesting to note that of the most popular articles in 2009 (most page views) several of them are to do with choice of IDE or using IronPython with Visual Studio. The question of which IDE to use with IronPython is still alive and well: New Sample: Writing a DLR Language in C# or IronPython   (May 2009, 1892 page views) IronPython in SharpDevelop 3.1 and Converting C# to IronPython   (May 2009, 1412 page views) C# Becomes a Dynamic Language...   (December 2008, 1164 page views) Python is the easiest languag