Skip to content

Instantly share code, notes, and snippets.

@matthew-piziak
Created November 18, 2018 16:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matthew-piziak/2eabd9986e1d9db079856ea583fb8b99 to your computer and use it in GitHub Desktop.
Save matthew-piziak/2eabd9986e1d9db079856ea583fb8b99 to your computer and use it in GitHub Desktop.
# generated using pypi2nix tool (version: 1.8.1)
# See more at: https://github.com/garbas/pypi2nix
#
# COMMAND:
# pypi2nix -V 3 -e beancount -E libxml2 -E libxslt
#
{ pkgs ? import <nixpkgs> {}
}:
let
inherit (pkgs) makeWrapper;
inherit (pkgs.stdenv.lib) fix' extends inNixShell;
pythonPackages =
import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" {
inherit pkgs;
inherit (pkgs) stdenv;
python = pkgs.python3;
# patching pip so it does not try to remove files when running nix-shell
overrides =
self: super: {
bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: {
patchPhase = old.patchPhase + ''
sed -i -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" $out/${pkgs.python35.sitePackages}/pip/req/req_install.py
'';
});
};
};
commonBuildInputs = with pkgs; [ libxml2 libxslt ];
commonDoCheck = false;
withPackages = pkgs':
let
pkgs = builtins.removeAttrs pkgs' ["__unfix__"];
interpreter = pythonPackages.buildPythonPackage {
name = "python3-interpreter";
buildInputs = [ makeWrapper ] ++ (builtins.attrValues pkgs);
buildCommand = ''
mkdir -p $out/bin
ln -s ${pythonPackages.python.interpreter} $out/bin/${pythonPackages.python.executable}
for dep in ${builtins.concatStringsSep " " (builtins.attrValues pkgs)}; do
if [ -d "$dep/bin" ]; then
for prog in "$dep/bin/"*; do
if [ -f $prog ]; then
ln -s $prog $out/bin/`basename $prog`
fi
done
fi
done
for prog in "$out/bin/"*; do
wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH"
done
pushd $out/bin
ln -s ${pythonPackages.python.executable} python
ln -s ${pythonPackages.python.executable} python3
popd
'';
passthru.interpreter = pythonPackages.python;
};
in {
__old = pythonPackages;
inherit interpreter;
mkDerivation = pythonPackages.buildPythonPackage;
packages = pkgs;
overrideDerivation = drv: f:
pythonPackages.buildPythonPackage (drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; });
withPackages = pkgs'':
withPackages (pkgs // pkgs'');
};
python = withPackages {};
generated = self: {
"atomicwrites" = python.mkDerivation {
name = "atomicwrites-1.2.1";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/ac/ed/a311712ef6b4355035489f665e63e1a73f9eb371929e3c98e5efd451069e/atomicwrites-1.2.1.tar.gz"; sha256 = "ec9ae8adaae229e4f8446952d204a3e4b5fdd2d099f9be3aaf556120135fb3ee"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/untitaker/python-atomicwrites";
license = licenses.mit;
description = "Atomic file writes.";
};
};
"attrs" = python.mkDerivation {
name = "attrs-18.2.0";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf/attrs-18.2.0.tar.gz"; sha256 = "10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."pytest"
self."six"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://www.attrs.org/";
license = licenses.mit;
description = "Classes Without Boilerplate";
};
};
"beancount" = python.mkDerivation {
name = "beancount-2.1.3";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/06/93/ce85f9e15c1648295092af08bf02a297c2f5b865d200ccc79c6a10c1a03a/beancount-2.1.3.tar.gz"; sha256 = "4b7b0d3633c82ca88d3cb3d31ad2fd2e45a42401cfa94eaa1cb938ffece34f22"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."beautifulsoup4"
self."bottle"
self."chardet"
self."google-api-python-client"
self."lxml"
self."ply"
self."pytest"
self."python-dateutil"
self."python-magic"
self."requests"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://furius.ca/beancount";
license = "GNU GPLv2 only";
description = "Command-line Double-Entry Accounting";
};
};
"beautifulsoup4" = python.mkDerivation {
name = "beautifulsoup4-4.6.3";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/88/df/86bffad6309f74f3ff85ea69344a078fc30003270c8df6894fca7a3c72ff/beautifulsoup4-4.6.3.tar.gz"; sha256 = "90f8e61121d6ae58362ce3bed8cd997efb00c914eae0ff3d363c32f9a9822d10"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."lxml"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://www.crummy.com/software/BeautifulSoup/bs4/";
license = licenses.mit;
description = "Screen-scraping library";
};
};
"bottle" = python.mkDerivation {
name = "bottle-0.12.13";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/bd/99/04dc59ced52a8261ee0f965a8968717a255ea84a36013e527944dbf3468c/bottle-0.12.13.tar.gz"; sha256 = "39b751aee0b167be8dffb63ca81b735bbf1dd0905b3bc42761efedee8f123355"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://bottlepy.org/";
license = licenses.mit;
description = "Fast and simple WSGI-framework for small web-applications.";
};
};
"cachetools" = python.mkDerivation {
name = "cachetools-3.0.0";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/e6/28/7cde8e73835ff48b4f35b2d93a509575f7bc02b7d614ada71b820c8d9233/cachetools-3.0.0.tar.gz"; sha256 = "4621965b0d9d4c82a79a29edbad19946f5e7702df4afae7d1ed2df951559a8cc"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/tkem/cachetools";
license = licenses.mit;
description = "Extensible memoizing collections and decorators";
};
};
"certifi" = python.mkDerivation {
name = "certifi-2018.10.15";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/41/b6/4f0cefba47656583217acd6cd797bc2db1fede0d53090fdc28ad2c8e0716/certifi-2018.10.15.tar.gz"; sha256 = "6d58c986d22b038c8c0df30d639f23a3e6d172a05c3583e766f4c0b785c0986a"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://certifi.io/";
license = licenses.mpl20;
description = "Python package for providing Mozilla's CA Bundle.";
};
};
"chardet" = python.mkDerivation {
name = "chardet-3.0.4";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz"; sha256 = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/chardet/chardet";
license = licenses.lgpl2;
description = "Universal encoding detector for Python 2 and 3";
};
};
"google-api-python-client" = python.mkDerivation {
name = "google-api-python-client-1.7.4";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/4e/92/e4746e646585c8c359781c19984fe8b6b8794a6cfe382cd481329d5252ac/google-api-python-client-1.7.4.tar.gz"; sha256 = "5d5cb02c6f3112c68eed51b74891a49c0e35263380672d662f8bfe85b8114d7c"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."google-auth"
self."google-auth-httplib2"
self."httplib2"
self."six"
self."uritemplate"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://github.com/google/google-api-python-client/";
license = licenses.asl20;
description = "Google API Client Library for Python";
};
};
"google-auth" = python.mkDerivation {
name = "google-auth-1.6.1";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/17/07/3d60e212bff8d734fcf5dd400eee751b8652eaefd0c4d90cd50af92e1d96/google-auth-1.6.1.tar.gz"; sha256 = "b08a27888e9d1c17a891b3688aacc9c6f2019d7f6c5a2e73588e6bb9a2c0fa98"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."cachetools"
self."pyasn1-modules"
self."rsa"
self."six"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/GoogleCloudPlatform/google-auth-library-python";
license = licenses.asl20;
description = "Google Authentication Library";
};
};
"google-auth-httplib2" = python.mkDerivation {
name = "google-auth-httplib2-0.0.3";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/e7/32/ac7f30b742276b4911a1439c5291abab1b797ccfd30bc923c5ad67892b13/google-auth-httplib2-0.0.3.tar.gz"; sha256 = "098fade613c25b4527b2c08fa42d11f3c2037dda8995d86de0745228e965d445"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."google-auth"
self."httplib2"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2";
license = licenses.asl20;
description = "Google Authentication Library: httplib2 transport";
};
};
"httplib2" = python.mkDerivation {
name = "httplib2-0.12.0";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz"; sha256 = "f61fb838a94ce3b349aa32c92fd8430f7e3511afdb18bf9640d647e30c90a6d6"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/httplib2/httplib2";
license = licenses.mit;
description = "A comprehensive HTTP client library.";
};
};
"idna" = python.mkDerivation {
name = "idna-2.7";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/65/c4/80f97e9c9628f3cac9b98bfca0402ede54e0563b56482e3e6e45c43c4935/idna-2.7.tar.gz"; sha256 = "684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/kjd/idna";
license = licenses.bsdOriginal;
description = "Internationalized Domain Names in Applications (IDNA)";
};
};
"lxml" = python.mkDerivation {
name = "lxml-4.2.5";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/4b/20/ddf5eb3bd5c57582d2b4652b4bbcf8da301bdfe5d805cb94e805f4d7464d/lxml-4.2.5.tar.gz"; sha256 = "36720698c29e7a9626a0dc802ef8885f8f0239bfd1689628ecd459a061f2807f"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."beautifulsoup4"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://lxml.de/";
license = licenses.bsdOriginal;
description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.";
};
};
"more-itertools" = python.mkDerivation {
name = "more-itertools-4.3.0";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/88/ff/6d485d7362f39880810278bdc906c13300db05485d9c65971dec1142da6a/more-itertools-4.3.0.tar.gz"; sha256 = "c476b5d3a34e12d40130bc2f935028b5f636df8f372dc2c1c01dc19681b2039e"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."six"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/erikrose/more-itertools";
license = licenses.mit;
description = "More routines for operating on iterables, beyond itertools";
};
};
"pluggy" = python.mkDerivation {
name = "pluggy-0.8.0";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/65/25/81d0de17cd00f8ca994a4e74e3c4baf7cd25072c0b831dad5c7d9d6138f8/pluggy-0.8.0.tar.gz"; sha256 = "447ba94990e8014ee25ec853339faf7b0fc8050cdc3289d4d71f7f410fb90095"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/pytest-dev/pluggy";
license = licenses.mit;
description = "plugin and hook calling mechanisms for python";
};
};
"ply" = python.mkDerivation {
name = "ply-3.11";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz"; sha256 = "00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://www.dabeaz.com/ply/";
license = licenses.bsdOriginal;
description = "Python Lex & Yacc";
};
};
"py" = python.mkDerivation {
name = "py-1.7.0";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/c7/fa/eb6dd513d9eb13436e110aaeef9a1703437a8efa466ce6bb2ff1d9217ac7/py-1.7.0.tar.gz"; sha256 = "bf92637198836372b520efcba9e020c330123be8ce527e535d185ed4b6f45694"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://py.readthedocs.io/";
license = licenses.mit;
description = "library with cross-python path, ini-parsing, io, code, log facilities";
};
};
"pyasn1" = python.mkDerivation {
name = "pyasn1-0.4.4";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/10/46/059775dc8e50f722d205452bced4b3cc965d27e8c3389156acd3b1123ae3/pyasn1-0.4.4.tar.gz"; sha256 = "f58f2a3d12fd754aa123e9fa74fb7345333000a035f3921dbdaa08597aa53137"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/etingof/pyasn1";
license = licenses.bsdOriginal;
description = "ASN.1 types and codecs";
};
};
"pyasn1-modules" = python.mkDerivation {
name = "pyasn1-modules-0.2.2";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/37/33/74ebdc52be534e683dc91faf263931bc00ae05c6073909fde53999088541/pyasn1-modules-0.2.2.tar.gz"; sha256 = "a0cf3e1842e7c60fde97cb22d275eb6f9524f5c5250489e292529de841417547"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."pyasn1"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/etingof/pyasn1-modules";
license = licenses.bsdOriginal;
description = "A collection of ASN.1-based protocols modules.";
};
};
"pytest" = python.mkDerivation {
name = "pytest-4.0.0";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/ec/34/497c3b126966c3b358398084394ea820c63a34d794d708074accf91bcaf3/pytest-4.0.0.tar.gz"; sha256 = "488c842647bbeb350029da10325cb40af0a9c7a2fdda45aeb1dda75b60048ffb"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."atomicwrites"
self."attrs"
self."more-itertools"
self."pluggy"
self."py"
self."six"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://docs.pytest.org/en/latest/";
license = licenses.mit;
description = "pytest: simple powerful testing with Python";
};
};
"python-dateutil" = python.mkDerivation {
name = "python-dateutil-2.7.5";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/0e/01/68747933e8d12263d41ce08119620d9a7e5eb72c876a3442257f74490da0/python-dateutil-2.7.5.tar.gz"; sha256 = "88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."six"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://dateutil.readthedocs.io";
license = licenses.bsdOriginal;
description = "Extensions to the standard Python datetime module";
};
};
"python-magic" = python.mkDerivation {
name = "python-magic-0.4.15";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/84/30/80932401906eaf787f2e9bd86dc458f1d2e75b064b4c187341f29516945c/python-magic-0.4.15.tar.gz"; sha256 = "f3765c0f582d2dfc72c15f3b5a82aecfae9498bd29ca840d72f37d7bd38bfcd5"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://github.com/ahupp/python-magic";
license = licenses.mit;
description = "File type identification using libmagic";
};
};
"requests" = python.mkDerivation {
name = "requests-2.20.1";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/40/35/298c36d839547b50822985a2cf0611b3b978a5ab7a5af5562b8ebe3e1369/requests-2.20.1.tar.gz"; sha256 = "ea881206e59f41dbd0bd445437d792e43906703fff75ca8ff43ccdb11f33f263"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."certifi"
self."chardet"
self."idna"
self."urllib3"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://python-requests.org";
license = licenses.asl20;
description = "Python HTTP for Humans.";
};
};
"rsa" = python.mkDerivation {
name = "rsa-4.0";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/cb/d0/8f99b91432a60ca4b1cd478fd0bdf28c1901c58e3a9f14f4ba3dba86b57f/rsa-4.0.tar.gz"; sha256 = "1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."pyasn1"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://stuvel.eu/rsa";
license = "License :: OSI Approved :: Apache Software License";
description = "Pure-Python RSA implementation";
};
};
"six" = python.mkDerivation {
name = "six-1.11.0";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://pypi.python.org/pypi/six/";
license = licenses.mit;
description = "Python 2 and 3 compatibility utilities";
};
};
"uritemplate" = python.mkDerivation {
name = "uritemplate-3.0.0";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/cd/db/f7b98cdc3f81513fb25d3cbe2501d621882ee81150b745cdd1363278c10a/uritemplate-3.0.0.tar.gz"; sha256 = "c02643cebe23fc8adb5e6becffe201185bf06c40bda5c0b4028a93f1527d011d"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://uritemplate.readthedocs.org";
license = licenses.bsdOriginal;
description = "URI templates";
};
};
"urllib3" = python.mkDerivation {
name = "urllib3-1.24.1";
src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1/urllib3-1.24.1.tar.gz"; sha256 = "de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."certifi"
self."idna"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://urllib3.readthedocs.io/";
license = licenses.mit;
description = "HTTP library with thread-safe connection pooling, file post, and more.";
};
};
};
localOverridesFile = ./requirements_override.nix;
overrides = import localOverridesFile { inherit pkgs python; };
commonOverrides = [
];
allOverrides =
(if (builtins.pathExists localOverridesFile)
then [overrides] else [] ) ++ commonOverrides;
in python.withPackages
(fix' (pkgs.lib.fold
extends
generated
allOverrides
)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment