Skip to content

Instantly share code, notes, and snippets.

@teh

teh/ipython3.nix

Created Apr 15, 2015
Embed
What would you like to do?
ipython 3.1
{ stdenv, fetchurl, buildPythonPackage, pythonPackages, zeromq3, pyqt4 ? null
, notebookSupport ? true # ipython notebook
, qtconsoleSupport ? true # ipython qtconsole
, pylabSupport ? true # ipython --pylab (backend: agg - no gui, just file)
, pylabQtSupport ? true # ipython --pylab=qt (backend: Qt4Agg - plot to window)
}:
# ipython qtconsole works with both pyside and pyqt4. But ipython --pylab=qt
# only works with pyqt4 (at least this is true for ipython 0.13.1). So just use
# pyqt4 for both.
assert qtconsoleSupport == true -> pyqt4 != null;
assert pylabQtSupport == true -> pyqt4 != null;
let
tornado = buildPythonPackage rec {
name = "tornado-4.1";
propagatedBuildInputs = with pythonPackages; [ backports_ssl_match_hostname_3_4_0_2 ];
src = fetchurl {
url = "https://pypi.python.org/packages/source/t/tornado/${name}.tar.gz";
sha256 = "0a12f00h277zbifibnj46wf14801f573irvf6hwkgja5vspd7awr";
};
doCheck = false;
};
jsonschema = pythonPackages.buildPythonPackage rec {
name = "jsonschema-2.4.0";
propagatedBuildInputs = with pythonPackages; [ ];
src = fetchurl {
url = "https://pypi.python.org/packages/source/j/jsonschema/jsonschema-2.4.0.tar.gz";
md5 = "661f85c3d23094afbb9ac3c0673840bf";
};
meta = with stdenv.lib; {
description = "==========";
homepage = http://github.com/Julian/jsonschema;
license = licenses.mit;
};
};
pyzmq = pythonPackages.buildPythonPackage rec {
name = "pyzmq-14.5.0";
propagatedBuildInputs = with pythonPackages; [ zeromq3 ];
doCheck = false;
src = fetchurl {
url = "https://pypi.python.org/packages/source/p/pyzmq/pyzmq-14.5.0.tar.gz";
md5 = "8d3351a8ca2ca2a272a3f96bcb963e41";
};
meta = with stdenv.lib; {
description = "PyZMQ is the official Python binding for the ZeroMQ Messaging Library (http://www.zeromq.org).";
homepage = http://github.com/zeromq/pyzmq;
};
};
mistune = pythonPackages.buildPythonPackage rec {
name = "mistune-0.5.1";
propagatedBuildInputs = with pythonPackages; [ nose ];
src = fetchurl {
url = "https://pypi.python.org/packages/source/m/mistune/mistune-0.5.1.tar.gz";
md5 = "10a42265bfc7e9ad817fe777a4857821";
};
meta = with stdenv.lib; {
description = "Mistune";
homepage = https://github.com/lepture/mistune;
license = licenses.bsd;
};
};
in
buildPythonPackage rec {
name = "ipython-3.1.0";
namePrefix = "";
src = fetchurl {
url = "http://pypi.python.org/packages/source/i/ipython/${name}.tar.gz";
sha256 = "092nilrkr76l1mklnslgbw1cz7z1xabp1hz5s7cb30kgy39r482k";
};
propagatedBuildInputs = [
pythonPackages.readline
pythonPackages.sqlite3 # required for history support
] ++ stdenv.lib.optionals notebookSupport [
tornado
jsonschema
pythonPackages.pygments
pyzmq
mistune
pythonPackages.jinja2
] ++ stdenv.lib.optionals qtconsoleSupport [
pythonPackages.pygments
pyzmq
pyqt4
] ++ stdenv.lib.optionals pylabSupport [
pythonPackages.matplotlib
] ++ stdenv.lib.optionals pylabQtSupport [
pythonPackages.matplotlib
pyqt4
];
doCheck = false;
meta = {
homepage = http://ipython.scipy.org/;
description = "An interactive computing environment for Python";
license = stdenv.lib.licenses.bsd3;
longDescription = ''
The goal of IPython is to create a comprehensive environment
for interactive and exploratory computing. It consists of an
enhanced interactive Python shell and an architecture for
interactive parallel computing.
'';
maintainers = [ stdenv.lib.maintainers.bjornfor ];
};
}
with import <nixpkgs> {};
let
ipython3 = pkgs.callPackage ./ipython3.nix {
buildPythonPackage = python34Packages.buildPythonPackage;
pythonPackages = python34Packages;
qtconsoleSupport = false;
pylabQtSupport = false;
};
in
python34Packages.buildPythonPackage {
name = "test";
srcs = ./.;
propagatedBuildInputs = with python34Packages; [
ipython3
];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment