background preloader

10 Reasons Python Rocks for Research — Hoyt Koepke

10 Reasons Python Rocks for Research — Hoyt Koepke
The following is an account of my own experience with Python. Because that experience has been so positive, it is an unabashed attempt to promote the use of Python for general scientific research and development. About four years ago, I dropped MATLAB in favor of Python as my primary language for coding research projects. This article is a personal account of how rewarding I have found that experience. As I describe in the next sections, the variety and quality of Python’s features has spoiled me. To clarify, I am not advocating just Python as the perfect scientific programming environment; I am advocating Python plus a handful of mature 3rd-party open source libraries, namely Numpy/Scipy for numerical operations, Cython for low-level optimization, IPython for interactive work, and MatPlotLib for plotting. Holistic Language Design I once believed that the perfect language for research was one that allowed concise and direct translation from notepad scribblings to code. Readability gives

Introduction to Pyjamas, Part 1: Exploit the synergy of GWT and Python Introduction Google's Web Toolkit (GWT) lets you develop a Rich Internet Application (RIA) with Ajax, entirely in Java™ code. You can use the rich Java toolset (IDEs, refactoring, code completion, debuggers, and so on) to develop applications that can be deployed on all major Web browsers. Pyjamas contains a stand-alone Python-to-JavaScript compiler, and an Ajax framework and widget set. This article explains the background, rationale, related tools, and benefits of Pyjamas while showing you how to create a sample application that will store basic contact information (name, e-mail address, telephone number). Part two in this series will explain how to build custom Pyjamas components. Back to top Background Python was one of the first popular languages ported to the JVM (Jython) and later to .Net (IronPython). In the recent past, the chances of doing an entire application in Ajax seemed remote. Conversely, Adobe AIR and Silverlight allow Web-style applications to run on the desktop. #!

PyBrain Difference between these Python machine-learning libraries Rich Internet Applications (RIA) » Blog Archive » Slimmed Down Software- A Lean, Groovy Approach Part 5- Deliver Fast This article originally appeared in the August 2010 edition of GroovyMag, the Groovy and Grails magazine. Parts 6 and 7 are currently available for download from the magazine’s site, and more will come each month. Previous articles in this series are on the Canoo website: Part 1: Eliminate Waste, Part 2: Build Quality In, Part 3: Create Knowledge, and Part 4: Defer Commitment. Lastly, if you like this, you may want to check out some of my older blog posts from my personal site under the ‘craft’ category. The Groovy Programming Language advertises itself as an “agile and dynamic Language for the JVM”, but what does this mean exactly? About this series Groovy is an agile programming language. Some of the code examples are basic while others are advanced. Lean Revisited Part 1 of this series contained a more in-depth explanation of Lean, and I won’t repeat it here. Principle 5 – Deliver Fast The easiest way to deliver quickly is to deliver less. Sidebar: Little’s Law and throughput Next steps

Package Index : Theano 0.3.0 Optimizing compiler for evaluating mathematical expressions on CPUs and GPUs. Latest Version: 0.6.0 Theano is a Python library that allows you to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays. tight integration with NumPy: a similar interface to NumPy's. numpy.ndarrays are also used internally in Theano-compiled functions.transparent use of a GPU: perform data-intensive computations up to 140x faster than on a CPU (support for float32 only).efficient symbolic differentiation: Theano can compute derivatives for functions of one or many inputs.speed and stability optimizations: avoid nasty bugs when computing expressions such as log(1+ exp(x) ) for large values of x.dynamic C code generation: evaluate expressions faster.extensive unit-testing and self-verification: includes tools for detecting and diagnosing bugs and/or potential problems. This is the first major release of Theano since 0.1.

What can MATLAB do that R cannot do Viewing Python 3.2 as the successor to Python 2.7 Over on python-dev a discussion kicked up over what to do about backward-incompatible changes against Python 2.7 in the name of fixing consistency. The suggestion seemed to be for a Python 2.8, but that is simply not going to happen. I think the reason the idea of Python 2.8 even came up is because I don't think people in general realize how python-dev views the latest and upcoming releases of Python, so I just wanted to clarify this point for the general community. For as long as I have been involved in Python's development (joined python-dev in June 2002), there has always been a maintenance version and an in-development version. This is exactly the same for Python 2.7/3.2 from the perspective of python-dev. Which is why the concept of a Python 2.8 coming from python-dev will never happen. If people want to makes changes to the Python 2.7 code base which are backwards-incompatible in the name of making it more consistent, fixing bugs, or whatever, then fork the code.

1. An Introduction to Distutils — Python v2.7 documentation This document covers using the Distutils to distribute your Python modules, concentrating on the role of developer/distributor: if you’re looking for information on installing Python modules, you should refer to the Installing Python Modules chapter. 1.1. Concepts & Terminology Using the Distutils is quite simple, both for module developers and for users/administrators installing third-party modules. write a setup script (setup.py by convention)(optional) write a setup configuration filecreate a source distribution(optional) create one or more built (binary) distributions Each of these tasks is covered in this document. Not all module developers have access to a multitude of platforms, so it’s not always feasible to expect them to create a multitude of built distributions. 1.2. If all you want to do is distribute a module called foo, contained in a file foo.py, then your setup script can be as simple as this: Some observations: python setup.py bdist_wininst python setup.py bdist_rpm

UC BerkeleyX: CS188.1x: Artificial Intelligence *Note - This is an Archived course* This is a past/archived course. At this time, you can only explore this course in a self-paced fashion. Certain features of this course may not be active, but many people enjoy watching the videos and working with the materials. Make sure to check for reruns of this course. CS188.1x is a new online adaptation of the first half of UC Berkeley's CS188: Introduction to Artificial Intelligence. Artificial intelligence is already all around you, from web search to video games. CS188.1x focuses on Behavior from Computation. Note: This is a past/archived course.

Using the Cython Compiler to write fast Python code Passionate Python developer since 2002after Basic, Logo, Pascal, Prolog, Scheme, Java, C, ...CS studies in Germany, Ireland, FrancePhD in distributed systems in 2007Language design for self-organising systemsDarmstadt University of Technologies, GermanyCurrent occupations:Employed by Senacor Technologies AG, GermanyIT transformations, SOA design, Java-Development, ...»lxml« OpenSource XML toolkit for Part 1: Intro to CythonPart 2: Building Cython modulesPart 3: Writing fast codePart 4: Talking to other extensions Cython is the missing linkbetween the simplicity of Pythonand the speed of C / C++ / Fortran. Cython is the missing linkbetween the simplicity of Pythonand the speed of C / C++ / Fortran. Cython is an Open-Source projecta Python compiler (almost)an enhanced, optimising fork of Pyrexan extended Python language forwriting fast Python extension modulesinterfacing Python with C libraries ... the fastest way to port Python 2 code to Py3 ;-)

10 Reasons Python Rocks for Research — Hoyt Koepke The following is an account of my own experience with Python. Because that experience has been so positive, it is an unabashed attempt to promote the use of Python for general scientific research and development. About four years ago, I dropped MATLAB in favor of Python as my primary language for coding research projects. This article is a personal account of how rewarding I have found that experience. As I describe in the next sections, the variety and quality of Python’s features has spoiled me. To clarify, I am not advocating just Python as the perfect scientific programming environment; I am advocating Python plus a handful of mature 3rd-party open source libraries, namely Numpy/Scipy for numerical operations, Cython for low-level optimization, IPython for interactive work, and MatPlotLib for plotting. Holistic Language Design I once believed that the perfect language for research was one that allowed concise and direct translation from notepad scribblings to code. Readability gives

machine learning - R and Data Mining

Related: