Posts

Showing posts from April, 2009

IronPython 2.6 Release Roadmap

Today the IronPython team put a roadmap online highlighting the major new features and an approximate time frame for betas. 2.6 Release Roadmap New features CPython 2.6 compatibility Improved startup time New built-in modules that were previously missing: ctypes heapq New IronPython features: meta-class method __clrtype__ for better .NET interop support Cached subtypes Adaptive interpreter (related to improved startup time) New built-in profiler Optional sys._getframe support Tenative release plan IronPython 2.6 Alpha 1 - Mar 26, 2009 At least 50% of 2.6 tests pass that passed under 2.5. Many of the big new features implemented. IronPython 2.6 Beta 1 - End of May Mostly feature complete - all 2.6 features, abstract interpreter, cached new types, __clrtype__ , ctypes IronPython 2.6 Beta 2 - ~2 months later Primarily bug fixes on top of Beta 1. Also maybe some top small features as requested by users. IronPython 2.6 RC 1 - ~1.5 months later Build is truly a candidate for release. If

Why do I use IronPython?

Davy Mitchell has written a brief blog entry explaining why he uses IronPython: Why do I use IronPython? 1) Time is critical so that fact I can learn more .Net and Python at the same time is just great. 2) The Framework is substantial, stable and well maintained. In CPython I am frustrated by non-core libraries getting out of sync (some 2.4, some 2.5 etc months apart). 3) Python is a good application language, a good scripting language and it is currently the best and most mature one for .Net. The IronPython team are helpful and responsive too. It is also maturing very well. 4) IronPython makes it easier to get the best out of Windows - it is a more natural fit than CPython. 5) Winforms is nicer than WxPython :-) wxPython itself is great but can’t disguise the C style API enough for me. Nightmares of MFC development return too quickly!! 6) Silverlight is a great solution for Python in a browser. Nothing comes close in the CPython world. Don't get me wrong - I have 3 versions

IronPython Podcasts and Videos

Last week I was very fortunate to record a podcast on IronPython and dynamic languages on .NET with Scott Hanselman . Scott is a well known developer who works for Microsoft, and one of the authors of Professional ASP.NET MVC 1.0 . In this 46 minutes podcast we discuss why dynamic languages are interesting and gaining in popularity, and how IronPython fits into the .NET world - touching on why dynamic languages are easier to test and using IronPython to allow user scripting of .NET applications. Naturally both IronPython in Action and Resolver One get mentions along the way. Hanselminutes Podcast 159 - IronPython in Action with Michael Foord Michael Foord makes his living as a Python programmer. More specifically as an IronPython programmer. He chats with me about his company's use of IronPython, the DLR and why they picked Python over C# or VB. I've also recorded an episode with a new .NET podcast called Sod This , which describes itself as " brain burps for the tech s

Resolver One, Digipede and Resolver One on Digipede

Resolver One is a programmable spreadsheet created by Resolver Systems . It is mainly written in IronPython, programmable with IronPython and is the project I've spent the last three years working on. Digipede is a grid computing platform for Windows and .NET, allowing you to easily distribute jobs between servers, clusters and desktop computers. This IronPython-URLs entry has news about Resolver One and Digipede separately, and some of the possibilities when you bring them together. Resolver One 1.4.5 Released A new release of Resolver One. The major new features in this release are that we now only have one installer (instead of six different ones) with features activated by license. There are also 54 new financial functions , the ability to set alignment of text in cells, and you can now create new worksheets (and change the selected worksheet) inside button handlers. There are also a host of minor bugfixes as usual, including the ability to embed the Resolver One spreadshe

A Sweet Selection

A collection of projects, articles and links related to IronPython. Twitter IRC Gateway A C# project which, as far as I can tell, (the project page is in Japanese) sets up a local IRC server that acts as a gatway to twitter. It is scriptable in both IronPython and IronRuby and includes some example scripts to get you started. s3cmd.py - LitS3 A Small and fast library for Amazon S3 " LitS3 is a library written in C# that provides comprehensive and straightforward access to Amazon S3 for .NET developers ". s3cmd.py, by Atif Aziz is a command line interface to LitS3 written in IronPython: Usage: %(this)s COMMAND ARGS where: COMMAND is one of: ls (list), put, get, puts, gets, pops, rm (del), authurl, mkbkt, rmbkt, ids ARGS COMMAND-specific arguments All commands require two arguments: --aws-key-id VALUE Your AWS access key ID --aws-secret-key VALUE Your AWS secret access key IPY with Google Data Calendar API Here's some code that I've do

