Michael Foord, Christian Muirhead and Menno Smits are holding a 1/2 day IronPython tutorial.
No previous experience of .NET is expected, but we will be assuming a basic to intermediate level understanding of Python. Having developed with at least one GUI toolkit will be helpful, but not actually required.
Michael, Christian and Menno are all experienced Python developers working at Resolver Systems, where they develop full time with IronPython.
Michael and Christian are the authors of the Manning Publications book IronPython in Action.
Pre-requisites
If you are coming to the IronPython tutorial it would be helpful if you could bring a laptop with the following things pre-installed:
.NET 2 (.NET 2 SP1 for IronPython 2) or Mono 1.9 or Mono 2.0 Preview 2 - more on Linux and Mac setup below
IronPython 1 or 2 (the version of IronPython that comes with Mono should be fine)
Python 2.4 or 2.5 installed (2.4 for IronPython 1, 2.5 for IronPython 2)
- An IDE or text editor of your choice
- Silverlight 2 pre-installed (Mac and Windows only, sorry)
- Preferred database: sqlite, MySQL, PostgreSQL and SQL Server will be supported
Between the three of us we will have a Windows laptop, a Linux laptop and a Macbook - so we should be able to support you through the tutorial whichever operating system you are running.
Notes For Windows Users
You'll need a data provider for all databases other than SQL Server (System.Data.SqlClient comes with the .NET framework).
Notes For Mac Users
Both Mono 1.9 and Mono 2.0 work fine, but Mono 2.0 is slightly better.
Notes For Linux Users
If your distribution ships with Mono 1.9 (eg. Fedora Core 9) then you should be ready to go. Just check that 'mono --version' reports the correct version and that you get the IronPython prompt when running the 'ipy' command.
If your distribution doesn't support Mono or has an older version, you can use the excellent stand-alone installer. This installer can even be used alongside an already installed version from your distro. To minimise the chance of interference with an existing version, choose to not have the 1.9 version added to your path when asked. For sessions where you'd like to use the new version run 'source /opt/mono-1.9.1/bin/setup.sh'. This will add the new version to your $PATH for that shell only.
Mono 2.0 Preview 2 also works fine.
The standalone Mono installer ships with data providers for both sqlite and Postgresql so you shouldn't need to install these. If you'd like to use the MySQL provider you'll need to install it separately. Download the Windows binaries (yes this works) as a .zip and extract. Install MySql.Data.dll using something like
gacutil -i MySql.Data.dll -gacdir /opt/mono-1.9.1
Replace the directory with the base directory of your Mono installation.
Data Provider links
- SQLite
The SQLite command line application (so you can run the SQL script that creates the database) - this is often installed already on Linux or Mac OS X
The System.Data.SQLite data provider for your platform (if you're using Mono, it comes with the framework)
- PostgreSQL
The Npgsql data provider - more recent Postgres packages come with the Stack Builder application which can get this automatically.
- MySQL
Topics Covered
The tutorial, as well as a general introduction to IronPython), will take you through building an example application (yes you will be doing coding). Topics we are hoping to cover include:
The differences between CPython and IronPython
- The clr module and basic .NET types and concepts
Using .NET types from IronPython (including some of the fiddly details)
- GUI applications with Windows Forms
- Network access
- Handling XML
- Databases
- Webservices
- Threading