├── .gitignore ├── .travis.yml ├── .travis ├── after_success └── before_install ├── Makefile ├── README.rst ├── attrs ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── default.nix ├── django ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── flake8 ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── flask ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── homeassistant ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── httpie ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── openstackclient ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── overlay.nix ├── overrides.nix ├── pelican ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── pykube ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── pypi2nix ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── pypiserver ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── pyramid ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── pytest ├── overrides.nix ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt ├── science ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt └── sphinx ├── requirements.nix ├── requirements.txt └── requirements_frozen.txt /.gitignore: -------------------------------------------------------------------------------- 1 | /*/src 2 | /deploy_rsa 3 | /deploy_rsa.pub 4 | /pypi2nix-src 5 | /result* 6 | requirements_override.nix 7 | *~ -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | branches: 2 | only: 3 | - master 4 | language: nix 5 | sudo: required 6 | os: 7 | - linux 8 | env: 9 | global: 10 | secure: KwRrujVomKcehzss5vFgEI0C0uVXwBdJD9Db7bH4FlOpisYM/TdJ5ysmV6ljiXfkeldL2N9PwraNJ1Cet6FwohVcQE/YVUKDz6tdP0jwPIAZwIqEKxMoprK8A4PURyIRpV/UAVEyMrbWoVcDo22AOuSCb8bsGzVW6idUtvig3ay7jJdM+b+BEmFccsEqiC69ZDG0Ai+zU79JHlL4OUEtpgJcjuMeH8ZHHlxTSdUKNDbpclcDMg7b0z6UD0q5UdGx9FckAqt9Y/cztSSij/JBwj47y9Z6YM8eN/UW+TfLzPXNPgWvg0Znu9lDoOtlboFC9OTyNrpOZNnCkV653GsFXBCKQUJPUQXpZVqWwFQ3pnBVnZip7bjhTneDGJzHBKAhcpMKDkLUdvv0XFVJIAMAuVCByOGSPpnB3vPA2YCNY6UueDBhUyLciSz+jUTpMiCltJnR+hTse2olLZ/Q8LSXmIBBwNY7+v1rEsOIFrtdBOn9m4XiEP14aMZnfsV0yDvXVS7EabFghMdscijfZZsgBf0bswXqR2xEsO2R9Bw4+6VOkk1k5JO4pBGVEtUW6rWKL0vJIAyjdW1RC7MUA+zq2l8TcHu49GSHgw2E5pPqVvHwJULgpQMAFisKaePflEnJaQWjcxwFdPz90wJjXTARGR0XVW16nCAuWpbsS1N12b8= 11 | matrix: 12 | - PYTHON_SET=science 13 | - PYTHON_SET=attrs 14 | - PYTHON_SET=django 15 | - PYTHON_SET=flake8 16 | - PYTHON_SET=flask 17 | - PYTHON_SET=httpie 18 | - PYTHON_SET=openstackclient 19 | - PYTHON_SET=pelican 20 | - PYTHON_SET=pykube 21 | - PYTHON_SET=pypiserver 22 | - PYTHON_SET=pyramid 23 | - PYTHON_SET=pytest 24 | - PYTHON_SET=sphinx 25 | before_install: 26 | - source .travis/before_install 27 | script: 28 | - nix-env -iQf https://github.com/garbas/pypi2nix/tarball/master 29 | - travis_wait 60 make $PYTHON_SET; 30 | - cachix push nixpkgs-python ./result-$PYTHON_SET 31 | after_success: 32 | - source .travis/after_success 33 | deploy: 34 | provider: gcs 35 | access_key_id: GOOGKCPBZ6QQ7ZPJZLCNERHL 36 | secret_access_key: 37 | secure: brgzOwP4k/XmmWG0vpzjVMSOc+i0bw28Zk0i0zPT9YmFybWbQ17AXZj7OKnju4Wre2C192xG2u+jE9Jnge5nxbEPdRKKNvVvnLoHKcNg/SbOdU8yK8yKdsQDYYALu79WMsR6vw/YPRyEQBqVWNNY/ZRmGG5U9mzn18mkkyPY3lCsNTPLpf0WoNoIPfzY4ml7+UnzjM25t+eDZoOOWs8JHI4rTx/55YVqVCwH2aAWhzoxHq2amHcaqPX0l0hnsRG8tGjw0+3RLdtUQsymSJIIA72i76GvFbqML+pXix4Tyzgfec2qF+rZCnO+JmnjS6Lm9uuXdAFCDYUycBdH9jEpb2u+1TXQigoIVct9uvkvUr//CWYzWUOd2++xagVLP8ZeXdHMGWESkZnCPwt4WeJoMNFeqWo6nFVhw86NiFu4pggN3AOJb4Gag2iu/LmZGfUbTvjdqJrDnkGRw23IoNpYxllgh+CiVOMugPWQ5psfC7nqVlRqEji3kNs17G3H2InCeRVuyA21RQWdst06R21vOH0RnbPIJKIcLqRjK661myu3YrgSXWq7aVT8BCc1Sf3FqMGot2BZY4hZjoT0D7a4ADxq40AvGuCUpoGD2Ez/6gSh4CEoG+HE1Hdr+ZoiAD2E+qJsV/nXy3YShZG4e0vM78wGTPRiqP5/j6a+/8XUa/c= 38 | bucket: nixpkgs-python-wheels 39 | local-dir: "/tmp/pypi2nix/cache/wheel/" 40 | on: 41 | repo: garbas/nixpkgs-python 42 | skip_cleanup: true 43 | acl: public-read 44 | -------------------------------------------------------------------------------- /.travis/after_success: -------------------------------------------------------------------------------- 1 | # -*- mode: sh -*- 2 | 3 | if [ $TRAVIS_PULL_REQUEST = "false" -a \ 4 | $TRAVIS_BRANCH = "master" -a \ 5 | $TRAVIS_REPO_SLUG = "garbas/nixpkgs-python" ]; then 6 | if [[ -n `git diff --exit-code` ]]; then 7 | git config user.name 'travis'; 8 | git config user.email 'travis@garbas.si'; 9 | git status; 10 | git --no-pager diff $PYTHON_SET; 11 | git stash; 12 | git checkout -b result-$TRAVIS_BRANCH origin/$TRAVIS_BRANCH; 13 | git pull; 14 | git stash apply; 15 | git add $PYTHON_SET; 16 | git commit -m "Travis update for $PYTHON_SET [ci skip]"; 17 | git push git@github.com:garbas/nixpkgs-python.git HEAD:$TRAVIS_BRANCH; 18 | fi 19 | fi 20 | -------------------------------------------------------------------------------- /.travis/before_install: -------------------------------------------------------------------------------- 1 | # -*- mode: sh -*- 2 | 3 | nix-env -iA nixpkgs.nix-prefetch-git nixpkgs.nix-prefetch-hg 4 | nix-env -iA cachix -f https://github.com/NixOS/nixpkgs/tarball/889c72032f8595fcd7542c6032c208f6b8033db6 5 | sudo mount -o remount,exec,size=4G,mode=755 /run/user || true 6 | cachix use pypi2nix 7 | cachix use nixpkgs-python 8 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | NIX_PATH=nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixpkgs-unstable.tar.gz 2 | PYPI2NIX=pypi2nix -W https://console.cloud.google.com/storage/browser/nixpkgs-python-wheels/ 3 | NIX_BUILD=nix-build --option sandbox true -Q -j 1 -A 4 | PY3=3.7 5 | PY2=2.7 6 | 7 | 8 | all: \ 9 | attrs \ 10 | django \ 11 | flake8 \ 12 | flask \ 13 | httpie \ 14 | openstackclient \ 15 | pelican \ 16 | pykube \ 17 | pypiserver \ 18 | pyramid \ 19 | pytest \ 20 | science \ 21 | sphinx 22 | 23 | attrs: 24 | cd attrs/ && \ 25 | $(PYPI2NIX) -v \ 26 | -V $(PY3) \ 27 | -O ../overrides.nix \ 28 | -r requirements.txt 29 | $(NIX_BUILD) attrs -o result-attrs 30 | 31 | django: 32 | cd django/ && \ 33 | $(PYPI2NIX) -v \ 34 | -V $(PY3) \ 35 | -O ../overrides.nix \ 36 | -r requirements.txt 37 | $(NIX_BUILD) django -o result-django 38 | 39 | 40 | flake8: 41 | cd flake8/ && \ 42 | $(PYPI2NIX) -v \ 43 | -V $(PY3) \ 44 | -O ../overrides.nix \ 45 | -s nose \ 46 | -s pytest-runner \ 47 | -s setuptools-scm \ 48 | -r requirements.txt 49 | $(NIX_BUILD) flake8 -o result-flake8 50 | 51 | 52 | flask: 53 | cd flask/ && \ 54 | $(PYPI2NIX) -v \ 55 | -V $(PY3) \ 56 | -s vcversioner \ 57 | -s flake8 \ 58 | -s pytest-runner \ 59 | -s setuptools-scm \ 60 | -s six \ 61 | -r requirements.txt \ 62 | -O ../overrides.nix 63 | $(NIX_BUILD) flask -o result-flask 64 | 65 | 66 | httpie: 67 | cd httpie/ && \ 68 | $(PYPI2NIX) -v \ 69 | -V $(PY3) \ 70 | -O ../overrides.nix \ 71 | -E gcc \ 72 | -E openssl \ 73 | -E libffi \ 74 | -E kerberos \ 75 | -s setuptools-scm \ 76 | -r requirements.txt 77 | $(NIX_BUILD) httpie -o result-httpie 78 | 79 | 80 | openstackclient: 81 | cd openstackclient/ && \ 82 | $(PYPI2NIX) -v \ 83 | -V $(PY2) \ 84 | -O ../overrides.nix \ 85 | -E which \ 86 | -E libffi \ 87 | -E openssl.dev \ 88 | -s vcversioner \ 89 | -s pbr \ 90 | -e simplejson==3.16.0 \ 91 | -r requirements.txt 92 | $(NIX_BUILD) openstackclient -o result-openstackclient 93 | 94 | 95 | pelican: 96 | cd pelican/ && \ 97 | $(PYPI2NIX) -v \ 98 | -V $(PY3) \ 99 | -O ../overrides.nix \ 100 | -s setuptools-scm \ 101 | -r requirements.txt 102 | $(NIX_BUILD) pelican -o result-pelican 103 | 104 | 105 | pykube: 106 | cd pykube/ && \ 107 | $(PYPI2NIX) -v \ 108 | -V $(PY3) \ 109 | -r requirements.txt \ 110 | -O ../overrides.nix 111 | $(NIX_BUILD) pykube -o result-pykube 112 | 113 | 114 | pyramid: 115 | cd pyramid/ && \ 116 | $(PYPI2NIX) -v \ 117 | -V $(PY3) \ 118 | -O ../overrides.nix \ 119 | -s pytest-runner \ 120 | -s setuptools-scm \ 121 | -s versiontools \ 122 | -r requirements.txt 123 | $(NIX_BUILD) pyramid -o result-pyramid 124 | 125 | pypiserver: 126 | cd pypiserver/ && \ 127 | $(PYPI2NIX) -v \ 128 | -V $(PY3) \ 129 | -O ../overrides.nix \ 130 | -s setuptools-git \ 131 | -r requirements.txt 132 | $(NIX_BUILD) pypiserver -o result-pypiserver 133 | 134 | 135 | pytest: 136 | cd pytest/ && \ 137 | $(PYPI2NIX) -v \ 138 | -V $(PY3) \ 139 | -O ../overrides.nix \ 140 | -s setuptools-scm \ 141 | -r requirements.txt 142 | $(NIX_BUILD) pytest -o result-pytest 143 | 144 | 145 | science: 146 | cd science/ && \ 147 | $(PYPI2NIX) -v \ 148 | -V $(PY3) \ 149 | -O ../overrides.nix \ 150 | -E gfortran \ 151 | -E blas \ 152 | -E pkgconfig \ 153 | -E freetype.dev \ 154 | -E libpng \ 155 | -E agg \ 156 | -s numpy \ 157 | -s setuptools-scm \ 158 | -r requirements.txt 159 | $(NIX_BUILD) science -o result-science 160 | 161 | 162 | sphinx: 163 | cd sphinx/ && \ 164 | $(PYPI2NIX) -v \ 165 | -V $(PY3) \ 166 | -O ../overrides.nix \ 167 | -E libffi \ 168 | -E openssl.dev \ 169 | -r requirements.txt 170 | $(NIX_BUILD) sphinx -o result-sphinx 171 | 172 | 173 | .PHONY: \ 174 | attrs \ 175 | django \ 176 | flake8 \ 177 | flask \ 178 | httpie \ 179 | openstackclient \ 180 | pelican \ 181 | pykube \ 182 | pypiserver \ 183 | pyramid \ 184 | pytest \ 185 | science \ 186 | sphinx 187 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | Python collections of Nix Expressions for various projects 2 | ========================================================== 3 | 4 | Aim of ``nixpkgs-python`` is to automate the process of generating Nix 5 | expressions for python related projects. The same contribution rules apply as 6 | for ``nixpkgs`` (fork, add new python collection and send PR). 7 | 8 | 9 | Usage 10 | ----- 11 | 12 | TODO: once flask collection is finished add how to use collection with existing 13 | ``nixpkgs``. 14 | 15 | 16 | Current collections 17 | ------------------- 18 | 19 | attrs 20 | ^^^^^ 21 | 22 | :maintainers: `seppeljordan`_ 23 | 24 | This is a small collection of attrs_ and its test dependencies. It is 25 | its own collection to check for circular dependencies with pytest. 26 | 27 | Flake8 28 | ^^^^^^ 29 | 30 | :maintainers: `seppeljordan`_ 31 | 32 | This is a collection of Flake8_ and its plugins. 33 | 34 | Flask 35 | ^^^^^ 36 | 37 | :maintainers: `garbas`_ 38 | 39 | This is a collections of Flask_ micro framework and its extensions. 40 | 41 | 42 | Pelican 43 | ^^^^^^^ 44 | 45 | :maintainers: `garbas`_ 46 | 47 | This is a collections of Pelican_ and Pelican extensions packages. 48 | 49 | 50 | Science 51 | ^^^^^^^^ 52 | 53 | :maintainers: ??? (Looking for maintainer) 54 | 55 | This is a collections of science related packages. 56 | 57 | 58 | 59 | Django 60 | ^^^^^^ 61 | 62 | :maintainers: ??? (Looking for maintainer) 63 | 64 | This is a collections of Django_ framework and its extensions. 65 | 66 | 67 | Pyramid 68 | ^^^^^^^ 69 | 70 | :maintainers: ??? (Looking for maintainer) 71 | 72 | This is a collections of Pyramid_ framework and its extensions. 73 | 74 | pykube 75 | ^^^^^^ 76 | 77 | :maintainers: seppeljordan_ 78 | 79 | This is pykube_ and its dependencies as a package set. 80 | 81 | pypiserver 82 | ^^^^^^^^^^ 83 | 84 | :maintainers: seppeljordan_ 85 | 86 | Package set containing pypiserver_ and its dependencies. 87 | 88 | pytest 89 | ^^^^^^ 90 | 91 | :maintainers: seppeljordan_ 92 | 93 | Package set containing pytest and some of its plugins. 94 | 95 | Sphinx 96 | ^^^^^^ 97 | 98 | :maintainers: seppeljordan_ 99 | 100 | Package set containing Sphinx and some of its extension. 101 | 102 | HTTPie 103 | ^^^^^^ 104 | 105 | :maintainers: garbas_ 106 | 107 | Package set containing httpie and some of its plugins. 108 | 109 | 110 | pypi2nix 111 | ^^^^^^^^ 112 | 113 | :maintainers: seppeljordan_ 114 | 115 | Package set containing pypi2nix_ and its dependencies 116 | 117 | 118 | openstackclient 119 | ^^^^^^^^^^^^^^^ 120 | 121 | :maintainers: lewo_ 122 | 123 | Package set containing openstackclient and its dependencies 124 | 125 | 126 | .. _Flak8: https://gitlab.com/pycqa/flake8 127 | .. _Flask: http://flask.pocoo.org 128 | .. _HomeAssistant: http://home-assistant.io 129 | .. _Pelican: http://blog.getpelican.com 130 | .. _Pyramid: https://trypyramid.com 131 | .. _Django: https://www.djangoproject.com 132 | .. _PyPi: https://pypi.python.org 133 | .. _garbas: https://github.com/garbas 134 | .. _seppeljordan: https://github.com/seppeljordan 135 | .. _pykube: https://github.com/kelproject/pykube 136 | .. _pypiserver: https://github.com/pypiserver/pypiserver 137 | .. _pypi2nix: https://github.com/garbas/pypi2nix 138 | .. _lewo: https://github.com/nlewo 139 | -------------------------------------------------------------------------------- /attrs/requirements.nix: -------------------------------------------------------------------------------- 1 | # generated using pypi2nix tool (version: 2.0.0) 2 | # See more at: https://github.com/garbas/pypi2nix 3 | # 4 | # COMMAND: 5 | # pypi2nix -W https://travis.garbas.si/wheels_cache/ -v -V 3.7 -O ../overrides.nix -r requirements.txt 6 | # 7 | 8 | { pkgs ? import {}, 9 | overrides ? ({ pkgs, python }: self: super: {}) 10 | }: 11 | 12 | let 13 | 14 | inherit (pkgs) makeWrapper; 15 | inherit (pkgs.stdenv.lib) fix' extends inNixShell; 16 | 17 | pythonPackages = 18 | import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 19 | inherit pkgs; 20 | inherit (pkgs) stdenv; 21 | python = pkgs.python37; 22 | # patching pip so it does not try to remove files when running nix-shell 23 | overrides = 24 | self: super: { 25 | bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 26 | patchPhase = old.patchPhase + '' 27 | if [ -e $out/${pkgs.python37.sitePackages}/pip/req/req_install.py ]; then 28 | sed -i \ 29 | -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" \ 30 | -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" \ 31 | $out/${pkgs.python37.sitePackages}/pip/req/req_install.py 32 | fi 33 | ''; 34 | }); 35 | }; 36 | }; 37 | 38 | commonBuildInputs = []; 39 | commonDoCheck = false; 40 | 41 | withPackages = pkgs': 42 | let 43 | pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 44 | interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage { 45 | name = "python37-interpreter"; 46 | buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs); 47 | buildCommand = '' 48 | mkdir -p $out/bin 49 | ln -s ${pythonPackages.python.interpreter} \ 50 | $out/bin/${pythonPackages.python.executable} 51 | for dep in ${builtins.concatStringsSep " " 52 | (selectPkgsFn pkgs)}; do 53 | if [ -d "$dep/bin" ]; then 54 | for prog in "$dep/bin/"*; do 55 | if [ -x "$prog" ] && [ -f "$prog" ]; then 56 | ln -s $prog $out/bin/`basename $prog` 57 | fi 58 | done 59 | fi 60 | done 61 | for prog in "$out/bin/"*; do 62 | wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 63 | done 64 | pushd $out/bin 65 | ln -s ${pythonPackages.python.executable} python 66 | ln -s ${pythonPackages.python.executable} \ 67 | python3 68 | popd 69 | ''; 70 | passthru.interpreter = pythonPackages.python; 71 | }; 72 | 73 | interpreter = interpreterWithPackages builtins.attrValues; 74 | in { 75 | __old = pythonPackages; 76 | inherit interpreter; 77 | inherit interpreterWithPackages; 78 | mkDerivation = pythonPackages.buildPythonPackage; 79 | packages = pkgs; 80 | overrideDerivation = drv: f: 81 | pythonPackages.buildPythonPackage ( 82 | drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; } 83 | ); 84 | withPackages = pkgs'': 85 | withPackages (pkgs // pkgs''); 86 | }; 87 | 88 | python = withPackages {}; 89 | 90 | generated = self: { 91 | "attrs" = python.mkDerivation { 92 | name = "attrs-18.2.0"; 93 | src = pkgs.fetchurl { 94 | url = "https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf/attrs-18.2.0.tar.gz"; 95 | sha256 = "10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69"; 96 | }; 97 | doCheck = commonDoCheck; 98 | buildInputs = commonBuildInputs ++ [ ]; 99 | propagatedBuildInputs = [ ]; 100 | meta = with pkgs.stdenv.lib; { 101 | homepage = "https://www.attrs.org/"; 102 | license = licenses.mit; 103 | description = "Classes Without Boilerplate"; 104 | }; 105 | }; 106 | }; 107 | localOverridesFile = ./requirements_override.nix; 108 | localOverrides = import localOverridesFile { inherit pkgs python; }; 109 | commonOverrides = [ 110 | (import ../overrides.nix { inherit pkgs python ; }) 111 | ]; 112 | paramOverrides = [ 113 | (overrides { inherit pkgs python; }) 114 | ]; 115 | allOverrides = 116 | (if (builtins.pathExists localOverridesFile) 117 | then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides; 118 | 119 | in python.withPackages 120 | (fix' (pkgs.lib.fold 121 | extends 122 | generated 123 | allOverrides 124 | ) 125 | ) -------------------------------------------------------------------------------- /attrs/requirements.txt: -------------------------------------------------------------------------------- 1 | attrs -------------------------------------------------------------------------------- /attrs/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | attrs==18.2.0 2 | -------------------------------------------------------------------------------- /default.nix: -------------------------------------------------------------------------------- 1 | { pkgs ? import {} 2 | }: 3 | 4 | let 5 | 6 | createSet = meta: 7 | (import (./. + "/${meta.name}/requirements.nix") { inherit pkgs; }) // { __meta__ = meta; }; 8 | 9 | createSets = sets: 10 | builtins.listToAttrs 11 | (map (x: { inherit (x) name; 12 | value = createSet x; 13 | } 14 | ) sets); 15 | 16 | maintainers = { 17 | unknown = 18 | { name = "??? (Looking for maintainer)"; 19 | url = "https://github.com/garbas/nixpkgs-python/issues/new"; 20 | }; 21 | garbas = 22 | { name = "Rok Garbas"; 23 | url = "https://twitter.com/garbas"; 24 | }; 25 | lewo = 26 | { name = "Antoine Eiche"; 27 | url = "https://github.com/nlewo"; 28 | }; 29 | seppeljordan = 30 | { name = "Sebastian Jordan"; 31 | url = "https://github.com/seppeljordan"; 32 | }; 33 | sorki = 34 | { name = "Richard Marko"; 35 | url = "https://github.com/sorki"; 36 | }; 37 | }; 38 | 39 | in createSets [ 40 | { name = "attrs"; 41 | maintainers = [ maintainers.seppeljordan ]; 42 | description = "python-attrs"; 43 | } 44 | 45 | { name = "django"; 46 | maintainers = [ maintainers.unknown ]; 47 | description = "Django framework and its extensions."; 48 | } 49 | 50 | { name = "flake8"; 51 | maintainers = [ maintainers.seppeljordan ]; 52 | description = "the modular source code checker: pep8, pyflakes and co"; 53 | } 54 | 55 | { name = "flask"; 56 | maintainers = [ maintainers.garbas ]; 57 | description = "Flask framework and its extensions."; 58 | } 59 | 60 | { name = "pelican"; 61 | maintainers = [ maintainers.garbas ]; 62 | description = "Pelican static blog generator and its extensions."; 63 | } 64 | 65 | { name = "pyramid"; 66 | maintainers = [ maintainers.unknown ]; 67 | description = "Pyramid framework and its extensions."; 68 | } 69 | 70 | { name = "science"; 71 | maintainers = [ maintainers.unknown ]; 72 | description = "Science related python packages."; 73 | } 74 | 75 | { name = "openstackclient"; 76 | maintainers = [ maintainers.lewo ]; 77 | description = "Openstaclient client packages."; 78 | } 79 | 80 | { name = "pykube"; 81 | maintainers = [ maintainers.seppeljordan ]; 82 | description = "Python client library for Kubernetes"; 83 | } 84 | 85 | { name = "pypi2nix"; 86 | maintainers = [ maintainers.seppeljordan ]; 87 | description = "Tool to generate nix expressions from python packages"; 88 | } 89 | 90 | { name = "pypiserver"; 91 | maintainers = [ maintainers.seppeljordan ]; 92 | description = "Python package server compatible with pip"; 93 | } 94 | { name = "pytest"; 95 | maintainers = [ maintainers.seppeljordan ]; 96 | description = "A python test engine"; 97 | } 98 | { name = "sphinx"; 99 | maintainers = [ maintainers.seppeljordan ]; 100 | description = "Python documentation generator"; 101 | } 102 | { name = "httpie"; 103 | maintainers = [ maintainers.garbas ]; 104 | description = "HTTPie - a CLI, cURL-like tool for humans."; 105 | } 106 | 107 | ] 108 | -------------------------------------------------------------------------------- /django/requirements.nix: -------------------------------------------------------------------------------- 1 | # generated using pypi2nix tool (version: 2.0.0) 2 | # See more at: https://github.com/garbas/pypi2nix 3 | # 4 | # COMMAND: 5 | # pypi2nix -W https://travis.garbas.si/wheels_cache/ -v -V 3.7 -O ../overrides.nix -r requirements.txt 6 | # 7 | 8 | { pkgs ? import {}, 9 | overrides ? ({ pkgs, python }: self: super: {}) 10 | }: 11 | 12 | let 13 | 14 | inherit (pkgs) makeWrapper; 15 | inherit (pkgs.stdenv.lib) fix' extends inNixShell; 16 | 17 | pythonPackages = 18 | import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 19 | inherit pkgs; 20 | inherit (pkgs) stdenv; 21 | python = pkgs.python37; 22 | # patching pip so it does not try to remove files when running nix-shell 23 | overrides = 24 | self: super: { 25 | bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 26 | patchPhase = old.patchPhase + '' 27 | if [ -e $out/${pkgs.python37.sitePackages}/pip/req/req_install.py ]; then 28 | sed -i \ 29 | -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" \ 30 | -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" \ 31 | $out/${pkgs.python37.sitePackages}/pip/req/req_install.py 32 | fi 33 | ''; 34 | }); 35 | }; 36 | }; 37 | 38 | commonBuildInputs = []; 39 | commonDoCheck = false; 40 | 41 | withPackages = pkgs': 42 | let 43 | pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 44 | interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage { 45 | name = "python37-interpreter"; 46 | buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs); 47 | buildCommand = '' 48 | mkdir -p $out/bin 49 | ln -s ${pythonPackages.python.interpreter} \ 50 | $out/bin/${pythonPackages.python.executable} 51 | for dep in ${builtins.concatStringsSep " " 52 | (selectPkgsFn pkgs)}; do 53 | if [ -d "$dep/bin" ]; then 54 | for prog in "$dep/bin/"*; do 55 | if [ -x "$prog" ] && [ -f "$prog" ]; then 56 | ln -s $prog $out/bin/`basename $prog` 57 | fi 58 | done 59 | fi 60 | done 61 | for prog in "$out/bin/"*; do 62 | wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 63 | done 64 | pushd $out/bin 65 | ln -s ${pythonPackages.python.executable} python 66 | ln -s ${pythonPackages.python.executable} \ 67 | python3 68 | popd 69 | ''; 70 | passthru.interpreter = pythonPackages.python; 71 | }; 72 | 73 | interpreter = interpreterWithPackages builtins.attrValues; 74 | in { 75 | __old = pythonPackages; 76 | inherit interpreter; 77 | inherit interpreterWithPackages; 78 | mkDerivation = pythonPackages.buildPythonPackage; 79 | packages = pkgs; 80 | overrideDerivation = drv: f: 81 | pythonPackages.buildPythonPackage ( 82 | drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; } 83 | ); 84 | withPackages = pkgs'': 85 | withPackages (pkgs // pkgs''); 86 | }; 87 | 88 | python = withPackages {}; 89 | 90 | generated = self: { 91 | "Django" = python.mkDerivation { 92 | name = "Django-2.1.4"; 93 | src = pkgs.fetchurl { 94 | url = "https://files.pythonhosted.org/packages/83/f7/4939b60c4127d5f49ccb570e34f4c59ecc222949220234a88e4f363f1456/Django-2.1.4.tar.gz"; 95 | sha256 = "068d51054083d06ceb32ce02b7203f1854256047a0d58682677dd4f81bceabd7"; 96 | }; 97 | doCheck = commonDoCheck; 98 | buildInputs = commonBuildInputs ++ [ ]; 99 | propagatedBuildInputs = [ 100 | self."pytz" 101 | ]; 102 | meta = with pkgs.stdenv.lib; { 103 | homepage = "https://www.djangoproject.com/"; 104 | license = licenses.bsdOriginal; 105 | description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design."; 106 | }; 107 | }; 108 | 109 | "pytz" = python.mkDerivation { 110 | name = "pytz-2018.7"; 111 | src = pkgs.fetchurl { 112 | url = "https://files.pythonhosted.org/packages/cd/71/ae99fc3df1b1c5267d37ef2c51b7d79c44ba8a5e37b48e3ca93b4d74d98b/pytz-2018.7.tar.gz"; 113 | sha256 = "31cb35c89bd7d333cd32c5f278fca91b523b0834369e757f4c5641ea252236ca"; 114 | }; 115 | doCheck = commonDoCheck; 116 | buildInputs = commonBuildInputs ++ [ ]; 117 | propagatedBuildInputs = [ ]; 118 | meta = with pkgs.stdenv.lib; { 119 | homepage = "http://pythonhosted.org/pytz"; 120 | license = licenses.mit; 121 | description = "World timezone definitions, modern and historical"; 122 | }; 123 | }; 124 | }; 125 | localOverridesFile = ./requirements_override.nix; 126 | localOverrides = import localOverridesFile { inherit pkgs python; }; 127 | commonOverrides = [ 128 | (import ../overrides.nix { inherit pkgs python ; }) 129 | ]; 130 | paramOverrides = [ 131 | (overrides { inherit pkgs python; }) 132 | ]; 133 | allOverrides = 134 | (if (builtins.pathExists localOverridesFile) 135 | then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides; 136 | 137 | in python.withPackages 138 | (fix' (pkgs.lib.fold 139 | extends 140 | generated 141 | allOverrides 142 | ) 143 | ) -------------------------------------------------------------------------------- /django/requirements.txt: -------------------------------------------------------------------------------- 1 | Django 2 | -------------------------------------------------------------------------------- /django/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | Django==2.1.4 2 | pytz==2018.7 3 | -------------------------------------------------------------------------------- /flake8/requirements.txt: -------------------------------------------------------------------------------- 1 | flake8 2 | flake8-author 3 | flake8-blind-except 4 | #flake8-bugbear 5 | #https://github.com/PyCQA/flake8-bugbear/pull/30 6 | https://github.com/garbas/flake8-bugbear/archive/ebeb142d225ba9476dd22b7c4a6b9b186b5a5fa9.zip#egg=flake8-bugbear 7 | flake8-builtins 8 | flake8-chart 9 | flake8-codeclimate 10 | flake8-coding 11 | flake8-colors 12 | flake8-commas 13 | flake8-comprehensions 14 | flake8-config-4catalyzer 15 | flake8-copyright 16 | flake8-debugger 17 | flake8-deprecated 18 | flake8-diff 19 | flake8-docstrings 20 | flake8-double-quotes 21 | flake8-exact-pin 22 | flake8-format-ansi 23 | flake8-formatter-abspath 24 | flake8-future 25 | flake8-future-import 26 | flake8-graphql 27 | flake8-html 28 | flake8-immediate 29 | flake8-import-order 30 | flake8-import-order-fuzeman 31 | flake8-imports 32 | flake8-isort 33 | flake8-junit-report 34 | flake8-libfaketime 35 | flake8-logging-format 36 | flake8-meiqia 37 | flake8-mock 38 | flake8-module-imports 39 | flake8-mutable 40 | flake8-mypy 41 | flake8-network-timeout 42 | flake8-ownership 43 | flake8-pep257 44 | flake8-pep3101 45 | flake8-plone-api 46 | flake8-plone-hasattr 47 | flake8-polyfill 48 | flake8-print 49 | flake8-pyi 50 | flake8-pytest 51 | flake8-quotes 52 | flake8-quotes2 53 | flake8-regex 54 | flake8-respect-noqa 55 | flake8-rst-docstrings 56 | flake8-snippets 57 | flake8-sorted-keys 58 | flake8-SQL 59 | flake8-string-format 60 | flake8-tidy-imports 61 | flake8-todo 62 | flake8-trailing-commas 63 | flake8-translation-activate 64 | flake8-ugettext-alias 65 | flake8-user-model 66 | flake8_doubles 67 | flake8_strict 68 | flake8_truveris 69 | flake8_tuple 70 | 71 | # testing 72 | tox 73 | setuptools_scm 74 | -------------------------------------------------------------------------------- /flake8/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | appdirs==1.4.3 2 | attrs==18.2.0 3 | black==18.9b0 4 | blessings==1.7 5 | Click==7.0 6 | docutils==0.14 7 | enum-compat==0.0.2 8 | filelock==3.0.10 9 | flake8==3.6.0 10 | flake8-author==1.1.4 11 | flake8-blind-except==0.1.1 12 | flake8-bugbear==17.12.0 13 | flake8-builtins==1.4.1 14 | flake8-chart==0.1.5 15 | flake8-codeclimate==0.2.0 16 | flake8-coding==1.3.1 17 | flake8-colors==0.1.6 18 | flake8-commas==2.0.0 19 | flake8-comprehensions==1.4.1 20 | flake8-config-4catalyzer==0.2.1 21 | flake8-copyright==0.2.2 22 | flake8-debugger==3.1.0 23 | flake8-deprecated==1.3 24 | flake8-diff==0.2.2 25 | flake8-docstrings==1.3.0 26 | flake8-double-quotes==0.0.1 27 | flake8-doubles==0.3 28 | flake8-exact-pin==0.0.1 29 | flake8-format-ansi==0.1.0 30 | flake8-formatter-abspath==1.0.1 31 | flake8-future==0.2 32 | flake8-future-import==0.4.5 33 | flake8-graphql==0.2.5 34 | flake8-html==0.4.0 35 | flake8-immediate==0.2 36 | flake8-import-order==0.18 37 | flake8-import-order-fuzeman==1.7.0 38 | flake8-imports==0.1.1 39 | flake8-isort==2.6.0 40 | flake8-junit-report==2.1.0 41 | flake8-libfaketime==1.1 42 | flake8-logging-format==0.5.0 43 | flake8-meiqia==0.2.0 44 | flake8-mock==0.3 45 | flake8-module-imports==1.1 46 | flake8-mutable==1.2.0 47 | flake8-mypy==17.8.0 48 | flake8-network-timeout==0.2.0 49 | flake8-ownership==2.0.0 50 | flake8-pep257==1.0.5 51 | flake8-pep3101==1.2.1 52 | flake8-plone-api==1.4 53 | flake8-plone-hasattr==0.2.post0 54 | flake8-polyfill==1.0.2 55 | flake8-print==3.1.0 56 | flake8-pyi==18.3.1 57 | flake8-pytest==1.3 58 | flake8-quotes==1.0.0 59 | flake8-quotes2==0.0.1 60 | flake8-regex==0.3 61 | flake8-respect-noqa==0.3 62 | flake8-rst-docstrings==0.0.8 63 | flake8-snippets==0.2 64 | flake8-sorted-keys==0.2.0 65 | flake8-SQL==0.3.0 66 | flake8-strict==0.2.1 67 | flake8-string-format==0.2.3 68 | flake8-tidy-imports==1.1.0 69 | flake8-todo==0.7 70 | flake8-trailing-commas==0.1.3 71 | flake8-translation-activate==1.0.2 72 | flake8-truveris==0.3.4 73 | flake8-tuple==0.2.13 74 | flake8-ugettext-alias==1.1 75 | flake8-user-model==1.1 76 | graphql-core==2.1 77 | isort==4.3.4 78 | Jinja2==2.10 79 | MarkupSafe==1.1.0 80 | mccabe==0.6.1 81 | mypy==0.650 82 | mypy-extensions==0.4.1 83 | nose==1.3.7 84 | pep257==0.7.0 85 | pep8==1.7.1 86 | pluggy==0.8.0 87 | promise==2.2.1 88 | py==1.7.0 89 | pycodestyle==2.4.0 90 | pydocstyle==3.0.0 91 | pyflakes==2.0.0 92 | pygal==2.4.0 93 | Pygments==2.3.0 94 | pytest-runner==4.2 95 | restructuredtext-lint==1.2.1 96 | Rx==1.6.1 97 | setuptools-scm==3.1.0 98 | six==1.12.0 99 | snowballstemmer==1.2.1 100 | sqlparse==0.2.4 101 | testfixtures==6.3.0 102 | toml==0.10.0 103 | tox==3.5.3 104 | typed-ast==1.1.0 105 | virtualenv==16.1.0 106 | -------------------------------------------------------------------------------- /flask/requirements.nix: -------------------------------------------------------------------------------- 1 | # generated using pypi2nix tool (version: 2.0.0) 2 | # See more at: https://github.com/garbas/pypi2nix 3 | # 4 | # COMMAND: 5 | # pypi2nix -W https://console.cloud.google.com/storage/browser/nixpkgs-python-wheels/ -v -V 3.7 -s vcversioner -s flake8 -s pytest-runner -s setuptools-scm -s six -r requirements.txt -O ../overrides.nix 6 | # 7 | 8 | { pkgs ? import {}, 9 | overrides ? ({ pkgs, python }: self: super: {}) 10 | }: 11 | 12 | let 13 | 14 | inherit (pkgs) makeWrapper; 15 | inherit (pkgs.stdenv.lib) fix' extends inNixShell; 16 | 17 | pythonPackages = 18 | import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 19 | inherit pkgs; 20 | inherit (pkgs) stdenv; 21 | python = pkgs.python37; 22 | # patching pip so it does not try to remove files when running nix-shell 23 | overrides = 24 | self: super: { 25 | bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 26 | patchPhase = old.patchPhase + '' 27 | if [ -e $out/${pkgs.python37.sitePackages}/pip/req/req_install.py ]; then 28 | sed -i \ 29 | -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" \ 30 | -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" \ 31 | $out/${pkgs.python37.sitePackages}/pip/req/req_install.py 32 | fi 33 | ''; 34 | }); 35 | }; 36 | }; 37 | 38 | commonBuildInputs = []; 39 | commonDoCheck = false; 40 | 41 | withPackages = pkgs': 42 | let 43 | pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 44 | interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage { 45 | name = "python37-interpreter"; 46 | buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs); 47 | buildCommand = '' 48 | mkdir -p $out/bin 49 | ln -s ${pythonPackages.python.interpreter} \ 50 | $out/bin/${pythonPackages.python.executable} 51 | for dep in ${builtins.concatStringsSep " " 52 | (selectPkgsFn pkgs)}; do 53 | if [ -d "$dep/bin" ]; then 54 | for prog in "$dep/bin/"*; do 55 | if [ -x "$prog" ] && [ -f "$prog" ]; then 56 | ln -s $prog $out/bin/`basename $prog` 57 | fi 58 | done 59 | fi 60 | done 61 | for prog in "$out/bin/"*; do 62 | wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 63 | done 64 | pushd $out/bin 65 | ln -s ${pythonPackages.python.executable} python 66 | ln -s ${pythonPackages.python.executable} \ 67 | python3 68 | popd 69 | ''; 70 | passthru.interpreter = pythonPackages.python; 71 | }; 72 | 73 | interpreter = interpreterWithPackages builtins.attrValues; 74 | in { 75 | __old = pythonPackages; 76 | inherit interpreter; 77 | inherit interpreterWithPackages; 78 | mkDerivation = pythonPackages.buildPythonPackage; 79 | packages = pkgs; 80 | overrideDerivation = drv: f: 81 | pythonPackages.buildPythonPackage ( 82 | drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; } 83 | ); 84 | withPackages = pkgs'': 85 | withPackages (pkgs // pkgs''); 86 | }; 87 | 88 | python = withPackages {}; 89 | 90 | generated = self: { 91 | "Click" = python.mkDerivation { 92 | name = "Click-7.0"; 93 | src = pkgs.fetchurl { 94 | url = "https://files.pythonhosted.org/packages/f8/5c/f60e9d8a1e77005f664b76ff8aeaee5bc05d0a91798afd7f53fc998dbc47/Click-7.0.tar.gz"; 95 | sha256 = "5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"; 96 | }; 97 | doCheck = commonDoCheck; 98 | buildInputs = commonBuildInputs ++ [ ]; 99 | propagatedBuildInputs = [ ]; 100 | meta = with pkgs.stdenv.lib; { 101 | homepage = "https://palletsprojects.com/p/click/"; 102 | license = licenses.bsdOriginal; 103 | description = "Composable command line interface toolkit"; 104 | }; 105 | }; 106 | 107 | "Flask" = python.mkDerivation { 108 | name = "Flask-1.0.2"; 109 | src = pkgs.fetchurl { 110 | url = "https://files.pythonhosted.org/packages/4b/12/c1fbf4971fda0e4de05565694c9f0c92646223cff53f15b6eb248a310a62/Flask-1.0.2.tar.gz"; 111 | sha256 = "2271c0070dbcb5275fad4a82e29f23ab92682dc45f9dfbc22c02ba9b9322ce48"; 112 | }; 113 | doCheck = commonDoCheck; 114 | buildInputs = commonBuildInputs ++ [ ]; 115 | propagatedBuildInputs = [ 116 | self."Click" 117 | self."Jinja2" 118 | self."Werkzeug" 119 | self."itsdangerous" 120 | ]; 121 | meta = with pkgs.stdenv.lib; { 122 | homepage = "https://www.palletsprojects.com/p/flask/"; 123 | license = licenses.bsdOriginal; 124 | description = "A simple framework for building complex web applications."; 125 | }; 126 | }; 127 | 128 | "Flask-Cache" = python.mkDerivation { 129 | name = "Flask-Cache-0.13.1"; 130 | src = pkgs.fetchurl { 131 | url = "https://files.pythonhosted.org/packages/91/c4/f71095437bd4b691c63f240e72a20c57e2c216085cbc271f79665885d3da/Flask-Cache-0.13.1.tar.gz"; 132 | sha256 = "90126ca9bc063854ef8ee276e95d38b2b4ec8e45fd77d5751d37971ee27c7ef4"; 133 | }; 134 | doCheck = commonDoCheck; 135 | buildInputs = commonBuildInputs ++ [ ]; 136 | propagatedBuildInputs = [ 137 | self."Flask" 138 | ]; 139 | meta = with pkgs.stdenv.lib; { 140 | homepage = "http://github.com/thadeusb/flask-cache"; 141 | license = licenses.bsdOriginal; 142 | description = "Adds cache support to your Flask application"; 143 | }; 144 | }; 145 | 146 | "Flask-Cors" = python.mkDerivation { 147 | name = "Flask-Cors-3.0.7"; 148 | src = pkgs.fetchurl { 149 | url = "https://files.pythonhosted.org/packages/45/b4/1810eb0c69d8432417dd25e3dd581bf0619d5c4f1b0c9f529f392d4aed31/Flask-Cors-3.0.7.tar.gz"; 150 | sha256 = "7e90bf225fdf163d11b84b59fb17594d0580a16b97ab4e1146b1fb2737c1cfec"; 151 | }; 152 | doCheck = commonDoCheck; 153 | buildInputs = commonBuildInputs ++ [ ]; 154 | propagatedBuildInputs = [ 155 | self."Flask" 156 | self."six" 157 | ]; 158 | meta = with pkgs.stdenv.lib; { 159 | homepage = "https://github.com/corydolphin/flask-cors"; 160 | license = licenses.mit; 161 | description = "A Flask extension adding a decorator for CORS support"; 162 | }; 163 | }; 164 | 165 | "Flask-Login" = python.mkDerivation { 166 | name = "Flask-Login-0.4.1"; 167 | src = pkgs.fetchurl { 168 | url = "https://files.pythonhosted.org/packages/c1/ff/bd9a4d2d81bf0c07d9e53e8cd3d675c56553719bbefd372df69bf1b3c1e4/Flask-Login-0.4.1.tar.gz"; 169 | sha256 = "c815c1ac7b3e35e2081685e389a665f2c74d7e077cb93cecabaea352da4752ec"; 170 | }; 171 | doCheck = commonDoCheck; 172 | buildInputs = commonBuildInputs ++ [ ]; 173 | propagatedBuildInputs = [ 174 | self."Flask" 175 | ]; 176 | meta = with pkgs.stdenv.lib; { 177 | homepage = "https://github.com/maxcountryman/flask-login"; 178 | license = licenses.mit; 179 | description = "User session management for Flask"; 180 | }; 181 | }; 182 | 183 | "Flask-SQLAlchemy" = python.mkDerivation { 184 | name = "Flask-SQLAlchemy-2.3.2"; 185 | src = pkgs.fetchurl { 186 | url = "https://files.pythonhosted.org/packages/3a/66/f5ace276517c075f102457dd2f7d8645b033758f9c6effb4e0970a90fec1/Flask-SQLAlchemy-2.3.2.tar.gz"; 187 | sha256 = "5971b9852b5888655f11db634e87725a9031e170f37c0ce7851cf83497f56e53"; 188 | }; 189 | doCheck = commonDoCheck; 190 | buildInputs = commonBuildInputs ++ [ ]; 191 | propagatedBuildInputs = [ 192 | self."Flask" 193 | self."SQLAlchemy" 194 | ]; 195 | meta = with pkgs.stdenv.lib; { 196 | homepage = "http://github.com/mitsuhiko/flask-sqlalchemy"; 197 | license = licenses.bsdOriginal; 198 | description = "Adds SQLAlchemy support to your Flask application"; 199 | }; 200 | }; 201 | 202 | "Jinja2" = python.mkDerivation { 203 | name = "Jinja2-2.10"; 204 | src = pkgs.fetchurl { 205 | url = "https://files.pythonhosted.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47/Jinja2-2.10.tar.gz"; 206 | sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"; 207 | }; 208 | doCheck = commonDoCheck; 209 | buildInputs = commonBuildInputs ++ [ ]; 210 | propagatedBuildInputs = [ 211 | self."MarkupSafe" 212 | ]; 213 | meta = with pkgs.stdenv.lib; { 214 | homepage = "http://jinja.pocoo.org/"; 215 | license = licenses.bsdOriginal; 216 | description = "A small but fast and easy to use stand-alone template engine written in pure python."; 217 | }; 218 | }; 219 | 220 | "MarkupSafe" = python.mkDerivation { 221 | name = "MarkupSafe-1.1.0"; 222 | src = pkgs.fetchurl { 223 | url = "https://files.pythonhosted.org/packages/ac/7e/1b4c2e05809a4414ebce0892fe1e32c14ace86ca7d50c70f00979ca9b3a3/MarkupSafe-1.1.0.tar.gz"; 224 | sha256 = "4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3"; 225 | }; 226 | doCheck = commonDoCheck; 227 | buildInputs = commonBuildInputs ++ [ ]; 228 | propagatedBuildInputs = [ ]; 229 | meta = with pkgs.stdenv.lib; { 230 | homepage = "https://www.palletsprojects.com/p/markupsafe/"; 231 | license = licenses.bsdOriginal; 232 | description = "Safely add untrusted strings to HTML/XML markup."; 233 | }; 234 | }; 235 | 236 | "PyYAML" = python.mkDerivation { 237 | name = "PyYAML-3.13"; 238 | src = pkgs.fetchurl { 239 | url = "https://files.pythonhosted.org/packages/9e/a3/1d13970c3f36777c583f136c136f804d70f500168edc1edea6daa7200769/PyYAML-3.13.tar.gz"; 240 | sha256 = "3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf"; 241 | }; 242 | doCheck = commonDoCheck; 243 | buildInputs = commonBuildInputs ++ [ ]; 244 | propagatedBuildInputs = [ ]; 245 | meta = with pkgs.stdenv.lib; { 246 | homepage = "http://pyyaml.org/wiki/PyYAML"; 247 | license = licenses.mit; 248 | description = "YAML parser and emitter for Python"; 249 | }; 250 | }; 251 | 252 | "SQLAlchemy" = python.mkDerivation { 253 | name = "SQLAlchemy-1.2.15"; 254 | src = pkgs.fetchurl { 255 | url = "https://files.pythonhosted.org/packages/0c/7d/769c5fc22c0cdefd097b91cc525b6d8c88bf2afd8b0315b1e7ca088956b4/SQLAlchemy-1.2.15.tar.gz"; 256 | sha256 = "809547455d012734b4252081db1e6b4fc731de2299f3755708c39863625e1c77"; 257 | }; 258 | doCheck = commonDoCheck; 259 | buildInputs = commonBuildInputs ++ [ ]; 260 | propagatedBuildInputs = [ ]; 261 | meta = with pkgs.stdenv.lib; { 262 | homepage = "http://www.sqlalchemy.org"; 263 | license = licenses.mit; 264 | description = "Database Abstraction Library"; 265 | }; 266 | }; 267 | 268 | "Werkzeug" = python.mkDerivation { 269 | name = "Werkzeug-0.14.1"; 270 | src = pkgs.fetchurl { 271 | url = "https://files.pythonhosted.org/packages/9f/08/a3bb1c045ec602dc680906fc0261c267bed6b3bb4609430aff92c3888ec8/Werkzeug-0.14.1.tar.gz"; 272 | sha256 = "c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c"; 273 | }; 274 | doCheck = commonDoCheck; 275 | buildInputs = commonBuildInputs ++ [ ]; 276 | propagatedBuildInputs = [ ]; 277 | meta = with pkgs.stdenv.lib; { 278 | homepage = "https://www.palletsprojects.org/p/werkzeug/"; 279 | license = licenses.bsdOriginal; 280 | description = "The comprehensive WSGI web application library."; 281 | }; 282 | }; 283 | 284 | "certifi" = python.mkDerivation { 285 | name = "certifi-2018.11.29"; 286 | src = pkgs.fetchurl { 287 | url = "https://files.pythonhosted.org/packages/55/54/3ce77783acba5979ce16674fc98b1920d00b01d337cfaaf5db22543505ed/certifi-2018.11.29.tar.gz"; 288 | sha256 = "47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7"; 289 | }; 290 | doCheck = commonDoCheck; 291 | buildInputs = commonBuildInputs ++ [ ]; 292 | propagatedBuildInputs = [ ]; 293 | meta = with pkgs.stdenv.lib; { 294 | homepage = "https://certifi.io/"; 295 | license = licenses.mpl20; 296 | description = "Python package for providing Mozilla's CA Bundle."; 297 | }; 298 | }; 299 | 300 | "chardet" = python.mkDerivation { 301 | name = "chardet-3.0.4"; 302 | src = pkgs.fetchurl { 303 | url = "https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz"; 304 | sha256 = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"; 305 | }; 306 | doCheck = commonDoCheck; 307 | buildInputs = commonBuildInputs ++ [ ]; 308 | propagatedBuildInputs = [ ]; 309 | meta = with pkgs.stdenv.lib; { 310 | homepage = "https://github.com/chardet/chardet"; 311 | license = licenses.lgpl3; 312 | description = "Universal encoding detector for Python 2 and 3"; 313 | }; 314 | }; 315 | 316 | "clickclick" = python.mkDerivation { 317 | name = "clickclick-1.2.2"; 318 | src = pkgs.fetchurl { 319 | url = "https://files.pythonhosted.org/packages/b8/cf/2d1fb0c967616e7cd3a8e6a3aca38bc50b50137d9bc7f46cdb3e6fe03361/clickclick-1.2.2.tar.gz"; 320 | sha256 = "4a890aaa9c3990cfabd446294eb34e3dc89701101ac7b41c1bff85fc210f6d23"; 321 | }; 322 | doCheck = commonDoCheck; 323 | buildInputs = commonBuildInputs ++ [ ]; 324 | propagatedBuildInputs = [ 325 | self."Click" 326 | self."PyYAML" 327 | ]; 328 | meta = with pkgs.stdenv.lib; { 329 | homepage = "https://github.com/zalando/python-clickclick"; 330 | license = licenses.asl20; 331 | description = "Click utility functions"; 332 | }; 333 | }; 334 | 335 | "connexion" = python.mkDerivation { 336 | name = "connexion-2.1.0"; 337 | src = pkgs.fetchurl { 338 | url = "https://files.pythonhosted.org/packages/c1/fb/27f6183af251b9ca1075bbc1d8cf451e69838492805493547e8e6c9e9095/connexion-2.1.0.tar.gz"; 339 | sha256 = "6f0169cc91ff389be628807c751ddd4d8ba79a594a7272c9d7663d243795b323"; 340 | }; 341 | doCheck = commonDoCheck; 342 | buildInputs = commonBuildInputs ++ [ ]; 343 | propagatedBuildInputs = [ 344 | self."Flask" 345 | self."PyYAML" 346 | self."clickclick" 347 | self."inflection" 348 | self."jsonschema" 349 | self."openapi-spec-validator" 350 | self."requests" 351 | self."six" 352 | ]; 353 | meta = with pkgs.stdenv.lib; { 354 | homepage = "https://github.com/zalando/connexion"; 355 | license = licenses.asl20; 356 | description = "Connexion - API first applications with OpenAPI/Swagger and Flask"; 357 | }; 358 | }; 359 | 360 | "flake8" = python.mkDerivation { 361 | name = "flake8-3.6.0"; 362 | src = pkgs.fetchurl { 363 | url = "https://files.pythonhosted.org/packages/d0/27/c0d1274b86a8f71ec1a6e4d4c1cfe3b20d6f95b090ec7545320150952c93/flake8-3.6.0.tar.gz"; 364 | sha256 = "6a35f5b8761f45c5513e3405f110a86bea57982c3b75b766ce7b65217abe1670"; 365 | }; 366 | doCheck = commonDoCheck; 367 | buildInputs = commonBuildInputs ++ [ 368 | self."pytest-runner" 369 | ]; 370 | propagatedBuildInputs = [ 371 | self."mccabe" 372 | self."pycodestyle" 373 | self."pyflakes" 374 | ]; 375 | meta = with pkgs.stdenv.lib; { 376 | homepage = "https://gitlab.com/pycqa/flake8"; 377 | license = licenses.mit; 378 | description = "the modular source code checker: pep8, pyflakes and co"; 379 | }; 380 | }; 381 | 382 | "idna" = python.mkDerivation { 383 | name = "idna-2.8"; 384 | src = pkgs.fetchurl { 385 | url = "https://files.pythonhosted.org/packages/ad/13/eb56951b6f7950cadb579ca166e448ba77f9d24efc03edd7e55fa57d04b7/idna-2.8.tar.gz"; 386 | sha256 = "c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407"; 387 | }; 388 | doCheck = commonDoCheck; 389 | buildInputs = commonBuildInputs ++ [ ]; 390 | propagatedBuildInputs = [ ]; 391 | meta = with pkgs.stdenv.lib; { 392 | homepage = "https://github.com/kjd/idna"; 393 | license = licenses.bsdOriginal; 394 | description = "Internationalized Domain Names in Applications (IDNA)"; 395 | }; 396 | }; 397 | 398 | "inflection" = python.mkDerivation { 399 | name = "inflection-0.3.1"; 400 | src = pkgs.fetchurl { 401 | url = "https://files.pythonhosted.org/packages/d5/35/a6eb45b4e2356fe688b21570864d4aa0d0a880ce387defe9c589112077f8/inflection-0.3.1.tar.gz"; 402 | sha256 = "18ea7fb7a7d152853386523def08736aa8c32636b047ade55f7578c4edeb16ca"; 403 | }; 404 | doCheck = commonDoCheck; 405 | buildInputs = commonBuildInputs ++ [ ]; 406 | propagatedBuildInputs = [ ]; 407 | meta = with pkgs.stdenv.lib; { 408 | homepage = "http://github.com/jpvanhal/inflection"; 409 | license = licenses.mit; 410 | description = "A port of Ruby on Rails inflector to Python"; 411 | }; 412 | }; 413 | 414 | "itsdangerous" = python.mkDerivation { 415 | name = "itsdangerous-1.1.0"; 416 | src = pkgs.fetchurl { 417 | url = "https://files.pythonhosted.org/packages/68/1a/f27de07a8a304ad5fa817bbe383d1238ac4396da447fa11ed937039fa04b/itsdangerous-1.1.0.tar.gz"; 418 | sha256 = "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19"; 419 | }; 420 | doCheck = commonDoCheck; 421 | buildInputs = commonBuildInputs ++ [ ]; 422 | propagatedBuildInputs = [ ]; 423 | meta = with pkgs.stdenv.lib; { 424 | homepage = "https://palletsprojects.com/p/itsdangerous/"; 425 | license = licenses.bsdOriginal; 426 | description = "Various helpers to pass data to untrusted environments and back."; 427 | }; 428 | }; 429 | 430 | "jsonschema" = python.mkDerivation { 431 | name = "jsonschema-2.6.0"; 432 | src = pkgs.fetchurl { 433 | url = "https://files.pythonhosted.org/packages/58/b9/171dbb07e18c6346090a37f03c7e74410a1a56123f847efed59af260a298/jsonschema-2.6.0.tar.gz"; 434 | sha256 = "6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02"; 435 | }; 436 | doCheck = commonDoCheck; 437 | buildInputs = commonBuildInputs ++ [ ]; 438 | propagatedBuildInputs = [ ]; 439 | meta = with pkgs.stdenv.lib; { 440 | homepage = "http://github.com/Julian/jsonschema"; 441 | license = licenses.mit; 442 | description = "An implementation of JSON Schema validation for Python"; 443 | }; 444 | }; 445 | 446 | "mccabe" = python.mkDerivation { 447 | name = "mccabe-0.6.1"; 448 | src = pkgs.fetchurl { 449 | url = "https://files.pythonhosted.org/packages/06/18/fa675aa501e11d6d6ca0ae73a101b2f3571a565e0f7d38e062eec18a91ee/mccabe-0.6.1.tar.gz"; 450 | sha256 = "dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"; 451 | }; 452 | doCheck = commonDoCheck; 453 | buildInputs = commonBuildInputs ++ [ 454 | self."pytest-runner" 455 | ]; 456 | propagatedBuildInputs = [ ]; 457 | meta = with pkgs.stdenv.lib; { 458 | homepage = "https://github.com/pycqa/mccabe"; 459 | license = "Expat license"; 460 | description = "McCabe checker, plugin for flake8"; 461 | }; 462 | }; 463 | 464 | "openapi-spec-validator" = python.mkDerivation { 465 | name = "openapi-spec-validator-0.2.4"; 466 | src = pkgs.fetchurl { 467 | url = "https://files.pythonhosted.org/packages/05/7e/c36db69b76e5141cf993087741d1847c73972fc671782d44af4f75e98a3a/openapi-spec-validator-0.2.4.tar.gz"; 468 | sha256 = "14684aaec4c4f30e911132ffad3c5863047908251647f49114d249dcc2d41f4e"; 469 | }; 470 | doCheck = commonDoCheck; 471 | buildInputs = commonBuildInputs ++ [ ]; 472 | propagatedBuildInputs = [ 473 | self."PyYAML" 474 | self."jsonschema" 475 | self."six" 476 | ]; 477 | meta = with pkgs.stdenv.lib; { 478 | homepage = "https://github.com/p1c2u/openapi-spec-validator"; 479 | license = licenses.asl20; 480 | description = "UNKNOWN"; 481 | }; 482 | }; 483 | 484 | "pycodestyle" = python.mkDerivation { 485 | name = "pycodestyle-2.4.0"; 486 | src = pkgs.fetchurl { 487 | url = "https://files.pythonhosted.org/packages/28/ad/cae9654d7fd64eb3d2ab2c44c9bf8dc5bd4fb759625beab99532239aa6e8/pycodestyle-2.4.0.tar.gz"; 488 | sha256 = "cbfca99bd594a10f674d0cd97a3d802a1fdef635d4361e1a2658de47ed261e3a"; 489 | }; 490 | doCheck = commonDoCheck; 491 | buildInputs = commonBuildInputs ++ [ ]; 492 | propagatedBuildInputs = [ ]; 493 | meta = with pkgs.stdenv.lib; { 494 | homepage = "https://pycodestyle.readthedocs.io/"; 495 | license = "Expat license"; 496 | description = "Python style guide checker"; 497 | }; 498 | }; 499 | 500 | "pyflakes" = python.mkDerivation { 501 | name = "pyflakes-2.0.0"; 502 | src = pkgs.fetchurl { 503 | url = "https://files.pythonhosted.org/packages/92/9e/386c0d9deef14996eb90d9deebbcb9d3ceb70296840b09615cb61b2ae231/pyflakes-2.0.0.tar.gz"; 504 | sha256 = "9a7662ec724d0120012f6e29d6248ae3727d821bba522a0e6b356eff19126a49"; 505 | }; 506 | doCheck = commonDoCheck; 507 | buildInputs = commonBuildInputs ++ [ ]; 508 | propagatedBuildInputs = [ ]; 509 | meta = with pkgs.stdenv.lib; { 510 | homepage = "https://github.com/PyCQA/pyflakes"; 511 | license = licenses.mit; 512 | description = "passive checker of Python programs"; 513 | }; 514 | }; 515 | 516 | "pytest-runner" = python.mkDerivation { 517 | name = "pytest-runner-4.2"; 518 | src = pkgs.fetchurl { 519 | url = "https://files.pythonhosted.org/packages/9e/b7/fe6e8f87f9a756fd06722216f1b6698ccba4d269eac6329d9f0c441d0f93/pytest-runner-4.2.tar.gz"; 520 | sha256 = "d23f117be39919f00dd91bffeb4f15e031ec797501b717a245e377aee0f577be"; 521 | }; 522 | doCheck = commonDoCheck; 523 | buildInputs = commonBuildInputs ++ [ 524 | self."setuptools-scm" 525 | ]; 526 | propagatedBuildInputs = [ ]; 527 | meta = with pkgs.stdenv.lib; { 528 | homepage = "https://github.com/pytest-dev/pytest-runner"; 529 | license = "UNKNOWN"; 530 | description = "Invoke py.test as distutils command with dependency resolution"; 531 | }; 532 | }; 533 | 534 | "requests" = python.mkDerivation { 535 | name = "requests-2.21.0"; 536 | src = pkgs.fetchurl { 537 | url = "https://files.pythonhosted.org/packages/52/2c/514e4ac25da2b08ca5a464c50463682126385c4272c18193876e91f4bc38/requests-2.21.0.tar.gz"; 538 | sha256 = "502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e"; 539 | }; 540 | doCheck = commonDoCheck; 541 | buildInputs = commonBuildInputs ++ [ ]; 542 | propagatedBuildInputs = [ 543 | self."certifi" 544 | self."chardet" 545 | self."idna" 546 | self."urllib3" 547 | ]; 548 | meta = with pkgs.stdenv.lib; { 549 | homepage = "http://python-requests.org"; 550 | license = licenses.asl20; 551 | description = "Python HTTP for Humans."; 552 | }; 553 | }; 554 | 555 | "setuptools-scm" = python.mkDerivation { 556 | name = "setuptools-scm-3.1.0"; 557 | src = pkgs.fetchurl { 558 | url = "https://files.pythonhosted.org/packages/09/b4/d148a70543b42ff3d81d57381f33104f32b91f970ad7873f463e75bf7453/setuptools_scm-3.1.0.tar.gz"; 559 | sha256 = "1191f2a136b5e86f7ca8ab00a97ef7aef997131f1f6d4971be69a1ef387d8b40"; 560 | }; 561 | doCheck = commonDoCheck; 562 | buildInputs = commonBuildInputs ++ [ ]; 563 | propagatedBuildInputs = [ ]; 564 | meta = with pkgs.stdenv.lib; { 565 | homepage = "https://github.com/pypa/setuptools_scm/"; 566 | license = licenses.mit; 567 | description = "the blessed package to manage your versions by scm tags"; 568 | }; 569 | }; 570 | 571 | "six" = python.mkDerivation { 572 | name = "six-1.12.0"; 573 | src = pkgs.fetchurl { 574 | url = "https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz"; 575 | sha256 = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"; 576 | }; 577 | doCheck = commonDoCheck; 578 | buildInputs = commonBuildInputs ++ [ ]; 579 | propagatedBuildInputs = [ ]; 580 | meta = with pkgs.stdenv.lib; { 581 | homepage = "https://github.com/benjaminp/six"; 582 | license = licenses.mit; 583 | description = "Python 2 and 3 compatibility utilities"; 584 | }; 585 | }; 586 | 587 | "urllib3" = python.mkDerivation { 588 | name = "urllib3-1.24.1"; 589 | src = pkgs.fetchurl { 590 | url = "https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1/urllib3-1.24.1.tar.gz"; 591 | sha256 = "de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22"; 592 | }; 593 | doCheck = commonDoCheck; 594 | buildInputs = commonBuildInputs ++ [ ]; 595 | propagatedBuildInputs = [ 596 | self."certifi" 597 | self."idna" 598 | ]; 599 | meta = with pkgs.stdenv.lib; { 600 | homepage = "https://urllib3.readthedocs.io/"; 601 | license = licenses.mit; 602 | description = "HTTP library with thread-safe connection pooling, file post, and more."; 603 | }; 604 | }; 605 | 606 | "vcversioner" = python.mkDerivation { 607 | name = "vcversioner-2.16.0.0"; 608 | src = pkgs.fetchurl { 609 | url = "https://files.pythonhosted.org/packages/c5/cc/33162c0a7b28a4d8c83da07bc2b12cee58c120b4a9e8bba31c41c8d35a16/vcversioner-2.16.0.0.tar.gz"; 610 | sha256 = "dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b"; 611 | }; 612 | doCheck = commonDoCheck; 613 | buildInputs = commonBuildInputs ++ [ ]; 614 | propagatedBuildInputs = [ ]; 615 | meta = with pkgs.stdenv.lib; { 616 | homepage = "https://github.com/habnabit/vcversioner"; 617 | license = "ISC"; 618 | description = "Use version control tags to discover version numbers"; 619 | }; 620 | }; 621 | }; 622 | localOverridesFile = ./requirements_override.nix; 623 | localOverrides = import localOverridesFile { inherit pkgs python; }; 624 | commonOverrides = [ 625 | (import ../overrides.nix { inherit pkgs python ; }) 626 | ]; 627 | paramOverrides = [ 628 | (overrides { inherit pkgs python; }) 629 | ]; 630 | allOverrides = 631 | (if (builtins.pathExists localOverridesFile) 632 | then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides; 633 | 634 | in python.withPackages 635 | (fix' (pkgs.lib.fold 636 | extends 637 | generated 638 | allOverrides 639 | ) 640 | ) -------------------------------------------------------------------------------- /flask/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-Cache 3 | Flask-Cors 4 | Flask-Login 5 | Flask-SQLAlchemy 6 | connexion 7 | -------------------------------------------------------------------------------- /flask/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | certifi==2018.11.29 2 | chardet==3.0.4 3 | Click==7.0 4 | clickclick==1.2.2 5 | connexion==2.1.0 6 | flake8==3.6.0 7 | Flask==1.0.2 8 | Flask-Cache==0.13.1 9 | Flask-Cors==3.0.7 10 | Flask-Login==0.4.1 11 | Flask-SQLAlchemy==2.3.2 12 | idna==2.8 13 | inflection==0.3.1 14 | itsdangerous==1.1.0 15 | Jinja2==2.10 16 | jsonschema==2.6.0 17 | MarkupSafe==1.1.0 18 | mccabe==0.6.1 19 | openapi-spec-validator==0.2.4 20 | pycodestyle==2.4.0 21 | pyflakes==2.0.0 22 | pytest-runner==4.2 23 | PyYAML==3.13 24 | requests==2.21.0 25 | setuptools-scm==3.1.0 26 | six==1.12.0 27 | SQLAlchemy==1.2.15 28 | urllib3==1.24.1 29 | vcversioner==2.16.0.0 30 | Werkzeug==0.14.1 31 | -------------------------------------------------------------------------------- /homeassistant/requirements.nix: -------------------------------------------------------------------------------- 1 | # generated using pypi2nix tool (version: 1.8.1) 2 | # See more at: https://github.com/garbas/pypi2nix 3 | # 4 | # COMMAND: 5 | # pypi2nix -W https://travis.garbas.si/wheels_cache/ -v -V 3.5 -s pytz 6 | # 7 | 8 | { pkgs ? import {}, 9 | overrides ? ({ pkgs, python }: self: super: {}) 10 | }: 11 | 12 | let 13 | 14 | inherit (pkgs) makeWrapper; 15 | inherit (pkgs.stdenv.lib) fix' extends inNixShell; 16 | 17 | pythonPackages = 18 | import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 19 | inherit pkgs; 20 | inherit (pkgs) stdenv; 21 | python = pkgs.python35; 22 | # patching pip so it does not try to remove files when running nix-shell 23 | overrides = 24 | self: super: { 25 | bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 26 | patchPhase = old.patchPhase + '' 27 | if [ -e $out/${pkgs.python35.sitePackages}/pip/req/req_install.py ]; then 28 | sed -i \ 29 | -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" \ 30 | -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" \ 31 | $out/${pkgs.python35.sitePackages}/pip/req/req_install.py 32 | fi 33 | ''; 34 | }); 35 | }; 36 | }; 37 | 38 | commonBuildInputs = []; 39 | commonDoCheck = false; 40 | 41 | withPackages = pkgs': 42 | let 43 | pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 44 | interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage { 45 | name = "python35-interpreter"; 46 | buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs); 47 | buildCommand = '' 48 | mkdir -p $out/bin 49 | ln -s ${pythonPackages.python.interpreter} \ 50 | $out/bin/${pythonPackages.python.executable} 51 | for dep in ${builtins.concatStringsSep " " 52 | (selectPkgsFn pkgs)}; do 53 | if [ -d "$dep/bin" ]; then 54 | for prog in "$dep/bin/"*; do 55 | if [ -x "$prog" ] && [ -f "$prog" ]; then 56 | ln -s $prog $out/bin/`basename $prog` 57 | fi 58 | done 59 | fi 60 | done 61 | for prog in "$out/bin/"*; do 62 | wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 63 | done 64 | pushd $out/bin 65 | ln -s ${pythonPackages.python.executable} python 66 | ln -s ${pythonPackages.python.executable} \ 67 | python3 68 | popd 69 | ''; 70 | passthru.interpreter = pythonPackages.python; 71 | }; 72 | 73 | interpreter = interpreterWithPackages builtins.attrValues; 74 | in { 75 | __old = pythonPackages; 76 | inherit interpreter; 77 | inherit interpreterWithPackages; 78 | mkDerivation = pythonPackages.buildPythonPackage; 79 | packages = pkgs; 80 | overrideDerivation = drv: f: 81 | pythonPackages.buildPythonPackage ( 82 | drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; } 83 | ); 84 | withPackages = pkgs'': 85 | withPackages (pkgs // pkgs''); 86 | }; 87 | 88 | python = withPackages {}; 89 | 90 | generated = self: { 91 | "pytz" = python.mkDerivation { 92 | name = "pytz-2018.7"; 93 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/cd/71/ae99fc3df1b1c5267d37ef2c51b7d79c44ba8a5e37b48e3ca93b4d74d98b/pytz-2018.7.tar.gz"; sha256 = "31cb35c89bd7d333cd32c5f278fca91b523b0834369e757f4c5641ea252236ca"; }; 94 | doCheck = commonDoCheck; 95 | checkPhase = ""; 96 | installCheckPhase = ""; 97 | buildInputs = commonBuildInputs; 98 | propagatedBuildInputs = [ ]; 99 | meta = with pkgs.stdenv.lib; { 100 | homepage = "http://pythonhosted.org/pytz"; 101 | license = licenses.mit; 102 | description = "World timezone definitions, modern and historical"; 103 | }; 104 | }; 105 | }; 106 | localOverridesFile = ./requirements_override.nix; 107 | localOverrides = import localOverridesFile { inherit pkgs python; }; 108 | commonOverrides = [ 109 | 110 | ]; 111 | paramOverrides = [ 112 | (overrides { inherit pkgs python; }) 113 | ]; 114 | allOverrides = 115 | (if (builtins.pathExists localOverridesFile) 116 | then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides; 117 | 118 | in python.withPackages 119 | (fix' (pkgs.lib.fold 120 | extends 121 | generated 122 | allOverrides 123 | ) 124 | ) -------------------------------------------------------------------------------- /homeassistant/requirements.txt: -------------------------------------------------------------------------------- 1 | homeassistant 2 | 3 | # homeassistant.components.discovery 4 | netdisco==0.7.7 5 | -------------------------------------------------------------------------------- /homeassistant/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | pytz==2018.7 2 | -------------------------------------------------------------------------------- /httpie/requirements.txt: -------------------------------------------------------------------------------- 1 | httpie 2 | httpie-akamai 3 | httpie-api-auth 4 | httpie-aws-auth 5 | httpie-aws-authv4 6 | httpie-dag 7 | httpie-django-auth 8 | httpie-edgegrid 9 | httpie-ems-auth 10 | httpie-ems-auth-p3 11 | httpie-escher-auth 12 | httpie-esni-auth 13 | httpie-f5-auth 14 | httpie-hmac-auth 15 | httpie-http2 16 | httpie-httpsig-auth 17 | httpie-image 18 | httpie-media-auth 19 | httpie-msgpack 20 | httpie-nsof 21 | httpie-ntlm 22 | httpie-oauth 23 | httpie-plex 24 | httpie-svb-auth 25 | httpie-token-auth 26 | httpie-visionect-auth 27 | httpie-wsse-auth 28 | requests-hawk 29 | #TODO: (garbas) didn't have time to make the below plugins work 30 | #httpie-asap-auth 31 | #httpie-jwt-auth 32 | #httpie-negotiate 33 | #httpie-odps-auth 34 | #httpie-unixsocket 35 | #httpie-zign 36 | -------------------------------------------------------------------------------- /httpie/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | asn1crypto==0.24.0 2 | aws-requests-auth==0.4.2 3 | boto3==1.9.71 4 | botocore==1.12.71 5 | certifi==2018.11.29 6 | cffi==1.11.5 7 | chardet==3.0.4 8 | cryptography==2.4.2 9 | docutils==0.14 10 | edgegrid-python==1.1.1 11 | escherauth==0.2.5 12 | h2==2.6.2 13 | hpack==3.0.0 14 | httpie==1.0.2 15 | httpie-akamai==0.1.5 16 | httpie-api-auth==0.3.0 17 | httpie-aws-auth==0.0.3 18 | httpie-aws-authv4==0.1.2 19 | httpie-dag==0.1.0 20 | httpie-django-auth==0.1.1 21 | httpie-edgegrid==1.0.6 22 | httpie-ems-auth==0.2.2 23 | httpie-ems-auth-p3==0.2.3 24 | httpie-escher-auth==0.1.0 25 | httpie-esni-auth==1.0.0 26 | httpie-f5-auth==0.0.6 27 | httpie-hmac-auth==0.2.3 28 | httpie-http2==0.0.1 29 | httpie-httpsig-auth==0.1.1 30 | httpie-image==1.0.0 31 | httpie-media-auth==0.0.8 32 | httpie-msgpack==1.0.0 33 | httpie-nsof==1.2 34 | httpie-ntlm==1.0.2 35 | httpie-oauth==1.0.2 36 | httpie-plex==1.0.1 37 | httpie-svb-auth==1.0.4 38 | httpie-token-auth==0.1.8 39 | httpie-visionect-auth==0.0.1 40 | httpie-wsse-auth==0.1.1 41 | httpsig-cffi==15.0.0 42 | hyper==0.7.0 43 | hyperframe==3.2.0 44 | idna==2.8 45 | jmespath==0.9.3 46 | mohawk==0.3.4 47 | msgpack-python==0.5.6 48 | ndg-httpsclient==0.5.1 49 | ntlm-auth==1.2.0 50 | oauthlib==2.1.0 51 | pyasn1==0.4.4 52 | pycparser==2.19 53 | Pygments==2.3.1 54 | PyJWT==1.7.1 55 | pyOpenSSL==18.0.0 56 | python-dateutil==2.7.5 57 | requests==2.21.0 58 | requests-aws==0.1.8 59 | requests-f5auth==0.1.2 60 | requests-hawk==1.0.0 61 | requests-ntlm==1.1.0 62 | requests-oauthlib==1.0.0 63 | s3transfer==0.1.13 64 | setuptools-scm==3.1.0 65 | six==1.12.0 66 | urllib3==1.24.1 67 | -------------------------------------------------------------------------------- /openstackclient/requirements.txt: -------------------------------------------------------------------------------- 1 | python-openstackclient 2 | -------------------------------------------------------------------------------- /openstackclient/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | appdirs==1.4.3 2 | asn1crypto==0.24.0 3 | Babel==2.6.0 4 | certifi==2018.11.29 5 | cffi==1.11.5 6 | chardet==3.0.4 7 | cliff==2.14.0 8 | cmd2==0.8.9 9 | contextlib2==0.5.5 10 | cryptography==2.4.2 11 | debtcollector==1.20.0 12 | decorator==4.3.0 13 | dogpile.cache==0.7.0 14 | enum34==1.1.6 15 | funcsigs==1.0.2 16 | functools32==3.2.3.post2 17 | futures==3.2.0 18 | idna==2.8 19 | ipaddress==1.0.22 20 | iso8601==0.1.12 21 | jmespath==0.9.3 22 | jsonpatch==1.23 23 | jsonpointer==2.0 24 | jsonschema==2.6.0 25 | keystoneauth1==3.11.2 26 | monotonic==1.5 27 | msgpack==0.6.0 28 | munch==2.3.2 29 | netaddr==0.7.19 30 | netifaces==0.10.7 31 | openstacksdk==0.20.0 32 | os-service-types==1.4.0 33 | osc-lib==1.11.1 34 | oslo.config==6.7.0 35 | oslo.i18n==3.23.0 36 | oslo.serialization==2.28.1 37 | oslo.utils==3.38.0 38 | pbr==5.1.1 39 | prettytable==0.7.2 40 | pycparser==2.19 41 | pyOpenSSL==18.0.0 42 | pyparsing==2.3.0 43 | pyperclip==1.7.0 44 | python-cinderclient==4.1.0 45 | python-glanceclient==2.15.0 46 | python-keystoneclient==3.18.0 47 | python-novaclient==11.1.0 48 | python-openstackclient==3.17.0 49 | pytz==2018.7 50 | PyYAML==3.13 51 | requests==2.21.0 52 | requestsexceptions==1.4.0 53 | rfc3986==1.2.0 54 | simplejson==3.16.0 55 | six==1.12.0 56 | stevedore==1.30.0 57 | subprocess32==3.5.3 58 | unicodecsv==0.14.1 59 | urllib3==1.24.1 60 | vcversioner==2.16.0.0 61 | warlock==1.3.0 62 | wcwidth==0.1.7 63 | wrapt==1.10.11 64 | -------------------------------------------------------------------------------- /overlay.nix: -------------------------------------------------------------------------------- 1 | self: super: { 2 | pythonNEXT = import ./default.nix { pkgs = super; }; 3 | } 4 | -------------------------------------------------------------------------------- /overrides.nix: -------------------------------------------------------------------------------- 1 | { pkgs, python }: 2 | 3 | let 4 | 5 | skipOverrides = overrides: self: super: 6 | let 7 | overridesNames = builtins.attrNames overrides; 8 | superNames = builtins.attrNames super; 9 | filteredNames = 10 | builtins.filter 11 | (name: builtins.elem name superNames) 12 | overridesNames; 13 | packagesWithoutOverrides = 14 | builtins.filter 15 | (name: ! builtins.elem name filteredNames) 16 | superNames; 17 | addLANG = old: { LANG = "en_US.UTF-8"; }; 18 | in 19 | builtins.listToAttrs 20 | (builtins.map 21 | (name: { inherit name; 22 | value = python.overrideDerivation super."${name}" addLANG; 23 | } 24 | ) 25 | packagesWithoutOverrides 26 | ) 27 | // 28 | builtins.listToAttrs 29 | (builtins.map 30 | (name: { inherit name; 31 | value = python.overrideDerivation 32 | super."${name}" 33 | (old: (addLANG old // overrides."${name}" self old)); 34 | } 35 | ) 36 | filteredNames 37 | ); 38 | removeDependencies = names: deps: 39 | with builtins; with pkgs.lib; 40 | filter 41 | (drv: all 42 | (suf: 43 | ! hasSuffix ("-" + suf) 44 | (parseDrvName drv.name).name 45 | ) 46 | names 47 | ) 48 | deps; 49 | 50 | in skipOverrides { 51 | 52 | "apipkg" = self: old: { 53 | buildInputs = old.buildInputs ++ [ self."setuptools-scm" ]; 54 | }; 55 | 56 | "clickclick" = self: old: { 57 | buildInputs = old.buildInputs ++ [ self."six" self."flake8" ]; 58 | }; 59 | 60 | "connexion" = self: old: { 61 | buildInputs = old.buildInputs ++ [ self."flake8" ]; 62 | }; 63 | 64 | "execnet" = self: old: { 65 | buildInputs = old.buildInputs ++ [ self."setuptools-scm" ]; 66 | }; 67 | 68 | "flake8-codeclimate" = self: old: { 69 | buildInputs = old.buildInputs ++ [ self."setuptools-scm" ]; 70 | }; 71 | 72 | "flake8-logging-format" = self: old: { 73 | buildInputs = old.buildInputs ++ [ self."nose" ]; 74 | }; 75 | 76 | "flake8-mutable" = self: old: { 77 | buildInputs = old.buildInputs ++ [ self."pytest-runner" ]; 78 | }; 79 | 80 | "flake8-print" = self: old: { 81 | buildInputs = old.buildInputs ++ [ self."pytest-runner" ]; 82 | }; 83 | 84 | "gevent-socketio" = self: old: { 85 | buildInputs = old.buildInputs ++ [ self."versiontools" ]; 86 | }; 87 | 88 | "jsonschema" = self: old: { 89 | buildInputs = old.buildInputs ++ [ self."vcversioner" ]; 90 | }; 91 | 92 | "PasteDeploy" = self: old: { 93 | buildInputs = old.buildInputs ++ [ self."pytest-runner" ]; 94 | }; 95 | 96 | "pluggy" = self: old: { 97 | buildInputs = old.buildInputs ++ [ self."setuptools-scm" ]; 98 | }; 99 | 100 | "pygal" = self: old: { 101 | buildInputs = old.buildInputs ++ [ self."pytest-runner" ]; 102 | }; 103 | 104 | "pypiserver" = self: old: { 105 | buildInputs = old.buildInputs ++ [ self."setuptools-git" ]; 106 | }; 107 | 108 | "pytest" = self: old: { 109 | buildInputs = old.buildInputs ++ [ self."setuptools-scm" ]; 110 | }; 111 | 112 | "pytest-forked" = self: old: { 113 | buildInputs = old.buildInputs ++ [ self."setuptools-scm" ]; 114 | }; 115 | 116 | "pytest-xdist" = self: old: { 117 | buildInputs = old.buildInputs ++ [ self."setuptools-scm" ]; 118 | }; 119 | 120 | "python-dateutil" = self: old: { 121 | buildInputs = old.buildInputs ++ [ self."setuptools-scm" ]; 122 | }; 123 | 124 | "requestsexceptions" = self: old: { 125 | buildInputs = old.buildInputs ++ [ self."pbr" ]; 126 | }; 127 | 128 | "scipy" = self: old: { 129 | prePatch = '' 130 | rm scipy/linalg/tests/test_lapack.py 131 | ''; 132 | preConfigure = '' 133 | sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py 134 | ''; 135 | preBuild = '' 136 | echo "Creating site.cfg file..." 137 | cat << EOF > site.cfg 138 | [openblas] 139 | include_dirs = ${pkgs.openblasCompat}/include 140 | library_dirs = ${pkgs.openblasCompat}/lib 141 | EOF 142 | ''; 143 | setupPyBuildFlags = [ "--fcompiler='gnu95'" ]; 144 | passthru = { 145 | blas = pkgs.openblasCompat; 146 | }; 147 | }; 148 | 149 | "numpy" = self: old: { 150 | preConfigure = '' 151 | sed -i 's/-faltivec//' numpy/distutils/system_info.py 152 | ''; 153 | preBuild = '' 154 | echo "Creating site.cfg file..." 155 | cat << EOF > site.cfg 156 | [openblas] 157 | include_dirs = ${pkgs.openblasCompat}/include 158 | library_dirs = ${pkgs.openblasCompat}/lib 159 | EOF 160 | ''; 161 | passthru = { 162 | blas = pkgs.openblasCompat; 163 | }; 164 | }; 165 | 166 | "tox" = self: old: { 167 | buildInputs = old.buildInputs ++ [ self."setuptools-scm" ]; 168 | }; 169 | 170 | } 171 | -------------------------------------------------------------------------------- /pelican/requirements.nix: -------------------------------------------------------------------------------- 1 | # generated using pypi2nix tool (version: 2.0.0) 2 | # See more at: https://github.com/garbas/pypi2nix 3 | # 4 | # COMMAND: 5 | # pypi2nix -W https://travis.garbas.si/wheels_cache/ -v -V 3.7 -O ../overrides.nix -s setuptools-scm -r requirements.txt 6 | # 7 | 8 | { pkgs ? import {}, 9 | overrides ? ({ pkgs, python }: self: super: {}) 10 | }: 11 | 12 | let 13 | 14 | inherit (pkgs) makeWrapper; 15 | inherit (pkgs.stdenv.lib) fix' extends inNixShell; 16 | 17 | pythonPackages = 18 | import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 19 | inherit pkgs; 20 | inherit (pkgs) stdenv; 21 | python = pkgs.python37; 22 | # patching pip so it does not try to remove files when running nix-shell 23 | overrides = 24 | self: super: { 25 | bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 26 | patchPhase = old.patchPhase + '' 27 | if [ -e $out/${pkgs.python37.sitePackages}/pip/req/req_install.py ]; then 28 | sed -i \ 29 | -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" \ 30 | -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" \ 31 | $out/${pkgs.python37.sitePackages}/pip/req/req_install.py 32 | fi 33 | ''; 34 | }); 35 | }; 36 | }; 37 | 38 | commonBuildInputs = []; 39 | commonDoCheck = false; 40 | 41 | withPackages = pkgs': 42 | let 43 | pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 44 | interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage { 45 | name = "python37-interpreter"; 46 | buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs); 47 | buildCommand = '' 48 | mkdir -p $out/bin 49 | ln -s ${pythonPackages.python.interpreter} \ 50 | $out/bin/${pythonPackages.python.executable} 51 | for dep in ${builtins.concatStringsSep " " 52 | (selectPkgsFn pkgs)}; do 53 | if [ -d "$dep/bin" ]; then 54 | for prog in "$dep/bin/"*; do 55 | if [ -x "$prog" ] && [ -f "$prog" ]; then 56 | ln -s $prog $out/bin/`basename $prog` 57 | fi 58 | done 59 | fi 60 | done 61 | for prog in "$out/bin/"*; do 62 | wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 63 | done 64 | pushd $out/bin 65 | ln -s ${pythonPackages.python.executable} python 66 | ln -s ${pythonPackages.python.executable} \ 67 | python3 68 | popd 69 | ''; 70 | passthru.interpreter = pythonPackages.python; 71 | }; 72 | 73 | interpreter = interpreterWithPackages builtins.attrValues; 74 | in { 75 | __old = pythonPackages; 76 | inherit interpreter; 77 | inherit interpreterWithPackages; 78 | mkDerivation = pythonPackages.buildPythonPackage; 79 | packages = pkgs; 80 | overrideDerivation = drv: f: 81 | pythonPackages.buildPythonPackage ( 82 | drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; } 83 | ); 84 | withPackages = pkgs'': 85 | withPackages (pkgs // pkgs''); 86 | }; 87 | 88 | python = withPackages {}; 89 | 90 | generated = self: { 91 | "Jinja2" = python.mkDerivation { 92 | name = "Jinja2-2.10"; 93 | src = pkgs.fetchurl { 94 | url = "https://files.pythonhosted.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47/Jinja2-2.10.tar.gz"; 95 | sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"; 96 | }; 97 | doCheck = commonDoCheck; 98 | buildInputs = commonBuildInputs ++ [ ]; 99 | propagatedBuildInputs = [ 100 | self."MarkupSafe" 101 | ]; 102 | meta = with pkgs.stdenv.lib; { 103 | homepage = "http://jinja.pocoo.org/"; 104 | license = licenses.bsdOriginal; 105 | description = "A small but fast and easy to use stand-alone template engine written in pure python."; 106 | }; 107 | }; 108 | 109 | "MarkupSafe" = python.mkDerivation { 110 | name = "MarkupSafe-1.1.0"; 111 | src = pkgs.fetchurl { 112 | url = "https://files.pythonhosted.org/packages/ac/7e/1b4c2e05809a4414ebce0892fe1e32c14ace86ca7d50c70f00979ca9b3a3/MarkupSafe-1.1.0.tar.gz"; 113 | sha256 = "4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3"; 114 | }; 115 | doCheck = commonDoCheck; 116 | buildInputs = commonBuildInputs ++ [ ]; 117 | propagatedBuildInputs = [ ]; 118 | meta = with pkgs.stdenv.lib; { 119 | homepage = "https://www.palletsprojects.com/p/markupsafe/"; 120 | license = licenses.bsdOriginal; 121 | description = "Safely add untrusted strings to HTML/XML markup."; 122 | }; 123 | }; 124 | 125 | "Pygments" = python.mkDerivation { 126 | name = "Pygments-2.3.1"; 127 | src = pkgs.fetchurl { 128 | url = "https://files.pythonhosted.org/packages/64/69/413708eaf3a64a6abb8972644e0f20891a55e621c6759e2c3f3891e05d63/Pygments-2.3.1.tar.gz"; 129 | sha256 = "5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a"; 130 | }; 131 | doCheck = commonDoCheck; 132 | buildInputs = commonBuildInputs ++ [ ]; 133 | propagatedBuildInputs = [ ]; 134 | meta = with pkgs.stdenv.lib; { 135 | homepage = "http://pygments.org/"; 136 | license = licenses.bsdOriginal; 137 | description = "Pygments is a syntax highlighting package written in Python."; 138 | }; 139 | }; 140 | 141 | "Unidecode" = python.mkDerivation { 142 | name = "Unidecode-1.0.23"; 143 | src = pkgs.fetchurl { 144 | url = "https://files.pythonhosted.org/packages/9b/d8/c1b658ed7ff6e63a745eda483d7d917eb63a79c59fcb422469b85ff47e94/Unidecode-1.0.23.tar.gz"; 145 | sha256 = "8b85354be8fd0c0e10adbf0675f6dc2310e56fda43fa8fe049123b6c475e52fb"; 146 | }; 147 | doCheck = commonDoCheck; 148 | buildInputs = commonBuildInputs ++ [ ]; 149 | propagatedBuildInputs = [ ]; 150 | meta = with pkgs.stdenv.lib; { 151 | homepage = "UNKNOWN"; 152 | license = "GPL"; 153 | description = "ASCII transliterations of Unicode text"; 154 | }; 155 | }; 156 | 157 | "blinker" = python.mkDerivation { 158 | name = "blinker-1.4"; 159 | src = pkgs.fetchurl { 160 | url = "https://files.pythonhosted.org/packages/1b/51/e2a9f3b757eb802f61dc1f2b09c8c99f6eb01cf06416c0671253536517b6/blinker-1.4.tar.gz"; 161 | sha256 = "471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6"; 162 | }; 163 | doCheck = commonDoCheck; 164 | buildInputs = commonBuildInputs ++ [ ]; 165 | propagatedBuildInputs = [ ]; 166 | meta = with pkgs.stdenv.lib; { 167 | homepage = "http://pythonhosted.org/blinker/"; 168 | license = licenses.mit; 169 | description = "Fast, simple object-to-object and broadcast signaling"; 170 | }; 171 | }; 172 | 173 | "docutils" = python.mkDerivation { 174 | name = "docutils-0.14"; 175 | src = pkgs.fetchurl { 176 | url = "https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz"; 177 | sha256 = "51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274"; 178 | }; 179 | doCheck = commonDoCheck; 180 | buildInputs = commonBuildInputs ++ [ ]; 181 | propagatedBuildInputs = [ ]; 182 | meta = with pkgs.stdenv.lib; { 183 | homepage = "http://docutils.sourceforge.net/"; 184 | license = "public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)"; 185 | description = "Docutils -- Python Documentation Utilities"; 186 | }; 187 | }; 188 | 189 | "feedgenerator" = python.mkDerivation { 190 | name = "feedgenerator-1.9"; 191 | src = pkgs.fetchurl { 192 | url = "https://files.pythonhosted.org/packages/eb/02/7069b3dbc6ea92f034e07f9f9adc2193cd02d1aedf2cf9ec71150102a964/feedgenerator-1.9.tar.gz"; 193 | sha256 = "5ae05daa9cfa47fa406ee4744d0b7fa1c8a05a7a47ee0ad328ddf55327cfb106"; 194 | }; 195 | doCheck = commonDoCheck; 196 | buildInputs = commonBuildInputs ++ [ ]; 197 | propagatedBuildInputs = [ 198 | self."pytz" 199 | self."six" 200 | ]; 201 | meta = with pkgs.stdenv.lib; { 202 | homepage = "https://github.com/getpelican/feedgenerator"; 203 | license = "UNKNOWN"; 204 | description = "Standalone version of django.utils.feedgenerator"; 205 | }; 206 | }; 207 | 208 | "ghp-import" = python.mkDerivation { 209 | name = "ghp-import-0.5.5"; 210 | src = pkgs.fetchurl { 211 | url = "https://files.pythonhosted.org/packages/bd/95/27cb11b5d09643c2756f04a1412b0d62aadeb0b909564f85122270c4097c/ghp-import-0.5.5.tar.gz"; 212 | sha256 = "3e924ea720e4e1f82d56753db2154bfb86067472c5830732159c3a4c4fbc75d7"; 213 | }; 214 | doCheck = commonDoCheck; 215 | buildInputs = commonBuildInputs ++ [ ]; 216 | propagatedBuildInputs = [ ]; 217 | meta = with pkgs.stdenv.lib; { 218 | homepage = "http://github.com/davisp/ghp-import"; 219 | license = "Tumbolia Public License"; 220 | description = "Copy your docs directly to the gh-pages branch."; 221 | }; 222 | }; 223 | 224 | "livereload" = python.mkDerivation { 225 | name = "livereload-2.6.0"; 226 | src = pkgs.fetchurl { 227 | url = "https://files.pythonhosted.org/packages/45/1b/8a8d59d6c20807cdb4c581a958a7ae7ceaee9e3b1714e64575382571bca5/livereload-2.6.0.tar.gz"; 228 | sha256 = "e632a6cd1d349155c1d7f13a65be873b38f43ef02961804a1bba8d817fa649a7"; 229 | }; 230 | doCheck = commonDoCheck; 231 | buildInputs = commonBuildInputs ++ [ ]; 232 | propagatedBuildInputs = [ 233 | self."six" 234 | self."tornado" 235 | ]; 236 | meta = with pkgs.stdenv.lib; { 237 | homepage = "https://github.com/lepture/python-livereload"; 238 | license = licenses.bsdOriginal; 239 | description = "Python LiveReload is an awesome tool for web developers"; 240 | }; 241 | }; 242 | 243 | "pelican" = python.mkDerivation { 244 | name = "pelican-4.0.1"; 245 | src = pkgs.fetchurl { 246 | url = "https://files.pythonhosted.org/packages/ac/16/7d3e5cef02c16c0a8ce5fb3a8790f0d193e954743b1177eb582107c3196d/pelican-4.0.1.tar.gz"; 247 | sha256 = "990aa8b62a7bcb34c7585e5a67d05a10690ab2fff3cb761d0a94826cec51cd17"; 248 | }; 249 | doCheck = commonDoCheck; 250 | buildInputs = commonBuildInputs ++ [ ]; 251 | propagatedBuildInputs = [ 252 | self."Jinja2" 253 | self."Pygments" 254 | self."Unidecode" 255 | self."blinker" 256 | self."docutils" 257 | self."feedgenerator" 258 | self."python-dateutil" 259 | self."pytz" 260 | self."six" 261 | ]; 262 | meta = with pkgs.stdenv.lib; { 263 | homepage = "https://getpelican.com/"; 264 | license = "AGPLv3"; 265 | description = "Static site generator supporting reStructuredText and Markdown source content."; 266 | }; 267 | }; 268 | 269 | "python-dateutil" = python.mkDerivation { 270 | name = "python-dateutil-2.7.5"; 271 | src = pkgs.fetchurl { 272 | url = "https://files.pythonhosted.org/packages/0e/01/68747933e8d12263d41ce08119620d9a7e5eb72c876a3442257f74490da0/python-dateutil-2.7.5.tar.gz"; 273 | sha256 = "88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02"; 274 | }; 275 | doCheck = commonDoCheck; 276 | buildInputs = commonBuildInputs ++ [ ]; 277 | propagatedBuildInputs = [ 278 | self."six" 279 | ]; 280 | meta = with pkgs.stdenv.lib; { 281 | homepage = "https://dateutil.readthedocs.io"; 282 | license = "Dual License"; 283 | description = "Extensions to the standard Python datetime module"; 284 | }; 285 | }; 286 | 287 | "pytz" = python.mkDerivation { 288 | name = "pytz-2018.7"; 289 | src = pkgs.fetchurl { 290 | url = "https://files.pythonhosted.org/packages/cd/71/ae99fc3df1b1c5267d37ef2c51b7d79c44ba8a5e37b48e3ca93b4d74d98b/pytz-2018.7.tar.gz"; 291 | sha256 = "31cb35c89bd7d333cd32c5f278fca91b523b0834369e757f4c5641ea252236ca"; 292 | }; 293 | doCheck = commonDoCheck; 294 | buildInputs = commonBuildInputs ++ [ ]; 295 | propagatedBuildInputs = [ ]; 296 | meta = with pkgs.stdenv.lib; { 297 | homepage = "http://pythonhosted.org/pytz"; 298 | license = licenses.mit; 299 | description = "World timezone definitions, modern and historical"; 300 | }; 301 | }; 302 | 303 | "setuptools-scm" = python.mkDerivation { 304 | name = "setuptools-scm-3.1.0"; 305 | src = pkgs.fetchurl { 306 | url = "https://files.pythonhosted.org/packages/09/b4/d148a70543b42ff3d81d57381f33104f32b91f970ad7873f463e75bf7453/setuptools_scm-3.1.0.tar.gz"; 307 | sha256 = "1191f2a136b5e86f7ca8ab00a97ef7aef997131f1f6d4971be69a1ef387d8b40"; 308 | }; 309 | doCheck = commonDoCheck; 310 | buildInputs = commonBuildInputs ++ [ ]; 311 | propagatedBuildInputs = [ ]; 312 | meta = with pkgs.stdenv.lib; { 313 | homepage = "https://github.com/pypa/setuptools_scm/"; 314 | license = licenses.mit; 315 | description = "the blessed package to manage your versions by scm tags"; 316 | }; 317 | }; 318 | 319 | "six" = python.mkDerivation { 320 | name = "six-1.12.0"; 321 | src = pkgs.fetchurl { 322 | url = "https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz"; 323 | sha256 = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"; 324 | }; 325 | doCheck = commonDoCheck; 326 | buildInputs = commonBuildInputs ++ [ ]; 327 | propagatedBuildInputs = [ ]; 328 | meta = with pkgs.stdenv.lib; { 329 | homepage = "https://github.com/benjaminp/six"; 330 | license = licenses.mit; 331 | description = "Python 2 and 3 compatibility utilities"; 332 | }; 333 | }; 334 | 335 | "smartypants" = python.mkDerivation { 336 | name = "smartypants-2.0.0"; 337 | src = pkgs.fetchurl { 338 | url = "https://files.pythonhosted.org/packages/09/dd/08848ea21422a585ecd2dd32c032fd8f75f0f8345225b455f3bf9e5a0feb/smartypants-2.0.0.tar.gz"; 339 | sha256 = "7812353a32022699a1aa8cd5626e01c94a946dcaeedaee2d0b382bae4c4cbf36"; 340 | }; 341 | doCheck = commonDoCheck; 342 | buildInputs = commonBuildInputs ++ [ ]; 343 | propagatedBuildInputs = [ ]; 344 | meta = with pkgs.stdenv.lib; { 345 | homepage = "https://bitbucket.org/livibetter/smartypants.py"; 346 | license = licenses.bsdOriginal; 347 | description = "Python with the SmartyPants"; 348 | }; 349 | }; 350 | 351 | "tornado" = python.mkDerivation { 352 | name = "tornado-5.1.1"; 353 | src = pkgs.fetchurl { 354 | url = "https://files.pythonhosted.org/packages/e6/78/6e7b5af12c12bdf38ca9bfe863fcaf53dc10430a312d0324e76c1e5ca426/tornado-5.1.1.tar.gz"; 355 | sha256 = "4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409"; 356 | }; 357 | doCheck = commonDoCheck; 358 | buildInputs = commonBuildInputs ++ [ ]; 359 | propagatedBuildInputs = [ ]; 360 | meta = with pkgs.stdenv.lib; { 361 | homepage = "http://www.tornadoweb.org/"; 362 | license = "http://www.apache.org/licenses/LICENSE-2.0"; 363 | description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."; 364 | }; 365 | }; 366 | 367 | "typogrify" = python.mkDerivation { 368 | name = "typogrify-2.0.7"; 369 | src = pkgs.fetchurl { 370 | url = "https://files.pythonhosted.org/packages/8a/bf/64959d6187d42472acb846bcf462347c9124952c05bd57e5769d5f28f9a6/typogrify-2.0.7.tar.gz"; 371 | sha256 = "8be4668cda434163ce229d87ca273a11922cb1614cb359970b7dc96eed13cb38"; 372 | }; 373 | doCheck = commonDoCheck; 374 | buildInputs = commonBuildInputs ++ [ ]; 375 | propagatedBuildInputs = [ 376 | self."smartypants" 377 | ]; 378 | meta = with pkgs.stdenv.lib; { 379 | homepage = "https://github.com/mintchaos/typogrify"; 380 | license = licenses.bsdOriginal; 381 | description = "Filters to enhance web typography, including support for Django & Jinja templates"; 382 | }; 383 | }; 384 | }; 385 | localOverridesFile = ./requirements_override.nix; 386 | localOverrides = import localOverridesFile { inherit pkgs python; }; 387 | commonOverrides = [ 388 | (import ../overrides.nix { inherit pkgs python ; }) 389 | ]; 390 | paramOverrides = [ 391 | (overrides { inherit pkgs python; }) 392 | ]; 393 | allOverrides = 394 | (if (builtins.pathExists localOverridesFile) 395 | then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides; 396 | 397 | in python.withPackages 398 | (fix' (pkgs.lib.fold 399 | extends 400 | generated 401 | allOverrides 402 | ) 403 | ) -------------------------------------------------------------------------------- /pelican/requirements.txt: -------------------------------------------------------------------------------- 1 | ghp-import 2 | livereload 3 | pelican 4 | typogrify 5 | -------------------------------------------------------------------------------- /pelican/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | blinker==1.4 2 | docutils==0.14 3 | feedgenerator==1.9 4 | ghp-import==0.5.5 5 | Jinja2==2.10 6 | livereload==2.6.0 7 | MarkupSafe==1.1.0 8 | pelican==4.0.1 9 | Pygments==2.3.1 10 | python-dateutil==2.7.5 11 | pytz==2018.7 12 | setuptools-scm==3.1.0 13 | six==1.12.0 14 | smartypants==2.0.0 15 | tornado==5.1.1 16 | typogrify==2.0.7 17 | Unidecode==1.0.23 18 | -------------------------------------------------------------------------------- /pykube/requirements.nix: -------------------------------------------------------------------------------- 1 | # generated using pypi2nix tool (version: 2.0.0) 2 | # See more at: https://github.com/garbas/pypi2nix 3 | # 4 | # COMMAND: 5 | # pypi2nix -W https://travis.garbas.si/wheels_cache/ -v -V 3.7 -r requirements.txt -O ../overrides.nix 6 | # 7 | 8 | { pkgs ? import {}, 9 | overrides ? ({ pkgs, python }: self: super: {}) 10 | }: 11 | 12 | let 13 | 14 | inherit (pkgs) makeWrapper; 15 | inherit (pkgs.stdenv.lib) fix' extends inNixShell; 16 | 17 | pythonPackages = 18 | import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 19 | inherit pkgs; 20 | inherit (pkgs) stdenv; 21 | python = pkgs.python37; 22 | # patching pip so it does not try to remove files when running nix-shell 23 | overrides = 24 | self: super: { 25 | bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 26 | patchPhase = old.patchPhase + '' 27 | if [ -e $out/${pkgs.python37.sitePackages}/pip/req/req_install.py ]; then 28 | sed -i \ 29 | -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" \ 30 | -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" \ 31 | $out/${pkgs.python37.sitePackages}/pip/req/req_install.py 32 | fi 33 | ''; 34 | }); 35 | }; 36 | }; 37 | 38 | commonBuildInputs = []; 39 | commonDoCheck = false; 40 | 41 | withPackages = pkgs': 42 | let 43 | pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 44 | interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage { 45 | name = "python37-interpreter"; 46 | buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs); 47 | buildCommand = '' 48 | mkdir -p $out/bin 49 | ln -s ${pythonPackages.python.interpreter} \ 50 | $out/bin/${pythonPackages.python.executable} 51 | for dep in ${builtins.concatStringsSep " " 52 | (selectPkgsFn pkgs)}; do 53 | if [ -d "$dep/bin" ]; then 54 | for prog in "$dep/bin/"*; do 55 | if [ -x "$prog" ] && [ -f "$prog" ]; then 56 | ln -s $prog $out/bin/`basename $prog` 57 | fi 58 | done 59 | fi 60 | done 61 | for prog in "$out/bin/"*; do 62 | wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 63 | done 64 | pushd $out/bin 65 | ln -s ${pythonPackages.python.executable} python 66 | ln -s ${pythonPackages.python.executable} \ 67 | python3 68 | popd 69 | ''; 70 | passthru.interpreter = pythonPackages.python; 71 | }; 72 | 73 | interpreter = interpreterWithPackages builtins.attrValues; 74 | in { 75 | __old = pythonPackages; 76 | inherit interpreter; 77 | inherit interpreterWithPackages; 78 | mkDerivation = pythonPackages.buildPythonPackage; 79 | packages = pkgs; 80 | overrideDerivation = drv: f: 81 | pythonPackages.buildPythonPackage ( 82 | drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; } 83 | ); 84 | withPackages = pkgs'': 85 | withPackages (pkgs // pkgs''); 86 | }; 87 | 88 | python = withPackages {}; 89 | 90 | generated = self: { 91 | "PyYAML" = python.mkDerivation { 92 | name = "PyYAML-3.13"; 93 | src = pkgs.fetchurl { 94 | url = "https://files.pythonhosted.org/packages/9e/a3/1d13970c3f36777c583f136c136f804d70f500168edc1edea6daa7200769/PyYAML-3.13.tar.gz"; 95 | sha256 = "3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf"; 96 | }; 97 | doCheck = commonDoCheck; 98 | buildInputs = commonBuildInputs ++ [ ]; 99 | propagatedBuildInputs = [ ]; 100 | meta = with pkgs.stdenv.lib; { 101 | homepage = "http://pyyaml.org/wiki/PyYAML"; 102 | license = licenses.mit; 103 | description = "YAML parser and emitter for Python"; 104 | }; 105 | }; 106 | 107 | "certifi" = python.mkDerivation { 108 | name = "certifi-2018.11.29"; 109 | src = pkgs.fetchurl { 110 | url = "https://files.pythonhosted.org/packages/55/54/3ce77783acba5979ce16674fc98b1920d00b01d337cfaaf5db22543505ed/certifi-2018.11.29.tar.gz"; 111 | sha256 = "47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7"; 112 | }; 113 | doCheck = commonDoCheck; 114 | buildInputs = commonBuildInputs ++ [ ]; 115 | propagatedBuildInputs = [ ]; 116 | meta = with pkgs.stdenv.lib; { 117 | homepage = "https://certifi.io/"; 118 | license = licenses.mpl20; 119 | description = "Python package for providing Mozilla's CA Bundle."; 120 | }; 121 | }; 122 | 123 | "chardet" = python.mkDerivation { 124 | name = "chardet-3.0.4"; 125 | src = pkgs.fetchurl { 126 | url = "https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz"; 127 | sha256 = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"; 128 | }; 129 | doCheck = commonDoCheck; 130 | buildInputs = commonBuildInputs ++ [ ]; 131 | propagatedBuildInputs = [ ]; 132 | meta = with pkgs.stdenv.lib; { 133 | homepage = "https://github.com/chardet/chardet"; 134 | license = licenses.lgpl3; 135 | description = "Universal encoding detector for Python 2 and 3"; 136 | }; 137 | }; 138 | 139 | "httplib2" = python.mkDerivation { 140 | name = "httplib2-0.12.0"; 141 | src = pkgs.fetchurl { 142 | url = "https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz"; 143 | sha256 = "f61fb838a94ce3b349aa32c92fd8430f7e3511afdb18bf9640d647e30c90a6d6"; 144 | }; 145 | doCheck = commonDoCheck; 146 | buildInputs = commonBuildInputs ++ [ ]; 147 | propagatedBuildInputs = [ ]; 148 | meta = with pkgs.stdenv.lib; { 149 | homepage = "https://github.com/httplib2/httplib2"; 150 | license = licenses.mit; 151 | description = "A comprehensive HTTP client library."; 152 | }; 153 | }; 154 | 155 | "idna" = python.mkDerivation { 156 | name = "idna-2.8"; 157 | src = pkgs.fetchurl { 158 | url = "https://files.pythonhosted.org/packages/ad/13/eb56951b6f7950cadb579ca166e448ba77f9d24efc03edd7e55fa57d04b7/idna-2.8.tar.gz"; 159 | sha256 = "c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407"; 160 | }; 161 | doCheck = commonDoCheck; 162 | buildInputs = commonBuildInputs ++ [ ]; 163 | propagatedBuildInputs = [ ]; 164 | meta = with pkgs.stdenv.lib; { 165 | homepage = "https://github.com/kjd/idna"; 166 | license = licenses.bsdOriginal; 167 | description = "Internationalized Domain Names in Applications (IDNA)"; 168 | }; 169 | }; 170 | 171 | "oauth2client" = python.mkDerivation { 172 | name = "oauth2client-4.1.3"; 173 | src = pkgs.fetchurl { 174 | url = "https://files.pythonhosted.org/packages/a6/7b/17244b1083e8e604bf154cf9b716aecd6388acd656dd01893d0d244c94d9/oauth2client-4.1.3.tar.gz"; 175 | sha256 = "d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6"; 176 | }; 177 | doCheck = commonDoCheck; 178 | buildInputs = commonBuildInputs ++ [ ]; 179 | propagatedBuildInputs = [ 180 | self."httplib2" 181 | self."pyasn1" 182 | self."pyasn1-modules" 183 | self."rsa" 184 | self."six" 185 | ]; 186 | meta = with pkgs.stdenv.lib; { 187 | homepage = "http://github.com/google/oauth2client/"; 188 | license = licenses.asl20; 189 | description = "OAuth 2.0 client library"; 190 | }; 191 | }; 192 | 193 | "oauthlib" = python.mkDerivation { 194 | name = "oauthlib-2.1.0"; 195 | src = pkgs.fetchurl { 196 | url = "https://files.pythonhosted.org/packages/df/5f/3f4aae7b28db87ddef18afed3b71921e531ca288dc604eb981e9ec9f8853/oauthlib-2.1.0.tar.gz"; 197 | sha256 = "ac35665a61c1685c56336bda97d5eefa246f1202618a1d6f34fccb1bdd404162"; 198 | }; 199 | doCheck = commonDoCheck; 200 | buildInputs = commonBuildInputs ++ [ ]; 201 | propagatedBuildInputs = [ ]; 202 | meta = with pkgs.stdenv.lib; { 203 | homepage = "https://github.com/oauthlib/oauthlib"; 204 | license = licenses.bsdOriginal; 205 | description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"; 206 | }; 207 | }; 208 | 209 | "pyasn1" = python.mkDerivation { 210 | name = "pyasn1-0.4.4"; 211 | src = pkgs.fetchurl { 212 | url = "https://files.pythonhosted.org/packages/10/46/059775dc8e50f722d205452bced4b3cc965d27e8c3389156acd3b1123ae3/pyasn1-0.4.4.tar.gz"; 213 | sha256 = "f58f2a3d12fd754aa123e9fa74fb7345333000a035f3921dbdaa08597aa53137"; 214 | }; 215 | doCheck = commonDoCheck; 216 | buildInputs = commonBuildInputs ++ [ ]; 217 | propagatedBuildInputs = [ ]; 218 | meta = with pkgs.stdenv.lib; { 219 | homepage = "https://github.com/etingof/pyasn1"; 220 | license = licenses.bsdOriginal; 221 | description = "ASN.1 types and codecs"; 222 | }; 223 | }; 224 | 225 | "pyasn1-modules" = python.mkDerivation { 226 | name = "pyasn1-modules-0.2.2"; 227 | src = pkgs.fetchurl { 228 | url = "https://files.pythonhosted.org/packages/37/33/74ebdc52be534e683dc91faf263931bc00ae05c6073909fde53999088541/pyasn1-modules-0.2.2.tar.gz"; 229 | sha256 = "a0cf3e1842e7c60fde97cb22d275eb6f9524f5c5250489e292529de841417547"; 230 | }; 231 | doCheck = commonDoCheck; 232 | buildInputs = commonBuildInputs ++ [ ]; 233 | propagatedBuildInputs = [ 234 | self."pyasn1" 235 | ]; 236 | meta = with pkgs.stdenv.lib; { 237 | homepage = "https://github.com/etingof/pyasn1-modules"; 238 | license = licenses.bsdOriginal; 239 | description = "A collection of ASN.1-based protocols modules."; 240 | }; 241 | }; 242 | 243 | "pykube" = python.mkDerivation { 244 | name = "pykube-0.15.0"; 245 | src = pkgs.fetchurl { 246 | url = "https://files.pythonhosted.org/packages/a2/40/59fe3425a3d4ac4a41f8d99e71f4862b1c3aaaa99f61afd50ff37f39dae2/pykube-0.15.0.tar.gz"; 247 | sha256 = "e53800d0d45f13911aa4ebca8463ae5cc82afad461f6575a0a217d2fce5f088b"; 248 | }; 249 | doCheck = commonDoCheck; 250 | buildInputs = commonBuildInputs ++ [ ]; 251 | propagatedBuildInputs = [ 252 | self."PyYAML" 253 | self."oauth2client" 254 | self."requests" 255 | self."requests-oauthlib" 256 | self."six" 257 | self."tzlocal" 258 | ]; 259 | meta = with pkgs.stdenv.lib; { 260 | homepage = "https://github.com/kelproject/pykube"; 261 | license = "Apache"; 262 | description = "Python client library for Kubernetes"; 263 | }; 264 | }; 265 | 266 | "pytz" = python.mkDerivation { 267 | name = "pytz-2018.7"; 268 | src = pkgs.fetchurl { 269 | url = "https://files.pythonhosted.org/packages/cd/71/ae99fc3df1b1c5267d37ef2c51b7d79c44ba8a5e37b48e3ca93b4d74d98b/pytz-2018.7.tar.gz"; 270 | sha256 = "31cb35c89bd7d333cd32c5f278fca91b523b0834369e757f4c5641ea252236ca"; 271 | }; 272 | doCheck = commonDoCheck; 273 | buildInputs = commonBuildInputs ++ [ ]; 274 | propagatedBuildInputs = [ ]; 275 | meta = with pkgs.stdenv.lib; { 276 | homepage = "http://pythonhosted.org/pytz"; 277 | license = licenses.mit; 278 | description = "World timezone definitions, modern and historical"; 279 | }; 280 | }; 281 | 282 | "requests" = python.mkDerivation { 283 | name = "requests-2.21.0"; 284 | src = pkgs.fetchurl { 285 | url = "https://files.pythonhosted.org/packages/52/2c/514e4ac25da2b08ca5a464c50463682126385c4272c18193876e91f4bc38/requests-2.21.0.tar.gz"; 286 | sha256 = "502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e"; 287 | }; 288 | doCheck = commonDoCheck; 289 | buildInputs = commonBuildInputs ++ [ ]; 290 | propagatedBuildInputs = [ 291 | self."certifi" 292 | self."chardet" 293 | self."idna" 294 | self."urllib3" 295 | ]; 296 | meta = with pkgs.stdenv.lib; { 297 | homepage = "http://python-requests.org"; 298 | license = licenses.asl20; 299 | description = "Python HTTP for Humans."; 300 | }; 301 | }; 302 | 303 | "requests-oauthlib" = python.mkDerivation { 304 | name = "requests-oauthlib-1.0.0"; 305 | src = pkgs.fetchurl { 306 | url = "https://files.pythonhosted.org/packages/95/be/072464f05b70e4142cb37151e215a2037b08b1400f8a56f2538b76ca6205/requests-oauthlib-1.0.0.tar.gz"; 307 | sha256 = "8886bfec5ad7afb391ed5443b1f697c6f4ae98d0e5620839d8b4499c032ada3f"; 308 | }; 309 | doCheck = commonDoCheck; 310 | buildInputs = commonBuildInputs ++ [ ]; 311 | propagatedBuildInputs = [ 312 | self."oauthlib" 313 | self."requests" 314 | ]; 315 | meta = with pkgs.stdenv.lib; { 316 | homepage = "https://github.com/requests/requests-oauthlib"; 317 | license = "ISC"; 318 | description = "OAuthlib authentication support for Requests."; 319 | }; 320 | }; 321 | 322 | "rsa" = python.mkDerivation { 323 | name = "rsa-4.0"; 324 | src = pkgs.fetchurl { 325 | url = "https://files.pythonhosted.org/packages/cb/d0/8f99b91432a60ca4b1cd478fd0bdf28c1901c58e3a9f14f4ba3dba86b57f/rsa-4.0.tar.gz"; 326 | sha256 = "1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487"; 327 | }; 328 | doCheck = commonDoCheck; 329 | buildInputs = commonBuildInputs ++ [ ]; 330 | propagatedBuildInputs = [ 331 | self."pyasn1" 332 | ]; 333 | meta = with pkgs.stdenv.lib; { 334 | homepage = "https://stuvel.eu/rsa"; 335 | license = "ASL 2"; 336 | description = "Pure-Python RSA implementation"; 337 | }; 338 | }; 339 | 340 | "six" = python.mkDerivation { 341 | name = "six-1.12.0"; 342 | src = pkgs.fetchurl { 343 | url = "https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz"; 344 | sha256 = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"; 345 | }; 346 | doCheck = commonDoCheck; 347 | buildInputs = commonBuildInputs ++ [ ]; 348 | propagatedBuildInputs = [ ]; 349 | meta = with pkgs.stdenv.lib; { 350 | homepage = "https://github.com/benjaminp/six"; 351 | license = licenses.mit; 352 | description = "Python 2 and 3 compatibility utilities"; 353 | }; 354 | }; 355 | 356 | "tzlocal" = python.mkDerivation { 357 | name = "tzlocal-1.5.1"; 358 | src = pkgs.fetchurl { 359 | url = "https://files.pythonhosted.org/packages/cb/89/e3687d3ed99bc882793f82634e9824e62499fdfdc4b1ae39e211c5b05017/tzlocal-1.5.1.tar.gz"; 360 | sha256 = "4ebeb848845ac898da6519b9b31879cf13b6626f7184c496037b818e238f2c4e"; 361 | }; 362 | doCheck = commonDoCheck; 363 | buildInputs = commonBuildInputs ++ [ ]; 364 | propagatedBuildInputs = [ 365 | self."pytz" 366 | ]; 367 | meta = with pkgs.stdenv.lib; { 368 | homepage = "https://github.com/regebro/tzlocal"; 369 | license = licenses.mit; 370 | description = "tzinfo object for the local timezone"; 371 | }; 372 | }; 373 | 374 | "urllib3" = python.mkDerivation { 375 | name = "urllib3-1.24.1"; 376 | src = pkgs.fetchurl { 377 | url = "https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1/urllib3-1.24.1.tar.gz"; 378 | sha256 = "de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22"; 379 | }; 380 | doCheck = commonDoCheck; 381 | buildInputs = commonBuildInputs ++ [ ]; 382 | propagatedBuildInputs = [ 383 | self."certifi" 384 | ]; 385 | meta = with pkgs.stdenv.lib; { 386 | homepage = "https://urllib3.readthedocs.io/"; 387 | license = licenses.mit; 388 | description = "HTTP library with thread-safe connection pooling, file post, and more."; 389 | }; 390 | }; 391 | }; 392 | localOverridesFile = ./requirements_override.nix; 393 | localOverrides = import localOverridesFile { inherit pkgs python; }; 394 | commonOverrides = [ 395 | (import ../overrides.nix { inherit pkgs python ; }) 396 | ]; 397 | paramOverrides = [ 398 | (overrides { inherit pkgs python; }) 399 | ]; 400 | allOverrides = 401 | (if (builtins.pathExists localOverridesFile) 402 | then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides; 403 | 404 | in python.withPackages 405 | (fix' (pkgs.lib.fold 406 | extends 407 | generated 408 | allOverrides 409 | ) 410 | ) -------------------------------------------------------------------------------- /pykube/requirements.txt: -------------------------------------------------------------------------------- 1 | pykube 2 | -------------------------------------------------------------------------------- /pykube/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | certifi==2018.11.29 2 | chardet==3.0.4 3 | httplib2==0.12.0 4 | idna==2.8 5 | oauth2client==4.1.3 6 | oauthlib==2.1.0 7 | pyasn1==0.4.4 8 | pyasn1-modules==0.2.2 9 | pykube==0.15.0 10 | pytz==2018.7 11 | PyYAML==3.13 12 | requests==2.21.0 13 | requests-oauthlib==1.0.0 14 | rsa==4.0 15 | six==1.12.0 16 | tzlocal==1.5.1 17 | urllib3==1.24.1 18 | -------------------------------------------------------------------------------- /pypi2nix/requirements.nix: -------------------------------------------------------------------------------- 1 | # generated using pypi2nix tool (version: 2.0.0) 2 | # See more at: https://github.com/garbas/pypi2nix 3 | # 4 | # COMMAND: 5 | # pypi2nix -W https://travis.garbas.si/wheels_cache/ -v -V 3.5 -O ../overrides.nix -r requirements.txt 6 | # 7 | 8 | { pkgs ? import {}, 9 | overrides ? ({ pkgs, python }: self: super: {}) 10 | }: 11 | 12 | let 13 | 14 | inherit (pkgs) makeWrapper; 15 | inherit (pkgs.stdenv.lib) fix' extends inNixShell; 16 | 17 | pythonPackages = 18 | import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 19 | inherit pkgs; 20 | inherit (pkgs) stdenv; 21 | python = pkgs.python35; 22 | # patching pip so it does not try to remove files when running nix-shell 23 | overrides = 24 | self: super: { 25 | bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 26 | patchPhase = old.patchPhase + '' 27 | if [ -e $out/${pkgs.python35.sitePackages}/pip/req/req_install.py ]; then 28 | sed -i \ 29 | -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" \ 30 | -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" \ 31 | $out/${pkgs.python35.sitePackages}/pip/req/req_install.py 32 | fi 33 | ''; 34 | }); 35 | }; 36 | }; 37 | 38 | commonBuildInputs = []; 39 | commonDoCheck = false; 40 | 41 | withPackages = pkgs': 42 | let 43 | pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 44 | interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage { 45 | name = "python35-interpreter"; 46 | buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs); 47 | buildCommand = '' 48 | mkdir -p $out/bin 49 | ln -s ${pythonPackages.python.interpreter} \ 50 | $out/bin/${pythonPackages.python.executable} 51 | for dep in ${builtins.concatStringsSep " " 52 | (selectPkgsFn pkgs)}; do 53 | if [ -d "$dep/bin" ]; then 54 | for prog in "$dep/bin/"*; do 55 | if [ -x "$prog" ] && [ -f "$prog" ]; then 56 | ln -s $prog $out/bin/`basename $prog` 57 | fi 58 | done 59 | fi 60 | done 61 | for prog in "$out/bin/"*; do 62 | wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 63 | done 64 | pushd $out/bin 65 | ln -s ${pythonPackages.python.executable} python 66 | ln -s ${pythonPackages.python.executable} \ 67 | python3 68 | popd 69 | ''; 70 | passthru.interpreter = pythonPackages.python; 71 | }; 72 | 73 | interpreter = interpreterWithPackages builtins.attrValues; 74 | in { 75 | __old = pythonPackages; 76 | inherit interpreter; 77 | inherit interpreterWithPackages; 78 | mkDerivation = pythonPackages.buildPythonPackage; 79 | packages = pkgs; 80 | overrideDerivation = drv: f: 81 | pythonPackages.buildPythonPackage ( 82 | drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; } 83 | ); 84 | withPackages = pkgs'': 85 | withPackages (pkgs // pkgs''); 86 | }; 87 | 88 | python = withPackages {}; 89 | 90 | generated = self: { 91 | "Click" = python.mkDerivation { 92 | name = "Click-7.0"; 93 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/f8/5c/f60e9d8a1e77005f664b76ff8aeaee5bc05d0a91798afd7f53fc998dbc47/Click-7.0.tar.gz"; sha256 = "5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"; }; 94 | doCheck = commonDoCheck; 95 | checkPhase = ""; 96 | installCheckPhase = ""; 97 | buildInputs = commonBuildInputs; 98 | propagatedBuildInputs = [ ]; 99 | meta = with pkgs.stdenv.lib; { 100 | homepage = "https://palletsprojects.com/p/click/"; 101 | license = licenses.bsdOriginal; 102 | description = "Composable command line interface toolkit"; 103 | }; 104 | }; 105 | 106 | "Jinja2" = python.mkDerivation { 107 | name = "Jinja2-2.10"; 108 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47/Jinja2-2.10.tar.gz"; sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"; }; 109 | doCheck = commonDoCheck; 110 | checkPhase = ""; 111 | installCheckPhase = ""; 112 | buildInputs = commonBuildInputs; 113 | propagatedBuildInputs = [ 114 | self."MarkupSafe" 115 | ]; 116 | meta = with pkgs.stdenv.lib; { 117 | homepage = "http://jinja.pocoo.org/"; 118 | license = licenses.bsdOriginal; 119 | description = "A small but fast and easy to use stand-alone template engine written in pure python."; 120 | }; 121 | }; 122 | 123 | "MarkupSafe" = python.mkDerivation { 124 | name = "MarkupSafe-1.1.0"; 125 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/ac/7e/1b4c2e05809a4414ebce0892fe1e32c14ace86ca7d50c70f00979ca9b3a3/MarkupSafe-1.1.0.tar.gz"; sha256 = "4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3"; }; 126 | doCheck = commonDoCheck; 127 | checkPhase = ""; 128 | installCheckPhase = ""; 129 | buildInputs = commonBuildInputs; 130 | propagatedBuildInputs = [ ]; 131 | meta = with pkgs.stdenv.lib; { 132 | homepage = "https://www.palletsprojects.com/p/markupsafe/"; 133 | license = licenses.bsdOriginal; 134 | description = "Safely add untrusted strings to HTML/XML markup."; 135 | }; 136 | }; 137 | 138 | "attrs" = python.mkDerivation { 139 | name = "attrs-18.2.0"; 140 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf/attrs-18.2.0.tar.gz"; sha256 = "10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69"; }; 141 | doCheck = commonDoCheck; 142 | checkPhase = ""; 143 | installCheckPhase = ""; 144 | buildInputs = commonBuildInputs; 145 | propagatedBuildInputs = [ ]; 146 | meta = with pkgs.stdenv.lib; { 147 | homepage = "https://www.attrs.org/"; 148 | license = licenses.mit; 149 | description = "Classes Without Boilerplate"; 150 | }; 151 | }; 152 | 153 | "certifi" = python.mkDerivation { 154 | name = "certifi-2018.11.29"; 155 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/55/54/3ce77783acba5979ce16674fc98b1920d00b01d337cfaaf5db22543505ed/certifi-2018.11.29.tar.gz"; sha256 = "47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7"; }; 156 | doCheck = commonDoCheck; 157 | checkPhase = ""; 158 | installCheckPhase = ""; 159 | buildInputs = commonBuildInputs; 160 | propagatedBuildInputs = [ ]; 161 | meta = with pkgs.stdenv.lib; { 162 | homepage = "https://certifi.io/"; 163 | license = licenses.mpl20; 164 | description = "Python package for providing Mozilla's CA Bundle."; 165 | }; 166 | }; 167 | 168 | "chardet" = python.mkDerivation { 169 | name = "chardet-3.0.4"; 170 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz"; sha256 = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"; }; 171 | doCheck = commonDoCheck; 172 | checkPhase = ""; 173 | installCheckPhase = ""; 174 | buildInputs = commonBuildInputs; 175 | propagatedBuildInputs = [ ]; 176 | meta = with pkgs.stdenv.lib; { 177 | homepage = "https://github.com/chardet/chardet"; 178 | license = licenses.lgpl3; 179 | description = "Universal encoding detector for Python 2 and 3"; 180 | }; 181 | }; 182 | 183 | "effect" = python.mkDerivation { 184 | name = "effect-0.11.0"; 185 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/8a/9a/25a881d1a48847ae95742a30ad0471d9fd71f28a506d30e09dc8cdf4b3ac/effect-0.11.0.tar.gz"; sha256 = "0607530ef589b59f907cfebcb681b5ed4ed56bff1fc2a5de430dcfa72ae1e5e0"; }; 186 | doCheck = commonDoCheck; 187 | checkPhase = ""; 188 | installCheckPhase = ""; 189 | buildInputs = commonBuildInputs; 190 | propagatedBuildInputs = [ 191 | self."attrs" 192 | self."six" 193 | ]; 194 | meta = with pkgs.stdenv.lib; { 195 | homepage = "http://github.com/python-effect/effect/"; 196 | license = licenses.mit; 197 | description = "pure effects for Python"; 198 | }; 199 | }; 200 | 201 | "idna" = python.mkDerivation { 202 | name = "idna-2.7"; 203 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/65/c4/80f97e9c9628f3cac9b98bfca0402ede54e0563b56482e3e6e45c43c4935/idna-2.7.tar.gz"; sha256 = "684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16"; }; 204 | doCheck = commonDoCheck; 205 | checkPhase = ""; 206 | installCheckPhase = ""; 207 | buildInputs = commonBuildInputs; 208 | propagatedBuildInputs = [ ]; 209 | meta = with pkgs.stdenv.lib; { 210 | homepage = "https://github.com/kjd/idna"; 211 | license = licenses.bsdOriginal; 212 | description = "Internationalized Domain Names in Applications (IDNA)"; 213 | }; 214 | }; 215 | 216 | "nix-prefetch-github" = python.mkDerivation { 217 | name = "nix-prefetch-github-1.3"; 218 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/1c/50/0d492582fafb03e287c4bc512cd304a6f3fb2b100413bda62e087154fc4e/nix-prefetch-github-1.3.tar.gz"; sha256 = "f8aac41de44ccf3d346dd22f1ccd0f53dc7db01aa29054cdf367890aaa089c56"; }; 219 | doCheck = commonDoCheck; 220 | checkPhase = ""; 221 | installCheckPhase = ""; 222 | buildInputs = commonBuildInputs; 223 | propagatedBuildInputs = [ 224 | self."Click" 225 | self."Jinja2" 226 | self."attrs" 227 | self."effect" 228 | self."requests" 229 | ]; 230 | meta = with pkgs.stdenv.lib; { 231 | homepage = "https://github.com/seppeljordan/nix-prefetch-github"; 232 | license = "GPL3"; 233 | description = "Prefetch source code from github for nix build tool"; 234 | }; 235 | }; 236 | 237 | "pypi2nix" = python.mkDerivation { 238 | name = "pypi2nix-2.0.0"; 239 | src = pkgs.fetchgit { url = "https://github.com/garbas/pypi2nix"; sha256 = "01356cmxk5qxhb224dpqd374mappair0q9nnqdchsbpyg6yzyxp0"; rev = "e0e77eeb32527dd63f24f690fa9650d198243e86"; }; 240 | doCheck = commonDoCheck; 241 | checkPhase = ""; 242 | installCheckPhase = ""; 243 | buildInputs = commonBuildInputs; 244 | propagatedBuildInputs = [ 245 | self."Click" 246 | self."Jinja2" 247 | self."nix-prefetch-github" 248 | self."requests" 249 | ]; 250 | meta = with pkgs.stdenv.lib; { 251 | homepage = "https://github.com/NixOS/pypi2nix"; 252 | license = licenses.bsdOriginal; 253 | description = "A tool that generates nix expressions for your python packages, so you don't have to."; 254 | }; 255 | }; 256 | 257 | "requests" = python.mkDerivation { 258 | name = "requests-2.20.1"; 259 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/40/35/298c36d839547b50822985a2cf0611b3b978a5ab7a5af5562b8ebe3e1369/requests-2.20.1.tar.gz"; sha256 = "ea881206e59f41dbd0bd445437d792e43906703fff75ca8ff43ccdb11f33f263"; }; 260 | doCheck = commonDoCheck; 261 | checkPhase = ""; 262 | installCheckPhase = ""; 263 | buildInputs = commonBuildInputs; 264 | propagatedBuildInputs = [ 265 | self."certifi" 266 | self."chardet" 267 | self."idna" 268 | self."urllib3" 269 | ]; 270 | meta = with pkgs.stdenv.lib; { 271 | homepage = "http://python-requests.org"; 272 | license = licenses.asl20; 273 | description = "Python HTTP for Humans."; 274 | }; 275 | }; 276 | 277 | "six" = python.mkDerivation { 278 | name = "six-1.11.0"; 279 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"; }; 280 | doCheck = commonDoCheck; 281 | checkPhase = ""; 282 | installCheckPhase = ""; 283 | buildInputs = commonBuildInputs; 284 | propagatedBuildInputs = [ ]; 285 | meta = with pkgs.stdenv.lib; { 286 | homepage = "http://pypi.python.org/pypi/six/"; 287 | license = licenses.mit; 288 | description = "Python 2 and 3 compatibility utilities"; 289 | }; 290 | }; 291 | 292 | "urllib3" = python.mkDerivation { 293 | name = "urllib3-1.24.1"; 294 | src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1/urllib3-1.24.1.tar.gz"; sha256 = "de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22"; }; 295 | doCheck = commonDoCheck; 296 | checkPhase = ""; 297 | installCheckPhase = ""; 298 | buildInputs = commonBuildInputs; 299 | propagatedBuildInputs = [ ]; 300 | meta = with pkgs.stdenv.lib; { 301 | homepage = "https://urllib3.readthedocs.io/"; 302 | license = licenses.mit; 303 | description = "HTTP library with thread-safe connection pooling, file post, and more."; 304 | }; 305 | }; 306 | }; 307 | localOverridesFile = ./requirements_override.nix; 308 | localOverrides = import localOverridesFile { inherit pkgs python; }; 309 | commonOverrides = [ 310 | (import ../overrides.nix { inherit pkgs python ; }) 311 | ]; 312 | paramOverrides = [ 313 | (overrides { inherit pkgs python; }) 314 | ]; 315 | allOverrides = 316 | (if (builtins.pathExists localOverridesFile) 317 | then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides; 318 | 319 | in python.withPackages 320 | (fix' (pkgs.lib.fold 321 | extends 322 | generated 323 | allOverrides 324 | ) 325 | ) -------------------------------------------------------------------------------- /pypi2nix/requirements.txt: -------------------------------------------------------------------------------- 1 | git+https://github.com/garbas/pypi2nix#egg=pypi2nix 2 | -------------------------------------------------------------------------------- /pypi2nix/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | attrs==18.2.0 2 | certifi==2018.11.29 3 | chardet==3.0.4 4 | Click==7.0 5 | effect==0.11.0 6 | idna==2.7 7 | Jinja2==2.10 8 | MarkupSafe==1.1.0 9 | nix-prefetch-github==1.3 10 | pypi2nix==2.0.0 11 | requests==2.20.1 12 | six==1.11.0 13 | urllib3==1.24.1 14 | -------------------------------------------------------------------------------- /pypiserver/requirements.nix: -------------------------------------------------------------------------------- 1 | # generated using pypi2nix tool (version: 2.0.0) 2 | # See more at: https://github.com/garbas/pypi2nix 3 | # 4 | # COMMAND: 5 | # pypi2nix -W https://travis.garbas.si/wheels_cache/ -v -V 3.7 -O ../overrides.nix -s setuptools-git -r requirements.txt 6 | # 7 | 8 | { pkgs ? import {}, 9 | overrides ? ({ pkgs, python }: self: super: {}) 10 | }: 11 | 12 | let 13 | 14 | inherit (pkgs) makeWrapper; 15 | inherit (pkgs.stdenv.lib) fix' extends inNixShell; 16 | 17 | pythonPackages = 18 | import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 19 | inherit pkgs; 20 | inherit (pkgs) stdenv; 21 | python = pkgs.python37; 22 | # patching pip so it does not try to remove files when running nix-shell 23 | overrides = 24 | self: super: { 25 | bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 26 | patchPhase = old.patchPhase + '' 27 | if [ -e $out/${pkgs.python37.sitePackages}/pip/req/req_install.py ]; then 28 | sed -i \ 29 | -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" \ 30 | -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" \ 31 | $out/${pkgs.python37.sitePackages}/pip/req/req_install.py 32 | fi 33 | ''; 34 | }); 35 | }; 36 | }; 37 | 38 | commonBuildInputs = []; 39 | commonDoCheck = false; 40 | 41 | withPackages = pkgs': 42 | let 43 | pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 44 | interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage { 45 | name = "python37-interpreter"; 46 | buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs); 47 | buildCommand = '' 48 | mkdir -p $out/bin 49 | ln -s ${pythonPackages.python.interpreter} \ 50 | $out/bin/${pythonPackages.python.executable} 51 | for dep in ${builtins.concatStringsSep " " 52 | (selectPkgsFn pkgs)}; do 53 | if [ -d "$dep/bin" ]; then 54 | for prog in "$dep/bin/"*; do 55 | if [ -x "$prog" ] && [ -f "$prog" ]; then 56 | ln -s $prog $out/bin/`basename $prog` 57 | fi 58 | done 59 | fi 60 | done 61 | for prog in "$out/bin/"*; do 62 | wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 63 | done 64 | pushd $out/bin 65 | ln -s ${pythonPackages.python.executable} python 66 | ln -s ${pythonPackages.python.executable} \ 67 | python3 68 | popd 69 | ''; 70 | passthru.interpreter = pythonPackages.python; 71 | }; 72 | 73 | interpreter = interpreterWithPackages builtins.attrValues; 74 | in { 75 | __old = pythonPackages; 76 | inherit interpreter; 77 | inherit interpreterWithPackages; 78 | mkDerivation = pythonPackages.buildPythonPackage; 79 | packages = pkgs; 80 | overrideDerivation = drv: f: 81 | pythonPackages.buildPythonPackage ( 82 | drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; } 83 | ); 84 | withPackages = pkgs'': 85 | withPackages (pkgs // pkgs''); 86 | }; 87 | 88 | python = withPackages {}; 89 | 90 | generated = self: { 91 | "passlib" = python.mkDerivation { 92 | name = "passlib-1.7.1"; 93 | src = pkgs.fetchurl { 94 | url = "https://files.pythonhosted.org/packages/25/4b/6fbfc66aabb3017cd8c3bd97b37f769d7503ead2899bf76e570eb91270de/passlib-1.7.1.tar.gz"; 95 | sha256 = "3d948f64138c25633613f303bcc471126eae67c04d5e3f6b7b8ce6242f8653e0"; 96 | }; 97 | doCheck = commonDoCheck; 98 | buildInputs = commonBuildInputs ++ [ ]; 99 | propagatedBuildInputs = [ ]; 100 | meta = with pkgs.stdenv.lib; { 101 | homepage = "https://bitbucket.org/ecollins/passlib"; 102 | license = licenses.bsdOriginal; 103 | description = "comprehensive password hashing framework supporting over 30 schemes"; 104 | }; 105 | }; 106 | 107 | "pypiserver" = python.mkDerivation { 108 | name = "pypiserver-1.2.5"; 109 | src = pkgs.fetchurl { 110 | url = "https://files.pythonhosted.org/packages/f8/50/fdb53daad3eeac92f447b74289fad68e625f0b09cfb54ad9b76de823cce2/pypiserver-1.2.5.zip"; 111 | sha256 = "7785e6bd2b8593722a6e40b8c25a9f67c2c3502ebbdff399c3d48deb92e0e7fa"; 112 | }; 113 | doCheck = commonDoCheck; 114 | buildInputs = commonBuildInputs ++ [ ]; 115 | propagatedBuildInputs = [ 116 | self."passlib" 117 | ]; 118 | meta = with pkgs.stdenv.lib; { 119 | homepage = "https://github.com/pypiserver/pypiserver"; 120 | license = "UNKNOWN"; 121 | description = "A minimal PyPI server for use with pip/easy_install."; 122 | }; 123 | }; 124 | 125 | "setuptools-git" = python.mkDerivation { 126 | name = "setuptools-git-1.2"; 127 | src = pkgs.fetchurl { 128 | url = "https://files.pythonhosted.org/packages/d9/c5/396c2c06cc89d4ce2d8ccf1d7e6cf31b33d4466a7c65a67a992adb3c6f29/setuptools-git-1.2.tar.gz"; 129 | sha256 = "ff64136da01aabba76ae88b050e7197918d8b2139ccbf6144e14d472b9c40445"; 130 | }; 131 | doCheck = commonDoCheck; 132 | buildInputs = commonBuildInputs ++ [ ]; 133 | propagatedBuildInputs = [ ]; 134 | meta = with pkgs.stdenv.lib; { 135 | homepage = "https://github.com/wichert/setuptools-git"; 136 | license = licenses.bsdOriginal; 137 | description = "Setuptools revision control system plugin for Git"; 138 | }; 139 | }; 140 | }; 141 | localOverridesFile = ./requirements_override.nix; 142 | localOverrides = import localOverridesFile { inherit pkgs python; }; 143 | commonOverrides = [ 144 | (import ../overrides.nix { inherit pkgs python ; }) 145 | ]; 146 | paramOverrides = [ 147 | (overrides { inherit pkgs python; }) 148 | ]; 149 | allOverrides = 150 | (if (builtins.pathExists localOverridesFile) 151 | then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides; 152 | 153 | in python.withPackages 154 | (fix' (pkgs.lib.fold 155 | extends 156 | generated 157 | allOverrides 158 | ) 159 | ) -------------------------------------------------------------------------------- /pypiserver/requirements.txt: -------------------------------------------------------------------------------- 1 | pypiserver 2 | passlib 3 | -------------------------------------------------------------------------------- /pypiserver/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | passlib==1.7.1 2 | pypiserver==1.2.5 3 | setuptools-git==1.2 4 | -------------------------------------------------------------------------------- /pyramid/requirements.txt: -------------------------------------------------------------------------------- 1 | pyramid 2 | pyramid_chameleon 3 | pyramid_debugtoolbar 4 | pyramid_deform 5 | pyramid_exclog 6 | pyramid_jinja2 7 | pyramid_mako 8 | pyramid_socketio 9 | pyramid_sqlalchemy 10 | pyramid_tm 11 | pyramid_who 12 | pyramid_zcml 13 | -------------------------------------------------------------------------------- /pyramid/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | Chameleon==3.5 2 | colander==1.5.1 3 | deform==2.0.7 4 | gevent==1.3.7 5 | gevent-socketio==0.3.6 6 | gevent-websocket==0.10.1 7 | greenlet==0.4.15 8 | hupper==1.4.2 9 | iso8601==0.1.12 10 | Jinja2==2.10 11 | Mako==1.0.7 12 | MarkupSafe==1.1.0 13 | PasteDeploy==2.0.1 14 | peppercorn==0.6 15 | plaster==1.0 16 | plaster-pastedeploy==0.6 17 | Pygments==2.3.1 18 | pyramid==1.10.1 19 | pyramid-chameleon==0.3 20 | pyramid-debugtoolbar==4.5 21 | pyramid-deform==0.2 22 | pyramid-exclog==1.0 23 | pyramid-jinja2==2.7 24 | pyramid-mako==1.0.2 25 | pyramid-socketio==0.9 26 | pyramid-sqlalchemy==1.6 27 | pyramid-tm==2.2.1 28 | pyramid-who==0.3 29 | pyramid-zcml==1.1.0 30 | pytest-runner==4.2 31 | repoze.lru==0.7 32 | repoze.who==2.3 33 | setuptools-scm==3.1.0 34 | six==1.12.0 35 | SQLAlchemy==1.2.15 36 | transaction==2.4.0 37 | translationstring==1.3 38 | venusian==1.1.0 39 | versiontools==1.9.1 40 | WebOb==1.8.4 41 | zope.configuration==4.3.0 42 | zope.deprecation==4.4.0 43 | zope.event==4.4 44 | zope.i18nmessageid==4.3.1 45 | zope.interface==4.6.0 46 | zope.schema==4.9.3 47 | zope.sqlalchemy==1.0 48 | -------------------------------------------------------------------------------- /pytest/overrides.nix: -------------------------------------------------------------------------------- 1 | { pkgs, python }: 2 | 3 | self: super: { 4 | 5 | "attrs" = python.overrideDerivation super."attrs" (old: { 6 | propagatedBuildInputs = 7 | builtins.filter 8 | (x: (builtins.parseDrvName x.name).name != "${python.__old.python.libPrefix}-${python.__old.python.libPrefix}-pytest") 9 | old.propagatedBuildInputs; 10 | }); 11 | 12 | "parse-type" = python.overrideDerivation super."parse-type" (old: { 13 | patchPhase = '' 14 | sed -i \ 15 | -e "s|\"enum34; python_version < '3.4'\",||" \ 16 | -e "s|\"ordereddict; python_version < '2.7'\",||" \ 17 | setup.py 18 | ''; 19 | }); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /pytest/requirements.nix: -------------------------------------------------------------------------------- 1 | # generated using pypi2nix tool (version: 2.0.0) 2 | # See more at: https://github.com/garbas/pypi2nix 3 | # 4 | # COMMAND: 5 | # pypi2nix -W https://travis.garbas.si/wheels_cache/ -v -V 3.7 -O ../overrides.nix -s setuptools-scm -r requirements.txt 6 | # 7 | 8 | { pkgs ? import {}, 9 | overrides ? ({ pkgs, python }: self: super: {}) 10 | }: 11 | 12 | let 13 | 14 | inherit (pkgs) makeWrapper; 15 | inherit (pkgs.stdenv.lib) fix' extends inNixShell; 16 | 17 | pythonPackages = 18 | import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 19 | inherit pkgs; 20 | inherit (pkgs) stdenv; 21 | python = pkgs.python37; 22 | # patching pip so it does not try to remove files when running nix-shell 23 | overrides = 24 | self: super: { 25 | bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 26 | patchPhase = old.patchPhase + '' 27 | if [ -e $out/${pkgs.python37.sitePackages}/pip/req/req_install.py ]; then 28 | sed -i \ 29 | -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" \ 30 | -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" \ 31 | $out/${pkgs.python37.sitePackages}/pip/req/req_install.py 32 | fi 33 | ''; 34 | }); 35 | }; 36 | }; 37 | 38 | commonBuildInputs = []; 39 | commonDoCheck = false; 40 | 41 | withPackages = pkgs': 42 | let 43 | pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 44 | interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage { 45 | name = "python37-interpreter"; 46 | buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs); 47 | buildCommand = '' 48 | mkdir -p $out/bin 49 | ln -s ${pythonPackages.python.interpreter} \ 50 | $out/bin/${pythonPackages.python.executable} 51 | for dep in ${builtins.concatStringsSep " " 52 | (selectPkgsFn pkgs)}; do 53 | if [ -d "$dep/bin" ]; then 54 | for prog in "$dep/bin/"*; do 55 | if [ -x "$prog" ] && [ -f "$prog" ]; then 56 | ln -s $prog $out/bin/`basename $prog` 57 | fi 58 | done 59 | fi 60 | done 61 | for prog in "$out/bin/"*; do 62 | wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 63 | done 64 | pushd $out/bin 65 | ln -s ${pythonPackages.python.executable} python 66 | ln -s ${pythonPackages.python.executable} \ 67 | python3 68 | popd 69 | ''; 70 | passthru.interpreter = pythonPackages.python; 71 | }; 72 | 73 | interpreter = interpreterWithPackages builtins.attrValues; 74 | in { 75 | __old = pythonPackages; 76 | inherit interpreter; 77 | inherit interpreterWithPackages; 78 | mkDerivation = pythonPackages.buildPythonPackage; 79 | packages = pkgs; 80 | overrideDerivation = drv: f: 81 | pythonPackages.buildPythonPackage ( 82 | drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; } 83 | ); 84 | withPackages = pkgs'': 85 | withPackages (pkgs // pkgs''); 86 | }; 87 | 88 | python = withPackages {}; 89 | 90 | generated = self: { 91 | "Mako" = python.mkDerivation { 92 | name = "Mako-1.0.7"; 93 | src = pkgs.fetchurl { 94 | url = "https://files.pythonhosted.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz"; 95 | sha256 = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae"; 96 | }; 97 | doCheck = commonDoCheck; 98 | checkPhase = ""; 99 | installCheckPhase = ""; 100 | buildInputs = commonBuildInputs ++ [ ]; 101 | propagatedBuildInputs = [ 102 | self."MarkupSafe" 103 | ]; 104 | meta = with pkgs.stdenv.lib; { 105 | homepage = "http://www.makotemplates.org/"; 106 | license = licenses.mit; 107 | description = "A super-fast templating language that borrows the best ideas from the existing templating languages."; 108 | }; 109 | }; 110 | 111 | "MarkupSafe" = python.mkDerivation { 112 | name = "MarkupSafe-1.1.0"; 113 | src = pkgs.fetchurl { 114 | url = "https://files.pythonhosted.org/packages/ac/7e/1b4c2e05809a4414ebce0892fe1e32c14ace86ca7d50c70f00979ca9b3a3/MarkupSafe-1.1.0.tar.gz"; 115 | sha256 = "4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3"; 116 | }; 117 | doCheck = commonDoCheck; 118 | checkPhase = ""; 119 | installCheckPhase = ""; 120 | buildInputs = commonBuildInputs ++ [ ]; 121 | propagatedBuildInputs = [ ]; 122 | meta = with pkgs.stdenv.lib; { 123 | homepage = "https://www.palletsprojects.com/p/markupsafe/"; 124 | license = licenses.bsdOriginal; 125 | description = "Safely add untrusted strings to HTML/XML markup."; 126 | }; 127 | }; 128 | 129 | "apipkg" = python.mkDerivation { 130 | name = "apipkg-1.5"; 131 | src = pkgs.fetchurl { 132 | url = "https://files.pythonhosted.org/packages/a8/af/07a13b1560ebcc9bf4dd439aeb63243cbd8d374f4f328691470d6a9b9804/apipkg-1.5.tar.gz"; 133 | sha256 = "37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6"; 134 | }; 135 | doCheck = commonDoCheck; 136 | checkPhase = ""; 137 | installCheckPhase = ""; 138 | buildInputs = commonBuildInputs ++ [ ]; 139 | propagatedBuildInputs = [ ]; 140 | meta = with pkgs.stdenv.lib; { 141 | homepage = "https://github.com/pytest-dev/apipkg"; 142 | license = licenses.mit; 143 | description = "apipkg: namespace control and lazy-import mechanism"; 144 | }; 145 | }; 146 | 147 | "atomicwrites" = python.mkDerivation { 148 | name = "atomicwrites-1.2.1"; 149 | src = pkgs.fetchurl { 150 | url = "https://files.pythonhosted.org/packages/ac/ed/a311712ef6b4355035489f665e63e1a73f9eb371929e3c98e5efd451069e/atomicwrites-1.2.1.tar.gz"; 151 | sha256 = "ec9ae8adaae229e4f8446952d204a3e4b5fdd2d099f9be3aaf556120135fb3ee"; 152 | }; 153 | doCheck = commonDoCheck; 154 | checkPhase = ""; 155 | installCheckPhase = ""; 156 | buildInputs = commonBuildInputs ++ [ ]; 157 | propagatedBuildInputs = [ ]; 158 | meta = with pkgs.stdenv.lib; { 159 | homepage = "https://github.com/untitaker/python-atomicwrites"; 160 | license = licenses.mit; 161 | description = "Atomic file writes."; 162 | }; 163 | }; 164 | 165 | "attrs" = python.mkDerivation { 166 | name = "attrs-18.2.0"; 167 | src = pkgs.fetchurl { 168 | url = "https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf/attrs-18.2.0.tar.gz"; 169 | sha256 = "10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69"; 170 | }; 171 | doCheck = commonDoCheck; 172 | checkPhase = ""; 173 | installCheckPhase = ""; 174 | buildInputs = commonBuildInputs ++ [ ]; 175 | propagatedBuildInputs = [ ]; 176 | meta = with pkgs.stdenv.lib; { 177 | homepage = "https://www.attrs.org/"; 178 | license = licenses.mit; 179 | description = "Classes Without Boilerplate"; 180 | }; 181 | }; 182 | 183 | "coverage" = python.mkDerivation { 184 | name = "coverage-4.5.2"; 185 | src = pkgs.fetchurl { 186 | url = "https://files.pythonhosted.org/packages/fb/af/ce7b0fe063ee0142786ee53ad6197979491ce0785567b6d8be751d2069e8/coverage-4.5.2.tar.gz"; 187 | sha256 = "ab235d9fe64833f12d1334d29b558aacedfbca2356dfb9691f2d0d38a8a7bfb4"; 188 | }; 189 | doCheck = commonDoCheck; 190 | checkPhase = ""; 191 | installCheckPhase = ""; 192 | buildInputs = commonBuildInputs ++ [ ]; 193 | propagatedBuildInputs = [ ]; 194 | meta = with pkgs.stdenv.lib; { 195 | homepage = "https://bitbucket.org/ned/coveragepy"; 196 | license = licenses.asl20; 197 | description = "Code coverage measurement for Python"; 198 | }; 199 | }; 200 | 201 | "decorator" = python.mkDerivation { 202 | name = "decorator-4.3.0"; 203 | src = pkgs.fetchurl { 204 | url = "https://files.pythonhosted.org/packages/6f/24/15a229626c775aae5806312f6bf1e2a73785be3402c0acdec5dbddd8c11e/decorator-4.3.0.tar.gz"; 205 | sha256 = "c39efa13fbdeb4506c476c9b3babf6a718da943dab7811c206005a4a956c080c"; 206 | }; 207 | doCheck = commonDoCheck; 208 | checkPhase = ""; 209 | installCheckPhase = ""; 210 | buildInputs = commonBuildInputs ++ [ ]; 211 | propagatedBuildInputs = [ ]; 212 | meta = with pkgs.stdenv.lib; { 213 | homepage = "https://github.com/micheles/decorator"; 214 | license = "new BSD License"; 215 | description = "Better living through Python with decorators"; 216 | }; 217 | }; 218 | 219 | "execnet" = python.mkDerivation { 220 | name = "execnet-1.5.0"; 221 | src = pkgs.fetchurl { 222 | url = "https://files.pythonhosted.org/packages/ab/c0/9496c35092eac2523ee8993ca3690b2d0aa95ef56623035b9c890745ac55/execnet-1.5.0.tar.gz"; 223 | sha256 = "a7a84d5fa07a089186a329528f127c9d73b9de57f1a1131b82bb5320ee651f6a"; 224 | }; 225 | doCheck = commonDoCheck; 226 | checkPhase = ""; 227 | installCheckPhase = ""; 228 | buildInputs = commonBuildInputs ++ [ ]; 229 | propagatedBuildInputs = [ 230 | self."apipkg" 231 | ]; 232 | meta = with pkgs.stdenv.lib; { 233 | homepage = "http://codespeak.net/execnet"; 234 | license = licenses.mit; 235 | description = "execnet: rapid multi-Python deployment"; 236 | }; 237 | }; 238 | 239 | "glob2" = python.mkDerivation { 240 | name = "glob2-0.6"; 241 | src = pkgs.fetchurl { 242 | url = "https://files.pythonhosted.org/packages/f0/e8/970c7a031b2d7f9a21fefaa8c9d5c38001f8f25055f4ffcb32b3dbecd1ea/glob2-0.6.tar.gz"; 243 | sha256 = "f5b0a686ff21f820c4d3f0c4edd216704cea59d79d00fa337e244a2f2ff83ed6"; 244 | }; 245 | doCheck = commonDoCheck; 246 | checkPhase = ""; 247 | installCheckPhase = ""; 248 | buildInputs = commonBuildInputs ++ [ ]; 249 | propagatedBuildInputs = [ ]; 250 | meta = with pkgs.stdenv.lib; { 251 | homepage = "http://github.com/miracle2k/python-glob2/"; 252 | license = licenses.bsdOriginal; 253 | description = "Version of the glob module that can capture patterns and supports recursive wildcards"; 254 | }; 255 | }; 256 | 257 | "greenlet" = python.mkDerivation { 258 | name = "greenlet-0.4.15"; 259 | src = pkgs.fetchurl { 260 | url = "https://files.pythonhosted.org/packages/f8/e8/b30ae23b45f69aa3f024b46064c0ac8e5fcb4f22ace0dca8d6f9c8bbe5e7/greenlet-0.4.15.tar.gz"; 261 | sha256 = "9416443e219356e3c31f1f918a91badf2e37acf297e2fa13d24d1cc2380f8fbc"; 262 | }; 263 | doCheck = commonDoCheck; 264 | checkPhase = ""; 265 | installCheckPhase = ""; 266 | buildInputs = commonBuildInputs ++ [ ]; 267 | propagatedBuildInputs = [ ]; 268 | meta = with pkgs.stdenv.lib; { 269 | homepage = "https://github.com/python-greenlet/greenlet"; 270 | license = licenses.mit; 271 | description = "Lightweight in-process concurrent programming"; 272 | }; 273 | }; 274 | 275 | "more-itertools" = python.mkDerivation { 276 | name = "more-itertools-4.3.0"; 277 | src = pkgs.fetchurl { 278 | url = "https://files.pythonhosted.org/packages/88/ff/6d485d7362f39880810278bdc906c13300db05485d9c65971dec1142da6a/more-itertools-4.3.0.tar.gz"; 279 | sha256 = "c476b5d3a34e12d40130bc2f935028b5f636df8f372dc2c1c01dc19681b2039e"; 280 | }; 281 | doCheck = commonDoCheck; 282 | checkPhase = ""; 283 | installCheckPhase = ""; 284 | buildInputs = commonBuildInputs ++ [ ]; 285 | propagatedBuildInputs = [ 286 | self."six" 287 | ]; 288 | meta = with pkgs.stdenv.lib; { 289 | homepage = "https://github.com/erikrose/more-itertools"; 290 | license = licenses.mit; 291 | description = "More routines for operating on iterables, beyond itertools"; 292 | }; 293 | }; 294 | 295 | "oejskit" = python.mkDerivation { 296 | name = "oejskit-0.9.0"; 297 | src = pkgs.fetchurl { 298 | url = "https://files.pythonhosted.org/packages/16/10/f9d24c1f5ff7a8236e48d3c8fbd12e76eb4741e6f4e76e5c25c51d7ed7a9/oejskit-0.9.0.tar.gz"; 299 | sha256 = "06d645e2506acd85b8a858b550907c5c8440d4f1315fc2c4e6b86b091c29846e"; 300 | }; 301 | doCheck = commonDoCheck; 302 | checkPhase = ""; 303 | installCheckPhase = ""; 304 | buildInputs = commonBuildInputs ++ [ ]; 305 | propagatedBuildInputs = [ ]; 306 | meta = with pkgs.stdenv.lib; { 307 | homepage = "http://bitbucket.org/pedronis/js-infrastructure/"; 308 | license = licenses.mit; 309 | description = "Open End JavaScript testing and utility kit"; 310 | }; 311 | }; 312 | 313 | "parse" = python.mkDerivation { 314 | name = "parse-1.9.0"; 315 | src = pkgs.fetchurl { 316 | url = "https://files.pythonhosted.org/packages/b6/98/809e53e5778c59c4af9eb920605e7a8ab439407efbe89a6d51a46efd1937/parse-1.9.0.tar.gz"; 317 | sha256 = "9dd6048ea212cd032a342f9f6aa2b7bc222f7407c7e37bdc2777fecd36897437"; 318 | }; 319 | doCheck = commonDoCheck; 320 | checkPhase = ""; 321 | installCheckPhase = ""; 322 | buildInputs = commonBuildInputs ++ [ ]; 323 | propagatedBuildInputs = [ ]; 324 | meta = with pkgs.stdenv.lib; { 325 | homepage = "https://github.com/r1chardj0n3s/parse"; 326 | license = "UNKNOWN"; 327 | description = "parse() is the opposite of format()"; 328 | }; 329 | }; 330 | 331 | "parse-type" = python.mkDerivation { 332 | name = "parse-type-0.4.2"; 333 | src = pkgs.fetchurl { 334 | url = "https://files.pythonhosted.org/packages/2b/e5/312ce9f1bd209afcf4fc68235c8776a36270d24ad05bdfd2aaaf06647ea9/parse_type-0.4.2.tar.gz"; 335 | sha256 = "f596bdc75d3dd93036fbfe3d04127da9f6df0c26c36e01e76da85adef4336b3c"; 336 | }; 337 | doCheck = commonDoCheck; 338 | checkPhase = ""; 339 | installCheckPhase = ""; 340 | buildInputs = commonBuildInputs ++ [ ]; 341 | propagatedBuildInputs = [ 342 | self."coverage" 343 | self."parse" 344 | self."pytest" 345 | self."pytest-cov" 346 | self."six" 347 | ]; 348 | meta = with pkgs.stdenv.lib; { 349 | homepage = "https://github.com/jenisys/parse_type"; 350 | license = licenses.bsdOriginal; 351 | description = "Simplifies to build parse types based on the parse module"; 352 | }; 353 | }; 354 | 355 | "pep8" = python.mkDerivation { 356 | name = "pep8-1.7.1"; 357 | src = pkgs.fetchurl { 358 | url = "https://files.pythonhosted.org/packages/01/a0/64ba19519db49e4094d82599412a9660dee8c26a7addbbb1bf17927ceefe/pep8-1.7.1.tar.gz"; 359 | sha256 = "fe249b52e20498e59e0b5c5256aa52ee99fc295b26ec9eaa85776ffdb9fe6374"; 360 | }; 361 | doCheck = commonDoCheck; 362 | checkPhase = ""; 363 | installCheckPhase = ""; 364 | buildInputs = commonBuildInputs ++ [ ]; 365 | propagatedBuildInputs = [ ]; 366 | meta = with pkgs.stdenv.lib; { 367 | homepage = "http://pep8.readthedocs.org/"; 368 | license = "Expat license"; 369 | description = "Python style guide checker"; 370 | }; 371 | }; 372 | 373 | "pluggy" = python.mkDerivation { 374 | name = "pluggy-0.8.0"; 375 | src = pkgs.fetchurl { 376 | url = "https://files.pythonhosted.org/packages/65/25/81d0de17cd00f8ca994a4e74e3c4baf7cd25072c0b831dad5c7d9d6138f8/pluggy-0.8.0.tar.gz"; 377 | sha256 = "447ba94990e8014ee25ec853339faf7b0fc8050cdc3289d4d71f7f410fb90095"; 378 | }; 379 | doCheck = commonDoCheck; 380 | checkPhase = ""; 381 | installCheckPhase = ""; 382 | buildInputs = commonBuildInputs ++ [ ]; 383 | propagatedBuildInputs = [ ]; 384 | meta = with pkgs.stdenv.lib; { 385 | homepage = "https://github.com/pytest-dev/pluggy"; 386 | license = "MIT license"; 387 | description = "plugin and hook calling mechanisms for python"; 388 | }; 389 | }; 390 | 391 | "py" = python.mkDerivation { 392 | name = "py-1.7.0"; 393 | src = pkgs.fetchurl { 394 | url = "https://files.pythonhosted.org/packages/c7/fa/eb6dd513d9eb13436e110aaeef9a1703437a8efa466ce6bb2ff1d9217ac7/py-1.7.0.tar.gz"; 395 | sha256 = "bf92637198836372b520efcba9e020c330123be8ce527e535d185ed4b6f45694"; 396 | }; 397 | doCheck = commonDoCheck; 398 | checkPhase = ""; 399 | installCheckPhase = ""; 400 | buildInputs = commonBuildInputs ++ [ 401 | self."setuptools-scm" 402 | ]; 403 | propagatedBuildInputs = [ ]; 404 | meta = with pkgs.stdenv.lib; { 405 | homepage = "http://py.readthedocs.io/"; 406 | license = "MIT license"; 407 | description = "library with cross-python path, ini-parsing, io, code, log facilities"; 408 | }; 409 | }; 410 | 411 | "pyflakes" = python.mkDerivation { 412 | name = "pyflakes-2.0.0"; 413 | src = pkgs.fetchurl { 414 | url = "https://files.pythonhosted.org/packages/92/9e/386c0d9deef14996eb90d9deebbcb9d3ceb70296840b09615cb61b2ae231/pyflakes-2.0.0.tar.gz"; 415 | sha256 = "9a7662ec724d0120012f6e29d6248ae3727d821bba522a0e6b356eff19126a49"; 416 | }; 417 | doCheck = commonDoCheck; 418 | checkPhase = ""; 419 | installCheckPhase = ""; 420 | buildInputs = commonBuildInputs ++ [ ]; 421 | propagatedBuildInputs = [ ]; 422 | meta = with pkgs.stdenv.lib; { 423 | homepage = "https://github.com/PyCQA/pyflakes"; 424 | license = licenses.mit; 425 | description = "passive checker of Python programs"; 426 | }; 427 | }; 428 | 429 | "pytest" = python.mkDerivation { 430 | name = "pytest-4.0.1"; 431 | src = pkgs.fetchurl { 432 | url = "https://files.pythonhosted.org/packages/24/f1/0e378fa418d9ac15d2d28296be916a55e351a6ffeb74105fe333c15ea58a/pytest-4.0.1.tar.gz"; 433 | sha256 = "1d131cc532be0023ef8ae265e2a779938d0619bb6c2510f52987ffcba7fa1ee4"; 434 | }; 435 | doCheck = commonDoCheck; 436 | checkPhase = ""; 437 | installCheckPhase = ""; 438 | buildInputs = commonBuildInputs ++ [ ]; 439 | propagatedBuildInputs = [ 440 | self."atomicwrites" 441 | self."attrs" 442 | self."more-itertools" 443 | self."pluggy" 444 | self."py" 445 | self."six" 446 | ]; 447 | meta = with pkgs.stdenv.lib; { 448 | homepage = "https://docs.pytest.org/en/latest/"; 449 | license = "MIT license"; 450 | description = "pytest: simple powerful testing with Python"; 451 | }; 452 | }; 453 | 454 | "pytest-bdd" = python.mkDerivation { 455 | name = "pytest-bdd-3.0.0"; 456 | src = pkgs.fetchurl { 457 | url = "https://files.pythonhosted.org/packages/97/45/aaecfa76b1e0ea92a3d1991b6194fe3351a1735f0a84c8fc6cd3c8976c3a/pytest-bdd-3.0.0.tar.gz"; 458 | sha256 = "00464d188f27a5fde284b337369bb34ce54b2ed4c40b2740ab6a7c68ddc6e2da"; 459 | }; 460 | doCheck = commonDoCheck; 461 | checkPhase = ""; 462 | installCheckPhase = ""; 463 | buildInputs = commonBuildInputs ++ [ ]; 464 | propagatedBuildInputs = [ 465 | self."Mako" 466 | self."glob2" 467 | self."parse" 468 | self."parse-type" 469 | self."py" 470 | self."pytest" 471 | self."six" 472 | ]; 473 | meta = with pkgs.stdenv.lib; { 474 | homepage = "https://github.com/pytest-dev/pytest-bdd"; 475 | license = "MIT license"; 476 | description = "BDD for pytest"; 477 | }; 478 | }; 479 | 480 | "pytest-cache" = python.mkDerivation { 481 | name = "pytest-cache-1.0"; 482 | src = pkgs.fetchurl { 483 | url = "https://files.pythonhosted.org/packages/d1/15/082fd0428aab33d2bafa014f3beb241830427ba803a8912a5aaeaf3a5663/pytest-cache-1.0.tar.gz"; 484 | sha256 = "be7468edd4d3d83f1e844959fd6e3fd28e77a481440a7118d430130ea31b07a9"; 485 | }; 486 | doCheck = commonDoCheck; 487 | checkPhase = ""; 488 | installCheckPhase = ""; 489 | buildInputs = commonBuildInputs ++ [ ]; 490 | propagatedBuildInputs = [ 491 | self."execnet" 492 | self."pytest" 493 | ]; 494 | meta = with pkgs.stdenv.lib; { 495 | homepage = "http://bitbucket.org/hpk42/pytest-cache/"; 496 | license = "UNKNOWN"; 497 | description = "pytest plugin with mechanisms for caching across test runs"; 498 | }; 499 | }; 500 | 501 | "pytest-catchlog" = python.mkDerivation { 502 | name = "pytest-catchlog-1.2.2"; 503 | src = pkgs.fetchurl { 504 | url = "https://files.pythonhosted.org/packages/f2/2b/2faccdb1a978fab9dd0bf31cca9f6847fbe9184a0bdcc3011ac41dd44191/pytest-catchlog-1.2.2.zip"; 505 | sha256 = "4be15dc5ac1750f83960897f591453040dff044b5966fe24a91c2f7d04ecfcf0"; 506 | }; 507 | doCheck = commonDoCheck; 508 | checkPhase = ""; 509 | installCheckPhase = ""; 510 | buildInputs = commonBuildInputs ++ [ ]; 511 | propagatedBuildInputs = [ 512 | self."py" 513 | self."pytest" 514 | ]; 515 | meta = with pkgs.stdenv.lib; { 516 | homepage = "https://github.com/eisensheng/pytest-catchlog"; 517 | license = licenses.mit; 518 | description = "py.test plugin to catch log messages. This is a fork of pytest-capturelog."; 519 | }; 520 | }; 521 | 522 | "pytest-cov" = python.mkDerivation { 523 | name = "pytest-cov-2.6.0"; 524 | src = pkgs.fetchurl { 525 | url = "https://files.pythonhosted.org/packages/d9/e2/58f90a316fbd94dd50bf5c826a23f3f5d079fb3cc448c1e9f0e3c33a3d2a/pytest-cov-2.6.0.tar.gz"; 526 | sha256 = "e360f048b7dae3f2f2a9a4d067b2dd6b6a015d384d1577c994a43f3f7cbad762"; 527 | }; 528 | doCheck = commonDoCheck; 529 | checkPhase = ""; 530 | installCheckPhase = ""; 531 | buildInputs = commonBuildInputs ++ [ ]; 532 | propagatedBuildInputs = [ 533 | self."coverage" 534 | self."pytest" 535 | ]; 536 | meta = with pkgs.stdenv.lib; { 537 | homepage = "https://github.com/pytest-dev/pytest-cov"; 538 | license = licenses.mit; 539 | description = "Pytest plugin for measuring coverage."; 540 | }; 541 | }; 542 | 543 | "pytest-django" = python.mkDerivation { 544 | name = "pytest-django-3.4.4"; 545 | src = pkgs.fetchurl { 546 | url = "https://files.pythonhosted.org/packages/52/c8/2167c5eb46a4b801a3d711b97a99a124089e33715bde5ca505218211ad0c/pytest-django-3.4.4.tar.gz"; 547 | sha256 = "fe1f71a0171f6b7edac37654da0904c9bd5ffba5221ab5a76779ab870611f41f"; 548 | }; 549 | doCheck = commonDoCheck; 550 | checkPhase = ""; 551 | installCheckPhase = ""; 552 | buildInputs = commonBuildInputs ++ [ 553 | self."setuptools-scm" 554 | ]; 555 | propagatedBuildInputs = [ 556 | self."pytest" 557 | self."pytest-xdist" 558 | self."six" 559 | ]; 560 | meta = with pkgs.stdenv.lib; { 561 | homepage = "https://pytest-django.readthedocs.io/"; 562 | license = "BSD-3-Clause"; 563 | description = "A Django plugin for pytest."; 564 | }; 565 | }; 566 | 567 | "pytest-flakes" = python.mkDerivation { 568 | name = "pytest-flakes-4.0.0"; 569 | src = pkgs.fetchurl { 570 | url = "https://files.pythonhosted.org/packages/e0/ba/c2615a68dcde242f313c95d39b70d54315891dcd442687c9a56e82312b9b/pytest-flakes-4.0.0.tar.gz"; 571 | sha256 = "341964bf5760ebbdde9619f68a17d5632c674c3f6903ef66daa0a4f540b3d143"; 572 | }; 573 | doCheck = commonDoCheck; 574 | checkPhase = ""; 575 | installCheckPhase = ""; 576 | buildInputs = commonBuildInputs ++ [ ]; 577 | propagatedBuildInputs = [ 578 | self."pyflakes" 579 | self."pytest" 580 | ]; 581 | meta = with pkgs.stdenv.lib; { 582 | homepage = "https://github.com/fschulze/pytest-flakes"; 583 | license = "MIT license"; 584 | description = "pytest plugin to check source code with pyflakes"; 585 | }; 586 | }; 587 | 588 | "pytest-forked" = python.mkDerivation { 589 | name = "pytest-forked-0.2"; 590 | src = pkgs.fetchurl { 591 | url = "https://files.pythonhosted.org/packages/b3/b2/1ec910b0f798cc86f2531631d7a2da030b16c165e07545537332fd4eb505/pytest-forked-0.2.tar.gz"; 592 | sha256 = "e4500cd0509ec4a26535f7d4112a8cc0f17d3a41c29ffd4eab479d2a55b30805"; 593 | }; 594 | doCheck = commonDoCheck; 595 | checkPhase = ""; 596 | installCheckPhase = ""; 597 | buildInputs = commonBuildInputs ++ [ ]; 598 | propagatedBuildInputs = [ 599 | self."pytest" 600 | ]; 601 | meta = with pkgs.stdenv.lib; { 602 | homepage = "https://github.com/pytest-dev/pytest-forked"; 603 | license = licenses.mit; 604 | description = "run tests in isolated forked subprocesses"; 605 | }; 606 | }; 607 | 608 | "pytest-instafail" = python.mkDerivation { 609 | name = "pytest-instafail-0.4.0"; 610 | src = pkgs.fetchurl { 611 | url = "https://files.pythonhosted.org/packages/7a/c9/5fc6d9a064d527c0dd1f127fbb117b395ec256f42160e9ae0a75aed94594/pytest-instafail-0.4.0.tar.gz"; 612 | sha256 = "162bd7c5c196e3b2fe2a5285b69362ee3d9f768d5451413ef914be38df74e3de"; 613 | }; 614 | doCheck = commonDoCheck; 615 | checkPhase = ""; 616 | installCheckPhase = ""; 617 | buildInputs = commonBuildInputs ++ [ ]; 618 | propagatedBuildInputs = [ 619 | self."pytest" 620 | ]; 621 | meta = with pkgs.stdenv.lib; { 622 | homepage = "https://github.com/pytest-dev/pytest-instafail"; 623 | license = licenses.bsdOriginal; 624 | description = "py.test plugin to show failures instantly"; 625 | }; 626 | }; 627 | 628 | "pytest-pep8" = python.mkDerivation { 629 | name = "pytest-pep8-1.0.6"; 630 | src = pkgs.fetchurl { 631 | url = "https://files.pythonhosted.org/packages/1f/1c/c834344ef39381558b047bea1e3005197fa8457c199d58219996ca07defb/pytest-pep8-1.0.6.tar.gz"; 632 | sha256 = "032ef7e5fa3ac30f4458c73e05bb67b0f036a8a5cb418a534b3170f89f120318"; 633 | }; 634 | doCheck = commonDoCheck; 635 | checkPhase = ""; 636 | installCheckPhase = ""; 637 | buildInputs = commonBuildInputs ++ [ ]; 638 | propagatedBuildInputs = [ 639 | self."pep8" 640 | self."pytest" 641 | self."pytest-cache" 642 | ]; 643 | meta = with pkgs.stdenv.lib; { 644 | homepage = "http://bitbucket.org/hpk42/pytest-pep8/"; 645 | license = "MIT license"; 646 | description = "pytest plugin to check PEP8 requirements"; 647 | }; 648 | }; 649 | 650 | "pytest-timeout" = python.mkDerivation { 651 | name = "pytest-timeout-1.3.3"; 652 | src = pkgs.fetchurl { 653 | url = "https://files.pythonhosted.org/packages/13/48/7a166eaa29c1dca6cc253e3ba5773ff2e4aa4f567c1ea3905808e95ac5c1/pytest-timeout-1.3.3.tar.gz"; 654 | sha256 = "4a30ba76837a32c7b7cd5c84ee9933fde4b9022b0cd20ea7d4a577c2a1649fb1"; 655 | }; 656 | doCheck = commonDoCheck; 657 | checkPhase = ""; 658 | installCheckPhase = ""; 659 | buildInputs = commonBuildInputs ++ [ ]; 660 | propagatedBuildInputs = [ 661 | self."pytest" 662 | ]; 663 | meta = with pkgs.stdenv.lib; { 664 | homepage = "http://bitbucket.org/pytest-dev/pytest-timeout/"; 665 | license = licenses.mit; 666 | description = "py.test plugin to abort hanging tests"; 667 | }; 668 | }; 669 | 670 | "pytest-twisted" = python.mkDerivation { 671 | name = "pytest-twisted-1.8"; 672 | src = pkgs.fetchurl { 673 | url = "https://files.pythonhosted.org/packages/fd/1e/d5ae0034e20750b6e7f9270af70bfa83e95707c538939511d460f0e4c5fc/pytest-twisted-1.8.zip"; 674 | sha256 = "6c3a0db55e0af2320b43b7ac9fe3045147b8148f6f1bfe1ce1b48f72e7d4ee13"; 675 | }; 676 | doCheck = commonDoCheck; 677 | checkPhase = ""; 678 | installCheckPhase = ""; 679 | buildInputs = commonBuildInputs ++ [ ]; 680 | propagatedBuildInputs = [ 681 | self."decorator" 682 | self."greenlet" 683 | self."pytest" 684 | ]; 685 | meta = with pkgs.stdenv.lib; { 686 | homepage = "https://github.com/pytest-dev/pytest-twisted"; 687 | license = "UNKNOWN"; 688 | description = "A twisted plugin for py.test."; 689 | }; 690 | }; 691 | 692 | "pytest-xdist" = python.mkDerivation { 693 | name = "pytest-xdist-1.24.1"; 694 | src = pkgs.fetchurl { 695 | url = "https://files.pythonhosted.org/packages/3d/e3/14e2d3d408c00545c4c034b6ae8b536b1191901200d8b76efba3cbeffe75/pytest-xdist-1.24.1.tar.gz"; 696 | sha256 = "909bb938bdb21e68a28a8d58c16a112b30da088407b678633efb01067e3923de"; 697 | }; 698 | doCheck = commonDoCheck; 699 | checkPhase = ""; 700 | installCheckPhase = ""; 701 | buildInputs = commonBuildInputs ++ [ ]; 702 | propagatedBuildInputs = [ 703 | self."execnet" 704 | self."pytest" 705 | self."pytest-forked" 706 | self."six" 707 | ]; 708 | meta = with pkgs.stdenv.lib; { 709 | homepage = "https://github.com/pytest-dev/pytest-xdist"; 710 | license = licenses.mit; 711 | description = "pytest xdist plugin for distributed testing and loop-on-failing modes"; 712 | }; 713 | }; 714 | 715 | "setuptools-scm" = python.mkDerivation { 716 | name = "setuptools-scm-3.1.0"; 717 | src = pkgs.fetchurl { 718 | url = "https://files.pythonhosted.org/packages/09/b4/d148a70543b42ff3d81d57381f33104f32b91f970ad7873f463e75bf7453/setuptools_scm-3.1.0.tar.gz"; 719 | sha256 = "1191f2a136b5e86f7ca8ab00a97ef7aef997131f1f6d4971be69a1ef387d8b40"; 720 | }; 721 | doCheck = commonDoCheck; 722 | checkPhase = ""; 723 | installCheckPhase = ""; 724 | buildInputs = commonBuildInputs ++ [ ]; 725 | propagatedBuildInputs = [ ]; 726 | meta = with pkgs.stdenv.lib; { 727 | homepage = "https://github.com/pypa/setuptools_scm/"; 728 | license = licenses.mit; 729 | description = "the blessed package to manage your versions by scm tags"; 730 | }; 731 | }; 732 | 733 | "six" = python.mkDerivation { 734 | name = "six-1.12.0"; 735 | src = pkgs.fetchurl { 736 | url = "https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz"; 737 | sha256 = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"; 738 | }; 739 | doCheck = commonDoCheck; 740 | checkPhase = ""; 741 | installCheckPhase = ""; 742 | buildInputs = commonBuildInputs ++ [ ]; 743 | propagatedBuildInputs = [ ]; 744 | meta = with pkgs.stdenv.lib; { 745 | homepage = "https://github.com/benjaminp/six"; 746 | license = licenses.mit; 747 | description = "Python 2 and 3 compatibility utilities"; 748 | }; 749 | }; 750 | }; 751 | localOverridesFile = ./requirements_override.nix; 752 | localOverrides = import localOverridesFile { inherit pkgs python; }; 753 | commonOverrides = [ 754 | (import ../overrides.nix { inherit pkgs python ; }) 755 | ]; 756 | paramOverrides = [ 757 | (overrides { inherit pkgs python; }) 758 | ]; 759 | allOverrides = 760 | (if (builtins.pathExists localOverridesFile) 761 | then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides; 762 | 763 | in python.withPackages 764 | (fix' (pkgs.lib.fold 765 | extends 766 | generated 767 | allOverrides 768 | ) 769 | ) -------------------------------------------------------------------------------- /pytest/requirements.txt: -------------------------------------------------------------------------------- 1 | pytest 2 | pytest-bdd 3 | pytest-catchlog 4 | pytest-cov 5 | pytest-django 6 | pytest-instafail 7 | pytest-pep8 8 | pytest-timeout 9 | pytest-twisted 10 | pytest-xdist 11 | pytest-flakes 12 | oejskit 13 | -------------------------------------------------------------------------------- /pytest/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | apipkg==1.5 2 | atomicwrites==1.2.1 3 | attrs==18.2.0 4 | coverage==4.5.2 5 | decorator==4.3.0 6 | execnet==1.5.0 7 | glob2==0.6 8 | greenlet==0.4.15 9 | Mako==1.0.7 10 | MarkupSafe==1.1.0 11 | more-itertools==4.3.0 12 | oejskit==0.9.0 13 | parse==1.9.0 14 | parse-type==0.4.2 15 | pep8==1.7.1 16 | pluggy==0.8.0 17 | py==1.7.0 18 | pyflakes==2.0.0 19 | pytest==4.0.1 20 | pytest-bdd==3.0.0 21 | pytest-cache==1.0 22 | pytest-catchlog==1.2.2 23 | pytest-cov==2.6.0 24 | pytest-django==3.4.4 25 | pytest-flakes==4.0.0 26 | pytest-forked==0.2 27 | pytest-instafail==0.4.0 28 | pytest-pep8==1.0.6 29 | pytest-timeout==1.3.3 30 | pytest-twisted==1.8 31 | pytest-xdist==1.24.1 32 | setuptools-scm==3.1.0 33 | six==1.12.0 34 | -------------------------------------------------------------------------------- /science/requirements.nix: -------------------------------------------------------------------------------- 1 | # generated using pypi2nix tool (version: 2.0.0) 2 | # See more at: https://github.com/garbas/pypi2nix 3 | # 4 | # COMMAND: 5 | # pypi2nix -W https://travis.garbas.si/wheels_cache/ -v -V 3.7 -O ../overrides.nix -E gfortran -E blas -E pkgconfig -E freetype.dev -E libpng -E agg -s numpy -s setuptools-scm -r requirements.txt 6 | # 7 | 8 | { pkgs ? import {}, 9 | overrides ? ({ pkgs, python }: self: super: {}) 10 | }: 11 | 12 | let 13 | 14 | inherit (pkgs) makeWrapper; 15 | inherit (pkgs.stdenv.lib) fix' extends inNixShell; 16 | 17 | pythonPackages = 18 | import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 19 | inherit pkgs; 20 | inherit (pkgs) stdenv; 21 | python = pkgs.python37; 22 | # patching pip so it does not try to remove files when running nix-shell 23 | overrides = 24 | self: super: { 25 | bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 26 | patchPhase = old.patchPhase + '' 27 | if [ -e $out/${pkgs.python37.sitePackages}/pip/req/req_install.py ]; then 28 | sed -i \ 29 | -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" \ 30 | -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" \ 31 | $out/${pkgs.python37.sitePackages}/pip/req/req_install.py 32 | fi 33 | ''; 34 | }); 35 | }; 36 | }; 37 | 38 | commonBuildInputs = with pkgs; [ gfortran blas pkgconfig freetype.dev libpng agg ]; 39 | commonDoCheck = false; 40 | 41 | withPackages = pkgs': 42 | let 43 | pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 44 | interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage { 45 | name = "python37-interpreter"; 46 | buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs); 47 | buildCommand = '' 48 | mkdir -p $out/bin 49 | ln -s ${pythonPackages.python.interpreter} \ 50 | $out/bin/${pythonPackages.python.executable} 51 | for dep in ${builtins.concatStringsSep " " 52 | (selectPkgsFn pkgs)}; do 53 | if [ -d "$dep/bin" ]; then 54 | for prog in "$dep/bin/"*; do 55 | if [ -x "$prog" ] && [ -f "$prog" ]; then 56 | ln -s $prog $out/bin/`basename $prog` 57 | fi 58 | done 59 | fi 60 | done 61 | for prog in "$out/bin/"*; do 62 | wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 63 | done 64 | pushd $out/bin 65 | ln -s ${pythonPackages.python.executable} python 66 | ln -s ${pythonPackages.python.executable} \ 67 | python3 68 | popd 69 | ''; 70 | passthru.interpreter = pythonPackages.python; 71 | }; 72 | 73 | interpreter = interpreterWithPackages builtins.attrValues; 74 | in { 75 | __old = pythonPackages; 76 | inherit interpreter; 77 | inherit interpreterWithPackages; 78 | mkDerivation = pythonPackages.buildPythonPackage; 79 | packages = pkgs; 80 | overrideDerivation = drv: f: 81 | pythonPackages.buildPythonPackage ( 82 | drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; } 83 | ); 84 | withPackages = pkgs'': 85 | withPackages (pkgs // pkgs''); 86 | }; 87 | 88 | python = withPackages {}; 89 | 90 | generated = self: { 91 | "cycler" = python.mkDerivation { 92 | name = "cycler-0.10.0"; 93 | src = pkgs.fetchurl { 94 | url = "https://files.pythonhosted.org/packages/c2/4b/137dea450d6e1e3d474e1d873cd1d4f7d3beed7e0dc973b06e8e10d32488/cycler-0.10.0.tar.gz"; 95 | sha256 = "cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8"; 96 | }; 97 | doCheck = commonDoCheck; 98 | buildInputs = commonBuildInputs ++ [ ]; 99 | propagatedBuildInputs = [ 100 | self."six" 101 | ]; 102 | meta = with pkgs.stdenv.lib; { 103 | homepage = "http://github.com/matplotlib/cycler"; 104 | license = licenses.bsdOriginal; 105 | description = "Composable style cycles"; 106 | }; 107 | }; 108 | 109 | "kiwisolver" = python.mkDerivation { 110 | name = "kiwisolver-1.0.1"; 111 | src = pkgs.fetchurl { 112 | url = "https://files.pythonhosted.org/packages/31/60/494fcce70d60a598c32ee00e71542e52e27c978e5f8219fae0d4ac6e2864/kiwisolver-1.0.1.tar.gz"; 113 | sha256 = "ce3be5d520b4d2c3e5eeb4cd2ef62b9b9ab8ac6b6fedbaa0e39cdb6f50644278"; 114 | }; 115 | doCheck = commonDoCheck; 116 | buildInputs = commonBuildInputs ++ [ ]; 117 | propagatedBuildInputs = [ ]; 118 | meta = with pkgs.stdenv.lib; { 119 | homepage = "https://github.com/nucleic/kiwi"; 120 | license = "UNKNOWN"; 121 | description = "A fast implementation of the Cassowary constraint solver"; 122 | }; 123 | }; 124 | 125 | "matplotlib" = python.mkDerivation { 126 | name = "matplotlib-3.0.2"; 127 | src = pkgs.fetchurl { 128 | url = "https://files.pythonhosted.org/packages/89/0c/653aec68e9cfb775c4fbae8f71011206e5e7fe4d60fcf01ea1a9d3bc957f/matplotlib-3.0.2.tar.gz"; 129 | sha256 = "c94b792af431f6adb6859eb218137acd9a35f4f7442cea57e4a59c54751c36af"; 130 | }; 131 | doCheck = commonDoCheck; 132 | buildInputs = commonBuildInputs ++ [ 133 | self."numpy" 134 | ]; 135 | propagatedBuildInputs = [ 136 | self."cycler" 137 | self."kiwisolver" 138 | self."numpy" 139 | self."pyparsing" 140 | self."python-dateutil" 141 | ]; 142 | meta = with pkgs.stdenv.lib; { 143 | homepage = "http://matplotlib.org"; 144 | license = licenses.bsdOriginal; 145 | description = "Python plotting package"; 146 | }; 147 | }; 148 | 149 | "numpy" = python.mkDerivation { 150 | name = "numpy-1.15.4"; 151 | src = pkgs.fetchurl { 152 | url = "https://files.pythonhosted.org/packages/2d/80/1809de155bad674b494248bcfca0e49eb4c5d8bee58f26fe7a0dd45029e2/numpy-1.15.4.zip"; 153 | sha256 = "3d734559db35aa3697dadcea492a423118c5c55d176da2f3be9c98d4803fc2a7"; 154 | }; 155 | doCheck = commonDoCheck; 156 | buildInputs = commonBuildInputs ++ [ ]; 157 | propagatedBuildInputs = [ ]; 158 | meta = with pkgs.stdenv.lib; { 159 | homepage = "http://www.numpy.org"; 160 | license = licenses.bsdOriginal; 161 | description = "NumPy: array processing for numbers, strings, records, and objects."; 162 | }; 163 | }; 164 | 165 | "pyparsing" = python.mkDerivation { 166 | name = "pyparsing-2.3.0"; 167 | src = pkgs.fetchurl { 168 | url = "https://files.pythonhosted.org/packages/d0/09/3e6a5eeb6e04467b737d55f8bba15247ac0876f98fae659e58cd744430c6/pyparsing-2.3.0.tar.gz"; 169 | sha256 = "f353aab21fd474459d97b709e527b5571314ee5f067441dc9f88e33eecd96592"; 170 | }; 171 | doCheck = commonDoCheck; 172 | buildInputs = commonBuildInputs ++ [ ]; 173 | propagatedBuildInputs = [ ]; 174 | meta = with pkgs.stdenv.lib; { 175 | homepage = "https://github.com/pyparsing/pyparsing/"; 176 | license = licenses.mit; 177 | description = "Python parsing module"; 178 | }; 179 | }; 180 | 181 | "python-dateutil" = python.mkDerivation { 182 | name = "python-dateutil-2.7.5"; 183 | src = pkgs.fetchurl { 184 | url = "https://files.pythonhosted.org/packages/0e/01/68747933e8d12263d41ce08119620d9a7e5eb72c876a3442257f74490da0/python-dateutil-2.7.5.tar.gz"; 185 | sha256 = "88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02"; 186 | }; 187 | doCheck = commonDoCheck; 188 | buildInputs = commonBuildInputs ++ [ ]; 189 | propagatedBuildInputs = [ 190 | self."six" 191 | ]; 192 | meta = with pkgs.stdenv.lib; { 193 | homepage = "https://dateutil.readthedocs.io"; 194 | license = "Dual License"; 195 | description = "Extensions to the standard Python datetime module"; 196 | }; 197 | }; 198 | 199 | "scipy" = python.mkDerivation { 200 | name = "scipy-1.2.0"; 201 | src = pkgs.fetchurl { 202 | url = "https://files.pythonhosted.org/packages/ea/c8/c296904f2c852c5c129962e6ca4ba467116b08cd5b54b7180b2e77fe06b2/scipy-1.2.0.tar.gz"; 203 | sha256 = "51a2424c8ed80e60bdb9a896806e7adaf24a58253b326fbad10f80a6d06f2214"; 204 | }; 205 | doCheck = commonDoCheck; 206 | buildInputs = commonBuildInputs ++ [ 207 | self."numpy" 208 | ]; 209 | propagatedBuildInputs = [ 210 | self."numpy" 211 | ]; 212 | meta = with pkgs.stdenv.lib; { 213 | homepage = "https://www.scipy.org"; 214 | license = licenses.bsdOriginal; 215 | description = "SciPy: Scientific Library for Python"; 216 | }; 217 | }; 218 | 219 | "setuptools-scm" = python.mkDerivation { 220 | name = "setuptools-scm-3.1.0"; 221 | src = pkgs.fetchurl { 222 | url = "https://files.pythonhosted.org/packages/09/b4/d148a70543b42ff3d81d57381f33104f32b91f970ad7873f463e75bf7453/setuptools_scm-3.1.0.tar.gz"; 223 | sha256 = "1191f2a136b5e86f7ca8ab00a97ef7aef997131f1f6d4971be69a1ef387d8b40"; 224 | }; 225 | doCheck = commonDoCheck; 226 | buildInputs = commonBuildInputs ++ [ ]; 227 | propagatedBuildInputs = [ ]; 228 | meta = with pkgs.stdenv.lib; { 229 | homepage = "https://github.com/pypa/setuptools_scm/"; 230 | license = licenses.mit; 231 | description = "the blessed package to manage your versions by scm tags"; 232 | }; 233 | }; 234 | 235 | "six" = python.mkDerivation { 236 | name = "six-1.12.0"; 237 | src = pkgs.fetchurl { 238 | url = "https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz"; 239 | sha256 = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"; 240 | }; 241 | doCheck = commonDoCheck; 242 | buildInputs = commonBuildInputs ++ [ ]; 243 | propagatedBuildInputs = [ ]; 244 | meta = with pkgs.stdenv.lib; { 245 | homepage = "https://github.com/benjaminp/six"; 246 | license = licenses.mit; 247 | description = "Python 2 and 3 compatibility utilities"; 248 | }; 249 | }; 250 | }; 251 | localOverridesFile = ./requirements_override.nix; 252 | localOverrides = import localOverridesFile { inherit pkgs python; }; 253 | commonOverrides = [ 254 | (import ../overrides.nix { inherit pkgs python ; }) 255 | ]; 256 | paramOverrides = [ 257 | (overrides { inherit pkgs python; }) 258 | ]; 259 | allOverrides = 260 | (if (builtins.pathExists localOverridesFile) 261 | then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides; 262 | 263 | in python.withPackages 264 | (fix' (pkgs.lib.fold 265 | extends 266 | generated 267 | allOverrides 268 | ) 269 | ) -------------------------------------------------------------------------------- /science/requirements.txt: -------------------------------------------------------------------------------- 1 | numpy 2 | scipy 3 | matplotlib 4 | #astropy 5 | #blaze 6 | #bokeh 7 | #h5py 8 | #ipython 9 | #numba 10 | #pandas 11 | #scikit-image 12 | #scikit-learn 13 | #sumatra 14 | #sympy 15 | #xarray 16 | -------------------------------------------------------------------------------- /science/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | cycler==0.10.0 2 | kiwisolver==1.0.1 3 | matplotlib==3.0.2 4 | numpy==1.15.4 5 | pyparsing==2.3.0 6 | python-dateutil==2.7.5 7 | scipy==1.2.0 8 | setuptools-scm==3.1.0 9 | six==1.12.0 10 | -------------------------------------------------------------------------------- /sphinx/requirements.nix: -------------------------------------------------------------------------------- 1 | # generated using pypi2nix tool (version: 2.0.0) 2 | # See more at: https://github.com/garbas/pypi2nix 3 | # 4 | # COMMAND: 5 | # pypi2nix -W https://travis.garbas.si/wheels_cache/ -v -V 3.7 -O ../overrides.nix -E libffi -E openssl.dev -r requirements.txt 6 | # 7 | 8 | { pkgs ? import {}, 9 | overrides ? ({ pkgs, python }: self: super: {}) 10 | }: 11 | 12 | let 13 | 14 | inherit (pkgs) makeWrapper; 15 | inherit (pkgs.stdenv.lib) fix' extends inNixShell; 16 | 17 | pythonPackages = 18 | import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" { 19 | inherit pkgs; 20 | inherit (pkgs) stdenv; 21 | python = pkgs.python37; 22 | # patching pip so it does not try to remove files when running nix-shell 23 | overrides = 24 | self: super: { 25 | bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: { 26 | patchPhase = old.patchPhase + '' 27 | if [ -e $out/${pkgs.python37.sitePackages}/pip/req/req_install.py ]; then 28 | sed -i \ 29 | -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" \ 30 | -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" \ 31 | $out/${pkgs.python37.sitePackages}/pip/req/req_install.py 32 | fi 33 | ''; 34 | }); 35 | }; 36 | }; 37 | 38 | commonBuildInputs = with pkgs; [ libffi openssl.dev ]; 39 | commonDoCheck = false; 40 | 41 | withPackages = pkgs': 42 | let 43 | pkgs = builtins.removeAttrs pkgs' ["__unfix__"]; 44 | interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage { 45 | name = "python37-interpreter"; 46 | buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs); 47 | buildCommand = '' 48 | mkdir -p $out/bin 49 | ln -s ${pythonPackages.python.interpreter} \ 50 | $out/bin/${pythonPackages.python.executable} 51 | for dep in ${builtins.concatStringsSep " " 52 | (selectPkgsFn pkgs)}; do 53 | if [ -d "$dep/bin" ]; then 54 | for prog in "$dep/bin/"*; do 55 | if [ -x "$prog" ] && [ -f "$prog" ]; then 56 | ln -s $prog $out/bin/`basename $prog` 57 | fi 58 | done 59 | fi 60 | done 61 | for prog in "$out/bin/"*; do 62 | wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 63 | done 64 | pushd $out/bin 65 | ln -s ${pythonPackages.python.executable} python 66 | ln -s ${pythonPackages.python.executable} \ 67 | python3 68 | popd 69 | ''; 70 | passthru.interpreter = pythonPackages.python; 71 | }; 72 | 73 | interpreter = interpreterWithPackages builtins.attrValues; 74 | in { 75 | __old = pythonPackages; 76 | inherit interpreter; 77 | inherit interpreterWithPackages; 78 | mkDerivation = pythonPackages.buildPythonPackage; 79 | packages = pkgs; 80 | overrideDerivation = drv: f: 81 | pythonPackages.buildPythonPackage ( 82 | drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; } 83 | ); 84 | withPackages = pkgs'': 85 | withPackages (pkgs // pkgs''); 86 | }; 87 | 88 | python = withPackages {}; 89 | 90 | generated = self: { 91 | "Babel" = python.mkDerivation { 92 | name = "Babel-2.6.0"; 93 | src = pkgs.fetchurl { 94 | url = "https://files.pythonhosted.org/packages/be/cc/9c981b249a455fa0c76338966325fc70b7265521bad641bf2932f77712f4/Babel-2.6.0.tar.gz"; 95 | sha256 = "8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23"; 96 | }; 97 | doCheck = commonDoCheck; 98 | buildInputs = commonBuildInputs ++ [ ]; 99 | propagatedBuildInputs = [ 100 | self."pytz" 101 | ]; 102 | meta = with pkgs.stdenv.lib; { 103 | homepage = "http://babel.pocoo.org/"; 104 | license = licenses.bsdOriginal; 105 | description = "Internationalization utilities"; 106 | }; 107 | }; 108 | 109 | "Jinja2" = python.mkDerivation { 110 | name = "Jinja2-2.10"; 111 | src = pkgs.fetchurl { 112 | url = "https://files.pythonhosted.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47/Jinja2-2.10.tar.gz"; 113 | sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"; 114 | }; 115 | doCheck = commonDoCheck; 116 | buildInputs = commonBuildInputs ++ [ ]; 117 | propagatedBuildInputs = [ 118 | self."Babel" 119 | self."MarkupSafe" 120 | ]; 121 | meta = with pkgs.stdenv.lib; { 122 | homepage = "http://jinja.pocoo.org/"; 123 | license = licenses.bsdOriginal; 124 | description = "A small but fast and easy to use stand-alone template engine written in pure python."; 125 | }; 126 | }; 127 | 128 | "MarkupSafe" = python.mkDerivation { 129 | name = "MarkupSafe-1.1.0"; 130 | src = pkgs.fetchurl { 131 | url = "https://files.pythonhosted.org/packages/ac/7e/1b4c2e05809a4414ebce0892fe1e32c14ace86ca7d50c70f00979ca9b3a3/MarkupSafe-1.1.0.tar.gz"; 132 | sha256 = "4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3"; 133 | }; 134 | doCheck = commonDoCheck; 135 | buildInputs = commonBuildInputs ++ [ ]; 136 | propagatedBuildInputs = [ ]; 137 | meta = with pkgs.stdenv.lib; { 138 | homepage = "https://www.palletsprojects.com/p/markupsafe/"; 139 | license = licenses.bsdOriginal; 140 | description = "Safely add untrusted strings to HTML/XML markup."; 141 | }; 142 | }; 143 | 144 | "Pygments" = python.mkDerivation { 145 | name = "Pygments-2.3.1"; 146 | src = pkgs.fetchurl { 147 | url = "https://files.pythonhosted.org/packages/64/69/413708eaf3a64a6abb8972644e0f20891a55e621c6759e2c3f3891e05d63/Pygments-2.3.1.tar.gz"; 148 | sha256 = "5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a"; 149 | }; 150 | doCheck = commonDoCheck; 151 | buildInputs = commonBuildInputs ++ [ ]; 152 | propagatedBuildInputs = [ ]; 153 | meta = with pkgs.stdenv.lib; { 154 | homepage = "http://pygments.org/"; 155 | license = licenses.bsdOriginal; 156 | description = "Pygments is a syntax highlighting package written in Python."; 157 | }; 158 | }; 159 | 160 | "Sphinx" = python.mkDerivation { 161 | name = "Sphinx-1.8.2"; 162 | src = pkgs.fetchurl { 163 | url = "https://files.pythonhosted.org/packages/4c/ea/7388faba7cf02999e1bc42f6a8eb1ea0120aec3dd93474cee21cea2d693f/Sphinx-1.8.2.tar.gz"; 164 | sha256 = "120732cbddb1b2364471c3d9f8bfd4b0c5b550862f99a65736c77f970b142aea"; 165 | }; 166 | doCheck = commonDoCheck; 167 | buildInputs = commonBuildInputs ++ [ ]; 168 | propagatedBuildInputs = [ 169 | self."Babel" 170 | self."Jinja2" 171 | self."Pygments" 172 | self."alabaster" 173 | self."docutils" 174 | self."imagesize" 175 | self."packaging" 176 | self."requests" 177 | self."six" 178 | self."snowballstemmer" 179 | self."sphinxcontrib-websupport" 180 | ]; 181 | meta = with pkgs.stdenv.lib; { 182 | homepage = "http://sphinx-doc.org/"; 183 | license = licenses.bsdOriginal; 184 | description = "Python documentation generator"; 185 | }; 186 | }; 187 | 188 | "alabaster" = python.mkDerivation { 189 | name = "alabaster-0.7.12"; 190 | src = pkgs.fetchurl { 191 | url = "https://files.pythonhosted.org/packages/cc/b4/ed8dcb0d67d5cfb7f83c4d5463a7614cb1d078ad7ae890c9143edebbf072/alabaster-0.7.12.tar.gz"; 192 | sha256 = "a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"; 193 | }; 194 | doCheck = commonDoCheck; 195 | buildInputs = commonBuildInputs ++ [ ]; 196 | propagatedBuildInputs = [ ]; 197 | meta = with pkgs.stdenv.lib; { 198 | homepage = "https://alabaster.readthedocs.io"; 199 | license = "UNKNOWN"; 200 | description = "A configurable sidebar-enabled Sphinx theme"; 201 | }; 202 | }; 203 | 204 | "asn1crypto" = python.mkDerivation { 205 | name = "asn1crypto-0.24.0"; 206 | src = pkgs.fetchurl { 207 | url = "https://files.pythonhosted.org/packages/fc/f1/8db7daa71f414ddabfa056c4ef792e1461ff655c2ae2928a2b675bfed6b4/asn1crypto-0.24.0.tar.gz"; 208 | sha256 = "9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49"; 209 | }; 210 | doCheck = commonDoCheck; 211 | buildInputs = commonBuildInputs ++ [ ]; 212 | propagatedBuildInputs = [ ]; 213 | meta = with pkgs.stdenv.lib; { 214 | homepage = "https://github.com/wbond/asn1crypto"; 215 | license = licenses.mit; 216 | description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP"; 217 | }; 218 | }; 219 | 220 | "attrs" = python.mkDerivation { 221 | name = "attrs-18.2.0"; 222 | src = pkgs.fetchurl { 223 | url = "https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf/attrs-18.2.0.tar.gz"; 224 | sha256 = "10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69"; 225 | }; 226 | doCheck = commonDoCheck; 227 | buildInputs = commonBuildInputs ++ [ ]; 228 | propagatedBuildInputs = [ ]; 229 | meta = with pkgs.stdenv.lib; { 230 | homepage = "https://www.attrs.org/"; 231 | license = licenses.mit; 232 | description = "Classes Without Boilerplate"; 233 | }; 234 | }; 235 | 236 | "certifi" = python.mkDerivation { 237 | name = "certifi-2018.11.29"; 238 | src = pkgs.fetchurl { 239 | url = "https://files.pythonhosted.org/packages/55/54/3ce77783acba5979ce16674fc98b1920d00b01d337cfaaf5db22543505ed/certifi-2018.11.29.tar.gz"; 240 | sha256 = "47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7"; 241 | }; 242 | doCheck = commonDoCheck; 243 | buildInputs = commonBuildInputs ++ [ ]; 244 | propagatedBuildInputs = [ ]; 245 | meta = with pkgs.stdenv.lib; { 246 | homepage = "https://certifi.io/"; 247 | license = licenses.mpl20; 248 | description = "Python package for providing Mozilla's CA Bundle."; 249 | }; 250 | }; 251 | 252 | "cffi" = python.mkDerivation { 253 | name = "cffi-1.11.5"; 254 | src = pkgs.fetchurl { 255 | url = "https://files.pythonhosted.org/packages/e7/a7/4cd50e57cc6f436f1cc3a7e8fa700ff9b8b4d471620629074913e3735fb2/cffi-1.11.5.tar.gz"; 256 | sha256 = "e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4"; 257 | }; 258 | doCheck = commonDoCheck; 259 | buildInputs = commonBuildInputs ++ [ ]; 260 | propagatedBuildInputs = [ 261 | self."pycparser" 262 | ]; 263 | meta = with pkgs.stdenv.lib; { 264 | homepage = "http://cffi.readthedocs.org"; 265 | license = licenses.mit; 266 | description = "Foreign Function Interface for Python calling C code."; 267 | }; 268 | }; 269 | 270 | "chardet" = python.mkDerivation { 271 | name = "chardet-3.0.4"; 272 | src = pkgs.fetchurl { 273 | url = "https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz"; 274 | sha256 = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"; 275 | }; 276 | doCheck = commonDoCheck; 277 | buildInputs = commonBuildInputs ++ [ ]; 278 | propagatedBuildInputs = [ ]; 279 | meta = with pkgs.stdenv.lib; { 280 | homepage = "https://github.com/chardet/chardet"; 281 | license = licenses.lgpl3; 282 | description = "Universal encoding detector for Python 2 and 3"; 283 | }; 284 | }; 285 | 286 | "cryptography" = python.mkDerivation { 287 | name = "cryptography-2.4.2"; 288 | src = pkgs.fetchurl { 289 | url = "https://files.pythonhosted.org/packages/f3/39/d3904df7c56f8654691c4ae1bdb270c1c9220d6da79bd3b1fbad91afd0e1/cryptography-2.4.2.tar.gz"; 290 | sha256 = "05a6052c6a9f17ff78ba78f8e6eb1d777d25db3b763343a1ae89a7a8670386dd"; 291 | }; 292 | doCheck = commonDoCheck; 293 | buildInputs = commonBuildInputs ++ [ ]; 294 | propagatedBuildInputs = [ 295 | self."asn1crypto" 296 | self."cffi" 297 | self."idna" 298 | self."six" 299 | ]; 300 | meta = with pkgs.stdenv.lib; { 301 | homepage = "https://github.com/pyca/cryptography"; 302 | license = licenses.bsdOriginal; 303 | description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."; 304 | }; 305 | }; 306 | 307 | "docutils" = python.mkDerivation { 308 | name = "docutils-0.14"; 309 | src = pkgs.fetchurl { 310 | url = "https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz"; 311 | sha256 = "51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274"; 312 | }; 313 | doCheck = commonDoCheck; 314 | buildInputs = commonBuildInputs ++ [ ]; 315 | propagatedBuildInputs = [ ]; 316 | meta = with pkgs.stdenv.lib; { 317 | homepage = "http://docutils.sourceforge.net/"; 318 | license = "public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)"; 319 | description = "Docutils -- Python Documentation Utilities"; 320 | }; 321 | }; 322 | 323 | "idna" = python.mkDerivation { 324 | name = "idna-2.8"; 325 | src = pkgs.fetchurl { 326 | url = "https://files.pythonhosted.org/packages/ad/13/eb56951b6f7950cadb579ca166e448ba77f9d24efc03edd7e55fa57d04b7/idna-2.8.tar.gz"; 327 | sha256 = "c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407"; 328 | }; 329 | doCheck = commonDoCheck; 330 | buildInputs = commonBuildInputs ++ [ ]; 331 | propagatedBuildInputs = [ ]; 332 | meta = with pkgs.stdenv.lib; { 333 | homepage = "https://github.com/kjd/idna"; 334 | license = licenses.bsdOriginal; 335 | description = "Internationalized Domain Names in Applications (IDNA)"; 336 | }; 337 | }; 338 | 339 | "imagesize" = python.mkDerivation { 340 | name = "imagesize-1.1.0"; 341 | src = pkgs.fetchurl { 342 | url = "https://files.pythonhosted.org/packages/41/f5/3cf63735d54aa9974e544aa25858d8f9670ac5b4da51020bbfc6aaade741/imagesize-1.1.0.tar.gz"; 343 | sha256 = "f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5"; 344 | }; 345 | doCheck = commonDoCheck; 346 | buildInputs = commonBuildInputs ++ [ ]; 347 | propagatedBuildInputs = [ ]; 348 | meta = with pkgs.stdenv.lib; { 349 | homepage = "https://github.com/shibukawa/imagesize_py"; 350 | license = licenses.mit; 351 | description = "Getting image size from png/jpeg/jpeg2000/gif file"; 352 | }; 353 | }; 354 | 355 | "packaging" = python.mkDerivation { 356 | name = "packaging-18.0"; 357 | src = pkgs.fetchurl { 358 | url = "https://files.pythonhosted.org/packages/cf/50/1f10d2626df0aa97ce6b62cf6ebe14f605f4e101234f7748b8da4138a8ed/packaging-18.0.tar.gz"; 359 | sha256 = "0886227f54515e592aaa2e5a553332c73962917f2831f1b0f9b9f4380a4b9807"; 360 | }; 361 | doCheck = commonDoCheck; 362 | buildInputs = commonBuildInputs ++ [ ]; 363 | propagatedBuildInputs = [ 364 | self."pyparsing" 365 | self."six" 366 | ]; 367 | meta = with pkgs.stdenv.lib; { 368 | homepage = "https://github.com/pypa/packaging"; 369 | license = licenses.bsdOriginal; 370 | description = "Core utilities for Python packages"; 371 | }; 372 | }; 373 | 374 | "pycparser" = python.mkDerivation { 375 | name = "pycparser-2.19"; 376 | src = pkgs.fetchurl { 377 | url = "https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz"; 378 | sha256 = "a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"; 379 | }; 380 | doCheck = commonDoCheck; 381 | buildInputs = commonBuildInputs ++ [ ]; 382 | propagatedBuildInputs = [ ]; 383 | meta = with pkgs.stdenv.lib; { 384 | homepage = "https://github.com/eliben/pycparser"; 385 | license = licenses.bsdOriginal; 386 | description = "C parser in Python"; 387 | }; 388 | }; 389 | 390 | "pyparsing" = python.mkDerivation { 391 | name = "pyparsing-2.3.0"; 392 | src = pkgs.fetchurl { 393 | url = "https://files.pythonhosted.org/packages/d0/09/3e6a5eeb6e04467b737d55f8bba15247ac0876f98fae659e58cd744430c6/pyparsing-2.3.0.tar.gz"; 394 | sha256 = "f353aab21fd474459d97b709e527b5571314ee5f067441dc9f88e33eecd96592"; 395 | }; 396 | doCheck = commonDoCheck; 397 | buildInputs = commonBuildInputs ++ [ ]; 398 | propagatedBuildInputs = [ ]; 399 | meta = with pkgs.stdenv.lib; { 400 | homepage = "https://github.com/pyparsing/pyparsing/"; 401 | license = licenses.mit; 402 | description = "Python parsing module"; 403 | }; 404 | }; 405 | 406 | "pytz" = python.mkDerivation { 407 | name = "pytz-2018.7"; 408 | src = pkgs.fetchurl { 409 | url = "https://files.pythonhosted.org/packages/cd/71/ae99fc3df1b1c5267d37ef2c51b7d79c44ba8a5e37b48e3ca93b4d74d98b/pytz-2018.7.tar.gz"; 410 | sha256 = "31cb35c89bd7d333cd32c5f278fca91b523b0834369e757f4c5641ea252236ca"; 411 | }; 412 | doCheck = commonDoCheck; 413 | buildInputs = commonBuildInputs ++ [ ]; 414 | propagatedBuildInputs = [ ]; 415 | meta = with pkgs.stdenv.lib; { 416 | homepage = "http://pythonhosted.org/pytz"; 417 | license = licenses.mit; 418 | description = "World timezone definitions, modern and historical"; 419 | }; 420 | }; 421 | 422 | "requests" = python.mkDerivation { 423 | name = "requests-2.21.0"; 424 | src = pkgs.fetchurl { 425 | url = "https://files.pythonhosted.org/packages/52/2c/514e4ac25da2b08ca5a464c50463682126385c4272c18193876e91f4bc38/requests-2.21.0.tar.gz"; 426 | sha256 = "502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e"; 427 | }; 428 | doCheck = commonDoCheck; 429 | buildInputs = commonBuildInputs ++ [ ]; 430 | propagatedBuildInputs = [ 431 | self."certifi" 432 | self."chardet" 433 | self."cryptography" 434 | self."idna" 435 | self."urllib3" 436 | ]; 437 | meta = with pkgs.stdenv.lib; { 438 | homepage = "http://python-requests.org"; 439 | license = licenses.asl20; 440 | description = "Python HTTP for Humans."; 441 | }; 442 | }; 443 | 444 | "six" = python.mkDerivation { 445 | name = "six-1.12.0"; 446 | src = pkgs.fetchurl { 447 | url = "https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz"; 448 | sha256 = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"; 449 | }; 450 | doCheck = commonDoCheck; 451 | buildInputs = commonBuildInputs ++ [ ]; 452 | propagatedBuildInputs = [ ]; 453 | meta = with pkgs.stdenv.lib; { 454 | homepage = "https://github.com/benjaminp/six"; 455 | license = licenses.mit; 456 | description = "Python 2 and 3 compatibility utilities"; 457 | }; 458 | }; 459 | 460 | "snowballstemmer" = python.mkDerivation { 461 | name = "snowballstemmer-1.2.1"; 462 | src = pkgs.fetchurl { 463 | url = "https://files.pythonhosted.org/packages/20/6b/d2a7cb176d4d664d94a6debf52cd8dbae1f7203c8e42426daa077051d59c/snowballstemmer-1.2.1.tar.gz"; 464 | sha256 = "919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128"; 465 | }; 466 | doCheck = commonDoCheck; 467 | buildInputs = commonBuildInputs ++ [ ]; 468 | propagatedBuildInputs = [ ]; 469 | meta = with pkgs.stdenv.lib; { 470 | homepage = "https://github.com/shibukawa/snowball_py"; 471 | license = licenses.bsdOriginal; 472 | description = "This package provides 16 stemmer algorithms (15 + Poerter English stemmer) generated from Snowball algorithms."; 473 | }; 474 | }; 475 | 476 | "sphinxcontrib-websupport" = python.mkDerivation { 477 | name = "sphinxcontrib-websupport-1.1.0"; 478 | src = pkgs.fetchurl { 479 | url = "https://files.pythonhosted.org/packages/07/7a/e74b06dce85555ffee33e1d6b7381314169ebf7e31b62c18fcb2815626b7/sphinxcontrib-websupport-1.1.0.tar.gz"; 480 | sha256 = "9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9"; 481 | }; 482 | doCheck = commonDoCheck; 483 | buildInputs = commonBuildInputs ++ [ ]; 484 | propagatedBuildInputs = [ ]; 485 | meta = with pkgs.stdenv.lib; { 486 | homepage = "http://sphinx-doc.org/"; 487 | license = licenses.bsdOriginal; 488 | description = "Sphinx API for Web Apps"; 489 | }; 490 | }; 491 | 492 | "urllib3" = python.mkDerivation { 493 | name = "urllib3-1.24.1"; 494 | src = pkgs.fetchurl { 495 | url = "https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1/urllib3-1.24.1.tar.gz"; 496 | sha256 = "de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22"; 497 | }; 498 | doCheck = commonDoCheck; 499 | buildInputs = commonBuildInputs ++ [ ]; 500 | propagatedBuildInputs = [ 501 | self."certifi" 502 | ]; 503 | meta = with pkgs.stdenv.lib; { 504 | homepage = "https://urllib3.readthedocs.io/"; 505 | license = licenses.mit; 506 | description = "HTTP library with thread-safe connection pooling, file post, and more."; 507 | }; 508 | }; 509 | }; 510 | localOverridesFile = ./requirements_override.nix; 511 | localOverrides = import localOverridesFile { inherit pkgs python; }; 512 | commonOverrides = [ 513 | (import ../overrides.nix { inherit pkgs python ; }) 514 | ]; 515 | paramOverrides = [ 516 | (overrides { inherit pkgs python; }) 517 | ]; 518 | allOverrides = 519 | (if (builtins.pathExists localOverridesFile) 520 | then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides; 521 | 522 | in python.withPackages 523 | (fix' (pkgs.lib.fold 524 | extends 525 | generated 526 | allOverrides 527 | ) 528 | ) -------------------------------------------------------------------------------- /sphinx/requirements.txt: -------------------------------------------------------------------------------- 1 | Sphinx 2 | 3 | # tests for circular dependencies 4 | cryptography 5 | attrs 6 | -------------------------------------------------------------------------------- /sphinx/requirements_frozen.txt: -------------------------------------------------------------------------------- 1 | alabaster==0.7.12 2 | asn1crypto==0.24.0 3 | attrs==18.2.0 4 | Babel==2.6.0 5 | certifi==2018.11.29 6 | cffi==1.11.5 7 | chardet==3.0.4 8 | cryptography==2.4.2 9 | docutils==0.14 10 | idna==2.8 11 | imagesize==1.1.0 12 | Jinja2==2.10 13 | MarkupSafe==1.1.0 14 | packaging==18.0 15 | pycparser==2.19 16 | Pygments==2.3.1 17 | pyparsing==2.3.0 18 | pytz==2018.7 19 | requests==2.21.0 20 | six==1.12.0 21 | snowballstemmer==1.2.1 22 | Sphinx==1.8.2 23 | sphinxcontrib-websupport==1.1.0 24 | urllib3==1.24.1 25 | --------------------------------------------------------------------------------