Addition of __clrtype__ to IronPython

One of the important additions to IronPython 2.6 is something that enables several important new ways of integrating with the .NET framework. One the use cases is for .NET attribute support, which has long been missing from IronPython. The new feature is __clrtype__ . This allows you to customize the CLR type used for Python classes. By default a Python class in IronPython is not a true .NET class. This is because Python classes are much more flexible than .NET classes (and can be garbage collected) and are better represented by a .NET object than a .NET type. This unfortunately means that as well as not supporting attributes, Python classes don't play well with any .NET feature that uses reflection over the CLR type to introspect the features of an object. This particularly includes data-binding. __clrtype__ works by extending the standard Python metaclass mechanism that allows you to customize class creation. To customize the CLR type that forms the underlying type for your c

UK MSDN Flash - Best of 2008

MSDN Flash is a UK developer magazine distributed monthly by Microsoft to ten of thousands of developers with news and upcoming events. Every issue also includes a 400-500 word technical article and two of the articles in 2008 were on the subject of IronPython and the Dynamic Language Runtime. The best articles of 2008 have been collected into a free ebook (pdf) , and both the articles on dynamic languages are included: UK MSDN Flash - Best of 2008 #1 in eBook form Every two weeks we send an email out to tens of thousands of UK based developers. This email is called the MSDN Flash. The Flash contains many useful sections including a 400 to 500 word technical article on a developer related topic either written by a member of the Microsoft UK technical team or a member of the broader UK developer community. We have had some great articles over the years which to some extent end up “hidden away” in the archives of the MSDN Flash. This is a shame as the authors have worked hard to conden

Your next text editor is... MetaNote!

One of the classic use cases of IronPython for .NET developers is embedding it into applications written in C#. The DLR is designed to be used in this way and has a nice API for embedding. This makes it easy to add user scripting to applications. It also allows for a more general extensible architecture , where part of the application is written in IronPython and it can also be extended with IronPython. One application that takes this approach is Intellipad , an editor that is part of the Microsoft Oslo framework . Another editor that takes a similar approach is the newly created MetaNote editor, the brainchild of Leon Bambrick: Your next text editor is... MetaNote! MetaNote is a text editor. Ultimately, MetaNote intends to be the most versatile editor imaginable. See that button in the toolbar? Right click on it, and edit the code behind it. Don't like the way 'Find' works? -- right click on it, and edit the code. Need a new button in the toolbar? So add it already, wi

The Not English Edition

Four blog posts on IronPython in Japanese and Chinese containing interesting code examples. Environment Variables in Python and IronPython This Japanese blog entry shows two code examples for working with environment variables. The example for Python (CPython - the 'standard' implementation of Python) uses the os.environ , although the code shown should work fine with IronPython as well. The IronPython example uses the .NET class System.Environment to access environment variables and System.IO.StreamWriter to save data to a file. Embedding IronPython in C# This Japanese blog entry starts with a brief example of Python syntax and then a fairly complete example of embedding IronPython 2 in C#. It includes setting up the DLR classes (engine and execution scope etc) and then accessing Python variables by type, pulling a Python list out as an instance of IronPython.Runtime.List . Using Extension Methods in C# and IronPython Extension methods are a statically typed version of monke

The Not Python Edition: Ioke, Cobra and IronRuby

In this IronPython-URLs entry we look at four different topics on three languages; none of them Python - but all on .NET. Ioke for the CLR Released Ioke is a dynamic language created by Ola Bini , one of the core developers of JRuby (Ruby on the JVM). Ioke aims to be a highly expressive language, influenced by Io, Smalltalk, Lisp and Ruby. The primary implementation of Ioke runs on the JVM; but Ola recently unveiled the .NET (and Mono) implementation: Ioke for the CLR: Ioke E ikc is the first release of the ikc Ioke machine. The ikc machine is implemented in C# and F# and run’s on Mono and .NET. It includes all the features of Ioke E ikj, except for Java integration. Integration with .NET types will come in another release. There are several interesting pieces in ikc. Among them I can mention a new regular expression engine (called NRegex), a port of many parts of gnu.math, providing arbitrary precision math, and also an implementation of BigDecimal in C#. Cobra February 2009 Update

IronPython in Action the Preface

Image
IronPython in Action is finally out! IronPython in Action is a book published by Manning Publications and written by Michael Foord (me!) and Christian Muirhead. It is the first book on IronPython, and covers using IronPython 2: For structured application development For scripting and system administration For web development with ASP.NET and Silverlight With WPF, Powershell, WMI and so on Using databases, web services, testing and metaprogramming Extending IronPython with C# / VB.NET Embedding IronPython in .NET applications The book is aimed at both Python and .NET developers. You can read more about who the book is aimed at and the topics covered, including a full table of contents, in About IronPython in Action . IronPython in Action Website Where you can download the source code that accompanies the book and also download two chapters for free. These are chapter 1 (introduction to IronPython) and chapter 7 (on testing with unittest ). There is also a discount code for purchas

WPF on IronPython: Windows and Dispatching

Two unrelated posts on working with WPF (Windows Presentation Foundation - the new .NET user interface library for Windows built on top of DirectX) and IronPython. WPF Dispatcher Decorator in IronPython Like most UI toolkits WPF requires that interaction with components of the GUI be done on the same thread that they were created on. The WPF technique for communicating with the user interface from another thread involves using a dispatcher. Jose Ramon Calzada discovers that Python decorators provide an ideal way of ensuring that functions or methods are invoked onto the UI thread. IronPython で WPF A Japanese blog entry; as usual the code samples and screenshots speak for themselves, but there is always google translate (which does really odd things to the code samples however). The blog entry takes you through creating and configuring simple windows and message boxes with WPF.

More on IronPython Profiler, IronPython Debugger and the Entity Framework Profiler

This post features three blog entries on tools being developed for or using IronPython. Profiler Part II: Poor Man's Code Coverage Curt Hagenlocher (core IronPython developer blogging as IronCurt) had been working on a profiler for IronPython ; one of the standard programming tools that up until now has been difficult or unavailable for IronPython. This is his second post on the profiler, which is being built into IronPython itself. He explains how it works, how to use it, and how it can also be used as a code coverage tool. Writing an IronPython Debugger: Breakpoint Management Harry Pierson (IronPython PM and blogging as DevHawk) has been working on an IronPython debugger . In this blog entry he explains how he has extended the breakpoint handling of his debugger beyond the simple breakpoint setting that he implemented very early on: "Setting a breakpoint was the second feature I implemented in ipydbg. While setting a breakpoint on the first line of the Python file being run

IronPython a Configuration Language

Simon Taylor, inspired by IronPython in Action no less, has written an article on embedding IronPython to create custom state machines for different customer requirements in an application. IronPython a Configuration Language I had a requirement to create a state machine for a product at work. The product is a project management tool and therefore has the concept of a job which based on the users actions moves from one state to another. There was also the additional requirement that the state machine should be configurable by/for different customers. Esentially, the state machine is a large flow diagram but the implementation needed to allow for completely ripping up the first customers flow diagram and replacing it with a completely different one for the next customer. From the C# prototype I created I had a number of helper methods for doing things to manipulate my job business entity and even create a project in project server! I didn't really want to throw this away, so I did

John Conway's Game of Life in XAML/WPF using embedded Python

Daniel Paull has an implementation of John Conway's Game of Life (cellular automata) written with XAML/WPF (Windows Presentation Foundation - a Microsoft UI library built on top of DirectX) and using embedded Python scripts. John Conway's Game of Life in XAML/WPF using embedded Python Following on from my series on embedding DLR scripts in XAML, I present an implementation of John Conway's Game of Life in XAML/WPF using embedded Python scripts. The game is loaded completely from loose XAML. Even the initial game state is defined in dynamically loaded XAML files! The game is hosted in the very dynamic application described in a previous post. The Game of Life is played by calculating successive generations of the board. We add a button to calculate the next generation. A simple implementation of the Game of Life is written in the Python script. The button's DataContext is bound to the board, allowing the script to retrieve the board from the button.

Writing your own programming language with the DLR

Benjamin Nitschke's has written a couple of posts on writing your own programming language with the Dynamic Language Runtime. The first is a long list of links and resources on the DLR and the tools (like the ANTLR parser) used in creating a programming language. The second is a very long entry comparing the performance of code written in various ways - including on top of the DLR. Writing your own programming language with the DLR I will also try to post some useful links about my recent DLR (Dynamic Language Runtime for .NET) research. I have been working a bit on the DLR before, mostly together with Silverlight, which was cool, but Silverlight was way too hard to work with and I still think it is not distributed enough. And even before that quite a bit with the Visual Studio SDK, early IronPython versions and other language implementations in .NET and even with native c code (but usually I just modified existing samples). I have also modified Lua for my own needs recently and

Entity Framework Profiler Hosts IronRuby and IronPython

The Entity Framework is a Microsoft ORM framework for .NET. It is included in .NET 3.5 SP1. The Entity Framework Profiler is a tool for analysing, logging and profiling the SQL queries made by the Entity Framework. Based on the work done by Ben Hall in his IDE for DLR languages, IronEditor , Simon Segal has added " scripting into the profiler so users could compose scripts and execute Entity Framework code directly from the Profiler itself ". Entity Framework Profiler hosts IronRuby and IronPython Both IronPython and IronRuby scripting works, and there is lots of example code in the blog entry.

Pygments for Windows Live Writer

Pygments is an extremely versatile Python library that does syntax highlighting. It not only supports many input languages , but can also output in many common markup formats (for wikis and so on). Windows Live Writer is a WYSIWYG Windows blogging tool by Microsoft. It allows you to write blog entries on your desktop (shock news - not everything needs to happen online), including adding images and videos. It integrates with blog services like Windows Live, Wordpress, Blogger, Live Journal, TypePad, and many more. I've never used it, but hear good things about it from developers I respect. Devhawk (Harry Pierson the Microsoft IronPython PM) uses live writer, and has written a plugin that uses IronPython and Pygments with a Windows Forms multi-line textbox as the code editor window. Pygments for Windows Live Writer Pygments for WL Writer is a smart content source. In WL Writer’s terminology, that means when you click inserted text in the editor window, it is treated as an atomi

IronPython at PyCon 2009

PyCon 2009 is now long over, and I'm still recovering from the aftermath. This year IronPython played more of a part than ever before. There were several IronPython related talks, all of which were recorded and are already up on the PyCon Video Channel : IronPython: Directions, Data and Demos Jim Hugunin's talk on the status and future of IronPython, including how IronPython has affected the Common Language Runtime and C#. Come learn about our secret plans to use IronPython to take over the world. The emphasis will be on demos showing the seductive possibilities that IronPython enables for Python developers. These include taking advantage of the newest features in Windows 7, running your Python code in the browser with Silverlight, and many more. IronPython Implementation Dino Veihland's talk on IronPython's innards - including demonstrating executing Ruby code from inside Python. IronPython is an implementation of Python running on .NET. This talk will provide an ove

An IronPython Profiler

Curt Hagenlocher (core IronPython developer) has a blog entry outlining a new profiling tool for IronPython which is included in IronPython 2.6 Alpha 1. With Harry Pierson's debugger we're almost spoiled for tools now! An IronPython Profiler I was recently working on improving the performance of a Python-based application and thought it would be useful to profile my code. My intuition was telling me that the problem was in a certain area of the code, but I wanted hard numbers to back up this intuition before I went to the trouble of doing a rewrite. Unfortunately, neither the CLR Profiler nor the profiling support in Visual Studio are very effective when used with IronPython, as they weren’t really created for environments where code is dynamically compiled at runtime. But Tomáš had written a profiler for IronRuby nearly half a year ago, so I thought I’d port this to IronPython, where it’s now experimentally available in IronPython 2.6 Alpha 1. The way Tomáš’ profiler wor

Dave Fugate on IronPython Details

Dave Fugate is an IronPython tester, and often responsible for releases. He's posted a few blog entries on recent changes in IronPython 2.6 (alpha 1 was just released ) and building IronPython from source for Silverlight. CPython 2.6 Standard Library and IronPython 2.6 In Python 2.6 the standard library collections module uses sys._getframe , which doesn't work for frame depths greater than 0 in the current IronPython. A whole host of other standard library modules depend on collections, meaning that they are all currently broken for IronPython 2.6! Dave explains how to modify collections.py to get round the problem. The good news is that in the final version of IronPython 2.6 getframe will be available from a command line switch (there is a performance hit for having it enabled). Without the switch it will be undefined (and collections.py already has a workaround for this), so that in either case you will be able to use an unmodified standard library. Building IronPython / Ir

The Fundamentals of the Dynamic Language Runtime (DLR)

From the Microsoft web library, six videos (with full transcript) on the Dynamic Language Runtime. The Fundamentals of the DLR The videos are presented by Nancy Strickland from IT Mentors. After a general introduction to dynamic languages in the DLR, I’ll talk about what you have to download and install in order to use dynamic languages with .NET. Then, we’ll look at two of the new .NET Dynamic Languages, IronPython and IronRuby and we’ll work with some of the basic syntax using the command line interface. Then we’ll talk about the role of dynamic languages in Silverlight and we’ll use three tools for creating, editing and testing web applications that use dynamic languages: Chiron, the DLR console and Visual Studio 2008. The six sessions are: Introduction and installation Command line IronPython and IronRuby Silverlight Silverlight with Chiron demo DLR Languages in Visual Studio Visual Studio Silverlight Projects demo

A Good Mix 3: Releases, Tweeting and DIE

Another selection of recent posts on IronPython related subjects. All the posts in this mix are by Harry Pierson and Davy Mitchell ! First, DevHawk (Harry Pierson) has some comments on recent IronPython releases. AgDLR 0.5 This is the Dynamic Languages SDK for Silverlight that recently had a refresh for Silverlight 3. In this post Harry discusses XapHttpHandler , an ASP.NET handler for IIS that can dynamically build dynamic applications using Chiron. He particularly likes this feature as he wrote it! XapHttpHandler does the same exact on-demand XAP packaging for dynamic language Silverlight applications that Chiron does, but it’s implemented as an IHttpHandler so it plugs into the standard ASP.NET pipeline. All you have to do is put the Chiron.exe in your web application’s bin directory and add XapHttpHandler to your web.config IronPython 2.6 Alpha 1 Something else that got releases recently was the first alpha of IronPython 2.6. This version of IronPython will target Python 2.6,

Through the Interface: AutoCAD and IronPython

Kean Walmsley, of the "Through the Interface" blog, is an AutoCAD programmer who has been meaning to try out Python for some time. He is somewhat sceptical of dynamic typing, but has heard many good things about Python: Python is also of interest because of its cross-platform availability: it’s an open source language with its roots in the UNIX/Linux world, but is now gaining popularity across a variety of OS platforms (one of the reasons it’s the scripting language chosen for at least one of our cross-platform products, Autodesk Maya). He has a (short) series of blog entries on getting IronPython (and IronRuby) working with AutoCAD. Using IronPython with AutoCAD I had originally hoped to build a .NET assembly directly using IronPython – something that appears to have been enabled with the 2.0 release of IronPython - which could then be loaded into AutoCAD. Unfortunately this was an exercise in frustration: AutoCAD makes heavy use of custom attributes for identifying command

A Good Mix 2: Newspapers, Testing and Samples

Another short selection of recent IronPython related articles. Mind your language I was recently at the QCon conference in London , speaking on IronPython in the "Emerging Languages" track organised by Ola Bini . After the conference the guardian newspaper published an article on the diverse languages that are becoming mainstream. At first I was surprised that a British paper could publish a sensible article on programming languages, but then I noticed it was by Tim Anderson - a noted and long time tech blogger and writer. A couple of extracts: The recent trend is towards dynamically typed languages, which use inference to reduce the amount of code to be written. Java, C# and C++ are "static typed" languages, whereas JavaScript, Ruby, Python and PHP (used by Facebook) use "dynamic typing". In static languages, the programmer must declare each variable's class (such as string, integer, or list) before the program runs; in dynamic typing, it is assessed

Executing IronPython in, err.. IronPython

An entry on the Sharp Thinking blog by a .NET developer called Tarn Barford, a fan of Python and IronPython. Inspired by a post on embedding IronPython in C# , Tarn decided to experiment with embedding IronPython in IronPython. (I've also written an article on this , and as Tarn notes - this is a technique we make good use of in Resolver One .) Executing IronPython in, err.. IronPython I thought it would be kind of fun to create an IronPython script that created a Windows Form which could execute a script. This means I could run the script and get window which I could then use to run the script again and get anther window, then..

A Good Mix: IronPython Videos, Code and Blog Entries

Time for another collection of links on IronPython and the Dynamic Language Runtime. Using Dynamic Languages to Develop Microsoft Silverlight Applications A video from Mix 2009 on using dynamic languages to write and test Silverlight applications. Unfortunately it demos IronRuby, but John Lam is the presenter so it should be entertaining (and the core Silverlight development techniques for IronPython and IronRuby are very similar). The tag line: how programming with dynamic languages helps improve the dev experience . Writing an IronPython WCF Host A blog entry by Darren Hawley. It is an IronPython recipe showing a WCF (Windows Communications Foundation - the web services library included in .NET 3.0) host that consumes a library written in C#. It shows how to use ServiceHost , BasicHttpBinding and other core WCF classes. IronPython : Un langage utilisé par les éditeurs de logiciel It has become de-rigueur in these link collections to include an entry not in the English language. This

Further Adventures of the Debugger

Harry Pierson (Microsoft IronPython PM) has been experimenting with writing an IronPython debugger ( ipydbg ) on top of the .NET MDbg APIs. When we last left him , he had implemented Just My Code (JMC) support allowing you to step into IronPython code. Since then he has made a lot of progress including a colourful REPL (interactive console) and solving some difficult problems around getting to real values behind boxed IronPython variables (needed for showing local variables). He has blogged extensively on what he has been up to (more recent posts last): Showing Source Code Colorful Console IronPython ConsoleColorMgr (the colorful console code pulled out into a separate IronPython module) A Little Hack...err...Cleanup Getting Local Variables Displaying Values Command Routing Getting Arguments REPL Console A lot of functionality is now present. In the command routing entry Harry outlines the seven commands supported by the debugger so far: Continue, Quit, Show Stack Trace, Show Local

Jimmy Schementi on IronRuby, the Silverlight SDK and Scripting C# with IronPython

I'm late with the news, but there is a new release of IronRuby. There has also been a fresh release of the Silverlight dynamic languages to work with the beta version of Silverlight 3. Jimmy has an unhealthy preference for IronRuby over IronPython, but he's posted a few blog entries on both subjects. IronRuby 0.3 Released Staying true to our “Conference-driven development schedule,” this release is in conjunction with MIX ‘09, where Silverlight 3 Beta and ASP.NET MVC 1.0 were announced, to name a few. John Lam spoke at MIX today at 12:30pm in Las Vegas about using dynamic languages in Silverlight for testing, scripting, and application building. And some ASP.NET MVC with IronRuby is thrown in there too. IronRuby passes approximately 80% of RubySpec, the best test suite Ruby has today. IronRuby is best at language compatibility, passing 95% of those tests, but worse on the standard libraries with a pass-rate of 77%. Overall the pass-rate as gone up approximately 10% since the l

IronPython Podcasts

Two podcasts on IronPython and dynamic languages on the .NET framework have gone live recently. .NET Rocks: Michael Foord Talks IronPython In this podcast I have a fifty minute conversation with the .NET Rocks guys on IronPython and dynamic languages in general. I'm even nice about Ruby! Apparently the .NET Rocks podcast has around 300 000 (!) regular listeners, so it was great to be able to promote Python and IronPython in Action to the .NET community. CodeCast Episode 13: IronPython and Dynamic Languages IronPython PM Harry Pierson on the CodeCast podcast. The actual interview starts a little way into the podcast: In this episode of CodeCast, Ken Levy and Markus Egger discuss upcoming developer event news and dynamic languages. This show’s interview is with Ken discussing IronPython with Harry Pierson, a program manager on Microsoft’s dynamic languages team.

IPY4SPD - IronPython for SharePoint Designer Workflow

IPY4SPD is a new project on Codeplex by Nathan Freeze - the iLoveSharePoint guy. It integrates IronPython scripting capabilities with SharePoint and made a release on March 31st. The tag line for the project is fun. The project page has some screenshots demonstrating how to use it. IPY4SPD - IronPython for SharePoint Designer Workflow IPY4SPD - When the need to get it done overwhelms the need to do it right! This project adds IronPython script activities to Sharepoint Designer allowing busy developers and power users to scratch out workflows quickly. Now you can manipulate your SharePoint objects at will using the pure clean power of Python! Script errors are formatted and reported in the workflow history. Notes: Returning a value from the script variable is optional. References to System and Microsoft.SharePoint are passed to your scripts by default (just import them) Four contextual workflow variables are available to your script activity: __site__ (the current SPSite ) __web_

IronPython Events

We've had a great time at PyCon and I'm still here in Chicago on the last day of the sprints. The whole event, from language summit through conference through sprints, was pure awesomeness and IronPython was right at the centre. There is also exciting news about IronPython in Action, but all of this will have to wait. In the meantime there are a couple of IronPython events happening soon : Geek Night @ Thoughtworks: IronPython, Ruby in C#, DVCS 4th April Geek Night at Thoughtworks. Three discussions: IronPython Writing Ruby like code in C# Distributed Version Control Systems When: Saturday, 4th April, 2pm onwards Where: Thoughtworks, GF-01 & MZ-01, Tower C, Panchshil Tech Park, Yerwada Registration and Fees: This event is free for all to attend. The IronPython talk is from Aroj George: Aroj will take you through some cool ways you can use the power of Python in the .NET world. This talk includes a demo of embedding an IronPython engine in a .NET application to enable int