[IPython-dev] [ANN] IPython 1.0 is finally released, nearly 12 years in the making!

Aaron Meurer asmeurer at gmail.com
Fri Aug 9 23:10:35 EDT 2013


I noticed that git says "2.0.0-dev". Are you being overly optimistic,
or did you revert your policy of only supporting one version at a
time?

Aaron Meurer

On Thu, Aug 8, 2013 at 7:35 PM, Fernando Perez <fperez.net at gmail.com> wrote:
> Hi all,
>
> I am incredibly thrilled, on behalf of the amazing IPython Dev Team,
> to announce the official release of IPython 1.0 today, an effort
> nearly 12 years in the making.  The previous version (0.13) was
> released on June 30, 2012, and in this development cycle we had:
>
> ~12 months of work.
> ~700 pull requests merged.
> ~600 issues closed (non-pull requests).
> contributions from ~150 authors.
> ~4000 commits.
>
>
> # A little context
>
> What does "1.0" mean for IPython? Obviously IPython has been a staple
> of the scientific Python community for years, and we've made every
> effort to make it a robust and production ready tool for a long time,
> so what exactly do we mean by tagging this particular release as 1.0?
> Basically, we feel that the core design of IPython, and the scope of
> the project, is where we want it to be.
>
> What we have today is what we consider a reasonably complete, design-
> and scope-wise, IPython 1.0: an architecture for interactive
> computing, that can drive kernels in a number of ways using a
> well-defined protocol, and rich and powerful clients that let users
> control those kernels effectively. Our different clients serve
> different needs, with the old workhorse of the terminal still being
> very useful, but much of our current development energy going into the
> Notebook, obviously.  The Notebook enables interactive exploration to
> become Literate Computing, bridging the gaps from individual work to
> collaboration and publication, all with an open file format that is a
> direct record of the underlying communication protocol.
>
> There are obviously plenty of open issues (many of them very
> important) that need fixing, and large and ambitious new lines of
> development for the years to come.  But the work of the last four
> years, since the summer of 2009 when Brian Granger was able to devote
> a summer (thanks to funding from the NiPy project - nipy.org) to
> refactoring the old IPython core code, finally opened up or
> infrastructure for real innovation. By disentangling what was a useful
> but impenetrable codebase, it became possible for us to start building
> a flexible, modern system for interactive computing that abstracted
> the old REPL model into a generic protocol that kernels could use to
> talk to clients. This led at first to the creation of the Qt console,
> and then to the Notebook and out-of-process terminal client.  It also
> allowed us to (finally!) unify our parallel computing machinery with
> the rest of the interactive system, which Min Ragan-Kelley pulled off
> in a development tour de force that involved rewriting in a few weeks
> a huge and complex Twisted-based system.
>
> We are very happy with how the Notebook work has turned out, and it
> seems the entire community agrees with us, as the uptake has been
> phenomenal.  Back from the very first "IPython 0.0.1" that I started
> in 2001:
>
> https://gist.github.com/fperez/1579699
>
> there were already hints of tools like Mathematica: it was my everyday
> workhorse as a theoretical physicist and I found its Notebook
> environment invaluable. But as a grad student trying out "just an
> afternoon hack" (IPython was my very first Python program as I was
> learning the language), I didn't have the resources, skills or vision
> to attempt building an entire notebook system, and to be honest the
> tools of the day would have made that enterprise a miserable one.  But
> those ideas were always driving our efforts, and as IPython started
> becoming a project with a team, we made multiple attempts to get a
> good Notebook built around IPython.  Those interested can read an old
> blog post of mine with the history
> (http://blog.fperez.org/2012/01/ipython-notebook-historical.html).
> The short story is that in 2011, on our sixth attempt, Brian was again
> able to devote a focused summer into using our client-server
> architecture and, with the stack of the modern web (Javascript, CSS,
> websockets, Tornado, ...), finally build a robust system for Literate
> Computing across programming languages.
>
> Today, thanks to the generous support and vision of Josh Greenberg at
> the Alfred P. Sloan Foundation, we are working very hard on building
> the notebook infrastructure, and this release contains major advances
> on that front.  We have high hopes for what we'll do next; as a
> glimpse of the future that this enables, now there is a native Julia
> kernel that speaks to our clients, notebook included:
> https://github.com/JuliaLang/IJulia.jl.
>
>
> # Team
>
> I can't stress enough how impressed I am with the work people are
> doing in IPython, and what a privilege it is to work with colleagues
> like these.  Brian Granger and Min Ragan-Kelley joined IPython around
> 2005, initially working on the parallel machinery, but since ~ 2009
> they have become the heart of the project. Today Min is our top
> committer and knows our codebase better than anyone else, and I can't
> imagine better partners for an effort like this.
>
> And from regulars in our core team like Thomas Kluyver, Matthias
> Bussonnier, Brad Froehle and Paul Ivanov to newcomers like Jonathan
> Frederic and Zach Sailer, in addition to the many more whose names are
> in our logs, we have a crazy amount of energy being poured into
> IPython.  I hope we'll continue to harness it productively!
>
> The full list of contributors to this release can be seen here:
>
> http://ipython.org/ipython-doc/rel-1.0.0/whatsnew/github-stats-1.0.html
>
>
> # Release highlights
>
> * nbconvert: this is the major piece of new functionality in this
> cycle, and was an explicit part of our roadmap
> (https://github.com/ipython/ipython/wiki/Roadmap:-IPython). nbconvert
> is now an IPython subcommand to convert notebooks into other formats
> such as HTML or LaTeX, but more importantly, it's a very flexible
> system that lets you write custom templates to generate new output
> with arbitrary control over the formatting and transformations that
> are applied to the input.
>
> We want to stress that despite the fact that a huge amount of work
> went into nbconvert, this should be considered a *tech preview*
> release. We've come to realize how complex this problem is, and while
> we'll make every effort to keep the high-level command-line syntax and
> APIs as stable as possible, it is quite likely that the internals will
> continue to evolve, possibly in backwards-incompatible ways.  So if
> you start building services and libraries that make heavy use of the
> nbconvert internals, please be prepared for some turmoil in the months
> to come, and ping us on the dev list with questions or concerns.
>
> * Notebook improvements: there has been a ton of polish work in the
> notebook at many levels, though the file format remains unchanged from
> 0.13, so you shouldn't have any problems sharing notebooks with
> colleagues still using 0.13.
>
>   - Autosave: probably the most oft-requested feature, the notebook
> server now autosaves your files!  You can still hit Ctrl-S to force a
> manual save (which also creates a special 'checkpoint' you can come
> back to).
>
>   - The notebook supports raw_input(), and thus also %debug. This was
> probably the main deficiency of the notebook as a client compared to
> the terminal/qtconsole, and it has been finally fixed.
>
>   - Add %%html, %%svg, %%javascript, and %%latex cell magics for
> writing raw output in notebook cells.
>   - Fix an issue parsing LaTeX in markdown cells, which required users
> to type \\\, instead of \\.
>   -Images support width and height metadata, and thereby 2x scaling
> (retina support).
>   - %%file has been renamed %%writefile (%%file) is deprecated.
>
> * The input transofrmation code has been updated and rationalized.
> This is a somewhat specialized part of IPython, but of importance to
> projects that build upon it for custom environments, like Sympy and
> Sage.
>
> Our full release notes are here:
>
> http://ipython.org/ipython-doc/rel-1.0.0/whatsnew/version1.0.html
>
> and the gory details are here:
>
> http://ipython.org/ipython-doc/rel-1.0.0/whatsnew/github-stats-1.0.html
>
>
> # Installation
>
> Installation links and instructions are at: http://ipython.org/install.html
> And IPython is also on PyPI: http://pypi.python.org/pypi/ipython
>
>
> # Requirements
>
> IPython 1.0 requires Python ≥ 2.6.5 or ≥ 3.2.1. It does not support
> Python 3.0, 3.1, or 2.5.
>
>
> # Acknowledgments
>
> Last but not least, we'd like to acknowledge the generous support of
> those who make it possible for us to spend our time working on
> IPython.  In particular, the Alfred P. Sloan Foundation today lets us
> have a solid team working full-time on the project, and without the
> support of Enthought Inc at multiple points in our history, we
> wouldn't be where we are today.
>
> The full list of our support is here:
>
> http://ipython.org/index.html#support
>
>
> Thanks to everyone! Please enjoy IPython 1.0, and report all bugs as usual!
>
> Fernando, on behalf of the IPython Dev Team.
>
> --
> Fernando Perez (@fperez_org; http://fperez.org)
> fperez.net-at-gmail: mailing lists only (I ignore this when swamped!)
> fernando.perez-at-berkeley: contact me here for any direct mail
> --
> Fernando Perez (@fperez_org; http://fperez.org)
> fperez.net-at-gmail: mailing lists only (I ignore this when swamped!)
> fernando.perez-at-berkeley: contact me here for any direct mail
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev



More information about the IPython-dev mailing list