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

Fernando Perez fperez.net at gmail.com
Sat Aug 10 01:05:39 EDT 2013


And just to add context to Min's comment, that was precisely the plan
we outlined in our roadmap last spring:

https://github.com/ipython/ipython/wiki/Roadmap:-IPython


But Aaron, don't worry, we're not abandoning maintenance of 1.x.  A
branch is already open for bug fix backports:

https://github.com/ipython/ipython/tree/1.x

Cheers,

f

On Fri, Aug 9, 2013 at 9:03 PM, MinRK <benjaminrk at gmail.com> wrote:
> On Fri, Aug 9, 2013 at 8:10 PM, Aaron Meurer <asmeurer at gmail.com> wrote:
>>
>> 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?
>
>
> I'm not sure what you mean.  We are certainly planning to make
> backward-incompatible changes to be released in the Fall, which suggests a
> new major version.  We are trying out a roughly six month major release
> cycle (2.0 in Winter, 3.0 next Summer).  We will backport fixes to 1.0 as
> long as it is tenable (1.x branch already has a few fixes), which may not be
> past Winter.
>
> -MinRK
>
>>
>>
>> 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
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
>
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>



-- 
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



More information about the IPython-dev mailing list