Merge branch 'staging-next' into staging

This commit is contained in:
Jan Tojnar
2021-05-10 09:45:47 +02:00
309 changed files with 3648 additions and 2038 deletions
@@ -5,6 +5,7 @@
, markdown
, docutils
, pygments
, pyyaml
}:
buildPythonPackage rec {
@@ -16,7 +17,7 @@ buildPythonPackage rec {
sha256 = "e309d79dde0935576ce1def6752f2127a12e2c2ea2ae8b0c69f99ff8bc12181d";
};
checkInputs = [ markdown docutils pygments ];
checkInputs = [ markdown docutils pygments pyyaml ];
propagatedBuildInputs = [ python-markdown-math ];
meta = {
@@ -1,16 +1,16 @@
{ lib, fetchPypi, buildPythonPackage, pythonOlder, aiohttp, attrs }:
{ lib, fetchPypi, buildPythonPackage, pythonOlder, aiohttp, python-socks, attrs }:
buildPythonPackage rec {
pname = "aiohttp-socks";
version = "0.3.9";
version = "0.6.0";
src = fetchPypi {
inherit version;
pname = "aiohttp_socks";
sha256 = "1mn2ng66951mri49f99zh3660j83kvqhr6dpx90s9fkjwk83hmjy";
sha256 = "04w010bvi719ifpc3sshav95k10hf9nq8czn9yglkj206yxcypdr";
};
propagatedBuildInputs = [ aiohttp attrs ];
propagatedBuildInputs = [ aiohttp attrs python-socks ];
# Checks needs internet access
doCheck = false;
@@ -0,0 +1,42 @@
{ lib
, async-timeout
, buildPythonPackage
, fetchFromGitHub
, psycopg2
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiopg";
version = "1.2.1";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "aio-libs";
repo = pname;
rev = "v${version}";
sha256 = "0c6s2p1fjbdk1ygpl6a1s1rbnsk8gw9kj99pf98nxhb9j3iahas4";
};
propagatedBuildInputs = [
async-timeout
psycopg2
];
postPatch = ''
substituteInPlace setup.py \
--replace "psycopg2-binary" "psycopg2"
'';
# Tests requires a PostgreSQL Docker instance
doCheck = false;
pythonImportsCheck = [ "aiopg" ];
meta = with lib; {
description = "Python library for accessing a PostgreSQL database";
homepage = "https://aiopg.readthedocs.io/";
license = with licenses; [ bsd2 ];
maintainers = with maintainers; [ fab ];
};
}
@@ -0,0 +1,64 @@
{ lib
, buildPythonPackage
, docopt
, fetchFromGitHub
, hypothesis
, passlib
, poetry-core
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, pyyaml
, transitions
, websockets
}:
buildPythonPackage rec {
pname = "amqtt";
version = "0.10.0-alpha.3";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "Yakifo";
repo = pname;
rev = "v${version}";
sha256 = "0wz85ykjgi2174qcdgpakmc4m0p96v62az7pvc9hyallq1v1k4n6";
};
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [
docopt
passlib
pyyaml
transitions
websockets
];
checkInputs = [
hypothesis
pytest-asyncio
pytestCheckHook
];
disabledTestPaths = [
# Test are not ported from hbmqtt yet
"tests/test_cli.py"
"tests/test_client.py"
];
disabledTests = [
# Requires network access
"test_connect_tcp"
];
pythonImportsCheck = [ "amqtt" ];
meta = with lib; {
description = "Python MQTT client and broker implementation";
homepage = "https://amqtt.readthedocs.io/";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}
@@ -4,11 +4,11 @@
buildPythonPackage rec {
pname = "autopep8";
version = "1.5.6";
version = "1.5.7";
src = fetchPypi {
inherit pname version;
sha256 = "5454e6e9a3d02aae38f866eec0d9a7de4ab9f93c10a273fb0340f3d6d09f7514";
sha256 = "276ced7e9e3cb22e5d7c14748384a5cf5d9002257c0ed50c0e075b68011bb6d0";
};
propagatedBuildInputs = [ pycodestyle toml ];
@@ -0,0 +1,39 @@
{ lib, buildPythonPackage, fetchFromGitHub
, pythonOlder
, importlib-resources
, hypothesis
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "backports-zoneinfo";
version = "0.2.1";
src = fetchFromGitHub {
owner = "pganssle";
repo = "zoneinfo";
rev = version;
sha256 = "sha256-00xdDOVdDanfsjQTd3yjMN2RFGel4cWRrAA3CvSnl24=";
};
propagatedBuildInputs = lib.optionals (pythonOlder "3.7") [
importlib-resources
];
pythonImportsCheck = [ "backports.zoneinfo" ];
checkInputs = [
hypothesis
pytestCheckHook
];
# unfortunately /etc/zoneinfo doesn't exist in sandbox, and many tests fail
doCheck = false;
meta = with lib; {
description = "Backport of the standard library module zoneinfo";
homepage = "https://github.com/pganssle/zoneinfo";
license = licenses.asl20;
maintainers = with maintainers; [ jonringer ];
};
}
@@ -22,6 +22,12 @@ buildPythonPackage rec {
url = "https://github.com/DanielStutzbach/blist/commit/2dc1ec28ed68611fcec9ac1c68070c782d6b4b4e.patch";
sha256 = "0ma0z6ga80w3wzh3sidwd8ckfbgx4j1y7cc29q6j9ddrvxpf276y";
})
# Fixes compatibility for Python 3.9 https://github.com/DanielStutzbach/blist/pull/91
(fetchpatch {
url = "https://github.com/DanielStutzbach/blist/pull/91/commits/e63514f805e42dc6a5708e629e4153d91bc90bff.patch";
sha256 = "1prx8znk7008v4ky7q2lx0pi6hzqd4kxgfdwbsr4zylwbrdqvsga";
})
];
meta = with lib; {
@@ -3,12 +3,15 @@
, fetchPypi
, curtsies
, greenlet
, mock
, jedi
, pygments
, pyxdg
, requests
, substituteAll
, urwid
, which }:
, watchdog
, which
}:
buildPythonPackage rec {
pname = "bpython";
@@ -24,17 +27,22 @@ buildPythonPackage rec {
which = "${which}/bin/which";
})];
propagatedBuildInputs = [ curtsies greenlet pygments requests urwid ];
propagatedBuildInputs = [
curtsies
greenlet
pygments
pyxdg
requests
urwid
];
postInstall = ''
substituteInPlace "$out/share/applications/org.bpython-interpreter.bpython.desktop" \
--replace "Exec=/usr/bin/bpython" "Exec=$out/bin/bpython"
'';
checkInputs = [ mock ];
# tests fail: https://github.com/bpython/bpython/issues/712
doCheck = false;
checkInputs = [ jedi watchdog ];
pythonImportsCheck = [ "bpython" ];
meta = with lib; {
description = "A fancy curses interface to the Python interactive interpreter";
@@ -1,5 +1,5 @@
{ lib, buildPythonPackage, fetchPypi, buildbot, setuptoolsTrial, mock, twisted,
future, coreutils }:
future, coreutils, nixosTests }:
buildPythonPackage (rec {
pname = "buildbot-worker";
@@ -19,6 +19,10 @@ buildPythonPackage (rec {
--replace /usr/bin/tail "${coreutils}/bin/tail"
'';
passthru.tests = {
smoke-test = nixosTests.buildbot;
};
meta = with lib; {
homepage = "https://buildbot.net/";
description = "Buildbot Worker Daemon";
@@ -9,13 +9,13 @@
buildPythonPackage rec {
pname = "certbot";
version = "1.14.0";
version = "1.15.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-J514zgmIcHpwySChFBXGKR4552wS9z5x8Berk/irHSU=";
sha256 = "sha256-Z5ZIA0ib+N7La6Z0Taf6DovCF6fXnEDppPQt6Vgwl0c=";
};
sourceRoot = "source/${pname}";
@@ -29,6 +29,9 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = [
"RequestsCaBundleTest"
];
disabledTestPaths = lib.optionals stdenv.isDarwin [ "src/crate/client/test_http.py" ];
meta = with lib; {
@@ -1,7 +1,7 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, isPy27
, pythonOlder
, attrs
, isodate
, dateutil
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "csvw";
version = "1.10.2";
disabled = isPy27;
version = "1.11.0";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "cldf";
repo = "csvw";
rev = "v${version}";
sha256 = "0z0qxlsfxwz1qapxb4d0mz3wkj99d7zi9yrg1cbd2xp7giagb6d4";
sha256 = "1393xwqawaxsflbq62vks92vv4zch8p6dd1mdvdi7j4vvf0zljkg";
};
patchPhase = ''
@@ -1,22 +1,14 @@
{ lib, buildPythonPackage, fetchPypi, fetchpatch, pythonOlder, blessings, mock, nose, pyte, wcwidth, typing ? null}:
{ lib, buildPythonPackage, fetchPypi, pythonOlder, blessings, mock, nose, pyte, cwcwidth, typing ? null}:
buildPythonPackage rec {
pname = "curtsies";
version = "0.3.0";
version = "0.3.5";
src = fetchPypi {
inherit pname version;
sha256 = "89c802ec051d01dec6fc983e9856a3706e4ea8265d2940b1f6d504a9e26ed3a9";
sha256 = "1g8dwafx4vx06isjkn28r3cwb0hw1bv67lgygaz34yk66lrzz1x5";
};
patches = [
# Fix dependency on typing. Remove with the next release
(fetchpatch {
url = "https://github.com/bpython/curtsies/commit/217b4f83e954837f8adc4c549c1f2f9f2bb272a7.patch";
sha256 = "1d3zwx9c7i0drb4nvydalm9mr83jrvdm75ffgisri89h337hiffs";
})
];
propagatedBuildInputs = [ blessings wcwidth ]
propagatedBuildInputs = [ blessings cwcwidth ]
++ lib.optionals (pythonOlder "3.5") [ typing ];
checkInputs = [ mock pyte nose ];
@@ -0,0 +1,34 @@
{ lib, buildPythonPackage, fetchPypi, cython, pytestCheckHook }:
buildPythonPackage rec {
pname = "cwcwidth";
version = "0.1.4";
format = "pyproject";
src = fetchPypi {
inherit pname version;
sha256 = "1azrphpkcyggg38xvkfb9dpc4xmmm90p02kf8dkqd4d6j5w96aj8";
};
nativeBuildInputs = [ cython ];
checkInputs = [ pytestCheckHook ];
# Hack needed to make pytest + cython work
# https://github.com/NixOS/nixpkgs/pull/82410#issuecomment-827186298
preCheck = ''
export HOME=$(mktemp -d)
cp -r $TMP/$sourceRoot/tests $HOME
pushd $HOME
'';
postCheck = "popd";
pythonImportsCheck = [ "cwcwidth" ];
meta = with lib; {
description = "Python bindings for wc(s)width";
homepage = "https://github.com/sebastinas/cwcwidth";
changelog = "https://github.com/sebastinas/cwcwidth/blob/main/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ eduardosm ];
};
}
@@ -9,12 +9,12 @@
}:
buildPythonPackage rec {
version = "0.5.0";
version = "0.6.0";
pname = "dask-image";
src = fetchPypi {
inherit pname version;
sha256 = "0bf7ea8dcd9d795505b498bd632394720c048f50761e23c574d9a6bacfb27cbb";
sha256 = "1zzxrvbm52xn7azkn74pjinlk0jkpdcyl3r5vxxy5lmjnmzlrrpy";
};
propagatedBuildInputs = [ dask scipy pims ];
@@ -27,6 +27,11 @@ buildPythonPackage rec {
setuptools
];
postPatch = ''
substituteInPlace setup.py \
--replace "events>=0.3,<0.4" "events>=0.3,<0.5"
'';
pythonImportsCheck = [ "eve" ];
# tests call a running mongodb instance
@@ -3,8 +3,8 @@
lxml, tzlocal, python-dateutil, pygments, requests-kerberos,
defusedxml, cached-property, isodate, requests_ntlm, dnspython,
psutil, requests-mock, pyyaml,
oauthlib, requests_oauthlib,
flake8,
oauthlib, requests_oauthlib, tzdata,
flake8, backports-zoneinfo
}:
buildPythonPackage rec {
@@ -24,9 +24,11 @@ buildPythonPackage rec {
flake8
];
propagatedBuildInputs = [
lxml tzlocal python-dateutil pygments requests-kerberos
lxml tzlocal tzdata python-dateutil pygments requests-kerberos
defusedxml cached-property isodate requests_ntlm dnspython
oauthlib requests_oauthlib
] ++ lib.optionals (pythonOlder "3.9") [
backports-zoneinfo
];
meta = with lib; {
@@ -28,6 +28,12 @@ buildPythonPackage rec {
./update-django-tagging.patch
];
postPatch = ''
# https://github.com/graphite-project/graphite-web/pull/2701
substituteInPlace setup.py \
--replace "'scandir'" "'scandir; python_version < \"3.5\"'"
'';
propagatedBuildInputs = [
django
memcached
@@ -6,11 +6,11 @@
buildPythonPackage rec {
pname = "hg-evolve";
version = "10.3.0";
version = "10.3.1";
src = fetchPypi {
inherit pname version;
sha256 = "5d7f73fc1c357134ae9b4a3ed2d844ab8e75a4ca1303679a9e150e87617e7bc7";
sha256 = "03xwnadpvgna70n6pfxb7xdrszppdqrx5qmkbr1v0jzbh5rnzi6b";
};
doCheck = false;
@@ -18,7 +18,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Enables the changeset evolution feature of Mercurial core";
homepage = "https://www.mercurial-scm.org/doc/evolution/";
maintainers = with maintainers; [ xavierzwirtz ];
maintainers = with maintainers; [ xavierzwirtz lukegb ];
license = licenses.gpl2Plus;
};
}
@@ -0,0 +1,42 @@
{ lib
, fetchFromGitHub
, buildPythonPackage
, wxPython_4_0
, python3
}:
buildPythonPackage rec {
pname = "humblewx";
version = "0.2.2";
src = fetchFromGitHub {
owner = "thetimelineproj";
repo = pname;
rev = version;
sha256 = "0fv8gwlbcj000qq34inbwgxf0xgibs590dsyqnw0mmyb7f1iq210";
};
# timeline is not compatible with wxPython_4_1. reported upstream
propagatedBuildInputs = [ wxPython_4_0 ];
checkPhase = ''
runHook preCheck
for i in examples/*; do
${python3.interpreter} $i
done
runHook postCheck
'';
# Unable to access the X Display, is $DISPLAY set properly?
# would have to use nixos module tests, but it is not worth it
doCheck = false;
pythonImportsCheck = [ "humblewx" ];
meta = {
homepage = "https://github.com/thetimelineproj/humblewx";
description = "Library that simplifies creating user interfaces with wxPython";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ davidak ];
};
}
@@ -6,6 +6,8 @@
, numpy
, scikitlearn
, scipy
, matplotlib
, seaborn
}:
buildPythonPackage rec {
@@ -28,8 +30,12 @@ buildPythonPackage rec {
scipy
];
checkInputs = [ pytestCheckHook pytestcov ];
pytestFlagsArray = [ "--ignore=docs" ];
checkInputs = [ pytestCheckHook pytestcov matplotlib seaborn ];
disabledTestPaths = [
"docs"
"benchmarks"
"examples"
];
meta = with lib; {
homepage = "https://github.com/neurodata/hyppo";
@@ -0,0 +1,21 @@
{ lib
, buildPythonPackage
, i2c-tools
}:
buildPythonPackage rec {
inherit (i2c-tools) pname version src;
buildInputs = [ i2c-tools ];
preConfigure = "cd py-smbus";
meta = with lib; {
inherit (i2c-tools.meta) homepage platforms;
description = "wrapper for i2c-tools' smbus stuff";
# from py-smbus/smbusmodule.c
license = [ licenses.gpl2Only ];
maintainers = [ maintainers.evils ];
};
}
@@ -1,4 +1,10 @@
{ lib, buildPythonPackage, fetchPypi, ipywidgets, matplotlib }:
{ lib
, buildPythonPackage
, fetchPypi
, ipywidgets
, matplotlib
, jupyter-packaging
}:
buildPythonPackage rec {
pname = "ipympl";
@@ -9,7 +15,7 @@ buildPythonPackage rec {
sha256 = "f0f1f356d8cb9d4fb51bb86dbbf837c190145316cb72f66081872ebc4d6db0a1";
};
propagatedBuildInputs = [ ipywidgets matplotlib ];
propagatedBuildInputs = [ ipywidgets matplotlib jupyter-packaging ];
# There are no unit tests in repository
doCheck = false;
@@ -1,39 +1,52 @@
{ lib, buildPythonPackage, fetchPypi, isPy27
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, GitPython
, jupyter-packaging
, jupyter_client
, jupyterlab
, markdown-it-py
, mdit-py-plugins
, nbformat
, pytest
, notebook
, pytestCheckHook
, pyyaml
, toml
}:
buildPythonPackage rec {
pname = "jupytext";
version = "1.11.0";
version = "1.11.2";
format = "pyproject";
disabled = isPy27;
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "9062d001baaa32430fbb94a2c9394ac906db0a58da94e7aa4e414b73fd7d51bc";
src = fetchFromGitHub {
owner = "mwouts";
repo = pname;
rev = "v${version}";
hash = "sha256-S2SKAC2oT4VIVMMDbu/Puo87noAgnQs1hh88JphutA8=";
};
buildInputs = [ jupyter-packaging jupyterlab ];
propagatedBuildInputs = [
markdown-it-py
mdit-py-plugins
nbformat
pyyaml
toml
];
checkInputs = [
pytest
pytestCheckHook
GitPython
jupyter_client
notebook
];
# requires test notebooks which are not shipped with the pypi release
# also, pypi no longer includes tests
doCheck = false;
checkPhase = ''
pytest
'';
# pre-commit tests require a Git repository.
pytestFlagsArray = [ "--ignore-glob='tests/test_pre_commit_*.py'" ];
pythonImportsCheck = [ "jupytext" "jupytext.cli" ];
meta = with lib; {
description = "Jupyter notebooks as Markdown documents, Julia, Python or R scripts";
@@ -0,0 +1,36 @@
{ lib
, buildPythonPackage
, fetchPypi
, twisted
, passlib
, pyopenssl
, pyparsing
, service-identity
, zope_interface
, isPy3k
, python
}:
buildPythonPackage rec {
pname = "ldaptor";
version = "19.1.0";
src = fetchPypi {
inherit pname version;
sha256 = "64c7b870c77e34e4f5f9cfdf330b9702e89b4dd0f64275704f86c1468312c755";
};
propagatedBuildInputs = [
twisted passlib pyopenssl pyparsing service-identity zope_interface
];
disabled = isPy3k;
doCheck = false;
meta = {
description = "A Pure-Python Twisted library for LDAP";
homepage = "https://github.com/twisted/ldaptor";
license = lib.licenses.mit;
};
}
@@ -0,0 +1,34 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, pytestCheckHook
, uc-micro-py
}:
buildPythonPackage rec {
pname = "linkify-it-py";
version = "1.0.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "tsutsu3";
repo = pname;
rev = "v${version}";
hash = "sha256-gd51no6VqvIiW9fbCdp30zHG/us6by7FLHV2ul/XJAM=";
};
propagatedBuildInputs = [ uc-micro-py ];
checkInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "linkify_it" ];
meta = with lib; {
description = "Links recognition library with full unicode support";
homepage = "https://github.com/tsutsu3/linkify-it-py";
license = licenses.mit;
maintainers = with maintainers; [ AluisioASG ];
};
}
@@ -2,40 +2,61 @@
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, installShellFiles
, docopt
, hidapi
, pyusb
, smbus-cffi
, i2c-tools
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "liquidctl";
version = "1.5.1";
version = "1.6.1";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "1l6cvm8vs2gkmg4qwg5m5vqjql1gah2vd9vs7pcj2v5hf0cm5v9x";
sha256 = "sha256-FYpr1mYzPc0rOE75fUNjxe/57EWl+zcbIbkqFseDhzI=";
};
nativeBuildInputs = [ installShellFiles ];
propagatedBuildInputs = [
docopt
hidapi
pyusb
smbus-cffi
i2c-tools
];
# does not contain tests
doCheck = false;
outputs = [ "out" "man" ];
postInstall = ''
installManPage liquidctl.8
installShellCompletion extra/completions/liquidctl.bash
mkdir -p $out/lib/udev/rules.d
cp extra/linux/71-liquidctl.rules $out/lib/udev/rules.d/.
'';
checkInputs = [ pytestCheckHook ];
postBuild = ''
# needed for pythonImportsCheck
export XDG_RUNTIME_DIR=$TMPDIR
'';
pythonImportsCheck = [ "liquidctl" ];
meta = with lib; {
description = "Cross-platform CLI and Python drivers for AIO liquid coolers and other devices";
homepage = "https://github.com/liquidctl/liquidctl";
changelog = "https://github.com/liquidctl/liquidctl/blob/master/CHANGELOG.md";
license = licenses.gpl3;
maintainers = with maintainers; [ arturcygan ];
license = licenses.gpl3Plus;
maintainers = with maintainers; [ arturcygan evils ];
};
}
@@ -8,13 +8,13 @@
buildPythonPackage rec {
pname = "localzone";
version = "0.9.7";
version = "0.9.8";
src = fetchFromGitHub {
owner = "ags-slc";
repo = pname;
rev = "v${version}";
sha256 = "1vzn1vm3zf86l7qncbmghjrwyvla9dc2v8abn8jajbl47gm7r5f7";
sha256 = "1cbiv21yryjqy46av9hbjccks95sxznrx8nypd3yzihf1vkjiq5a";
};
propagatedBuildInputs = [ dnspython sphinx ];
@@ -1,41 +1,36 @@
{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook, pythonOlder
, attrs
, coverage
, linkify-it-py
, psutil
, pytest-benchmark
, pytest-regressions
, typing-extensions
}:
buildPythonPackage rec {
pname = "markdown-it-py";
version = "0.6.2";
version = "1.0.0";
format = "pyproject";
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "executablebooks";
repo = "markdown-it-py";
repo = pname;
rev = "v${version}";
sha256 = "1g9p8pdnvjya436lii63r5gjajhmbhmyh9ngbjqf9dqny05nagz1";
hash = "sha256-GA7P2I8N+i2ISsVgx58zyhrfKMcZ7pL4X9T/trbsr1Y=";
};
propagatedBuildInputs = [ attrs ];
propagatedBuildInputs = [ attrs linkify-it-py ]
++ lib.optional (pythonOlder "3.8") typing-extensions;
checkInputs = [
coverage
pytest-benchmark
psutil
pytest-benchmark
pytest-regressions
pytestCheckHook
];
disabledTests = [
# Requires the unpackaged pytest-regressions fixture plugin
"test_amsmath"
"test_container"
"test_deflist"
"test_dollarmath"
"test_spec"
"test_texmath"
];
pytestImportsCheck = [ "markdown_it" ];
meta = with lib; {
description = "Markdown parser done right";
@@ -2,9 +2,11 @@
, buildPythonPackage
, fetchFromGitHub
, git
, poetry-core
, attrs
, future
, aiohttp
, aiohttp-socks
, aiofiles
, h11
, h2
@@ -16,27 +18,37 @@
, peewee
, cachetools
, atomicwrites
, pytestCheckHook
, faker
, aioresponses
, hypothesis
, pytest-aiohttp
, pytest-benchmark
}:
buildPythonPackage rec {
pname = "matrix-nio";
version = "0.15.2";
version = "0.18.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "poljar";
repo = "matrix-nio";
rev = version;
sha256 = "190xw3cvk4amr9pl8ip2i7k3xdjd0231kn2zl6chny5axx22p1dv";
sha256 = "1rn5lz81y4bvgjhxzd57qhr0lmkm5xljl4bj9w10lnm4f7ls0xdi";
};
nativeBuildInputs = [
git
poetry-core
pytestCheckHook
];
propagatedBuildInputs = [
attrs
future
aiohttp
aiohttp-socks
aiofiles
h11
h2
@@ -50,7 +62,20 @@ buildPythonPackage rec {
atomicwrites
];
doCheck = false;
checkInputs = [
faker
aioresponses
hypothesis
pytest-aiohttp
pytest-benchmark
];
disabledTests = [
# touches network
"test_connect_wrapper"
# time dependent and flaky
"test_transfer_monitor_callbacks"
];
meta = with lib; {
description = "A Python Matrix client library, designed according to sans I/O principles";
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "mcstatus";
version = "5.1.4";
version = "5.2.0";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "Dinnerbone";
repo = pname;
rev = "v${version}";
sha256 = "1k8hjv965svbm95m7jaawlhdbxqpkjchlwvjwn1n7z90dfgn5kih";
sha256 = "sha256-RlqzeixaHgyIl/7mMRkZAEsqJEP79Bz1bDGAU8PIetU=";
};
propagatedBuildInputs = [
@@ -0,0 +1,35 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, markdown-it-py
, pytest-regressions
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "mdit-py-plugins";
version = "0.2.8";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "executablebooks";
repo = pname;
rev = "v${version}";
hash = "sha256-MXQjaVDuguGbmby6BQnrTdpq6Mih3HabXuyFxf9jB18=";
};
propagatedBuildInputs = [ markdown-it-py ];
checkInputs = [ pytestCheckHook pytest-regressions ];
pythonImportsCheck = [ "mdit_py_plugins" ];
meta = with lib; {
description = "Collection of core plugins for markdown-it-py";
homepage = "https://github.com/executablebooks/mdit-py-plugins";
license = licenses.mit;
maintainers = with maintainers; [ AluisioASG ];
};
}
@@ -1,21 +1,45 @@
{ lib, isPy27, buildPythonPackage, fetchPypi, scikitlearn }:
{ lib
, isPy27
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, scikitlearn
, pytestCheckHook
, pytest-randomly
}:
buildPythonPackage rec {
pname = "mlrose";
version = "1.3.0";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "cec83253bf6da67a7fb32b2c9ae13e9dbc6cfbcaae2aa3107993e69e9788f15e";
src = fetchFromGitHub {
owner = "gkhayes";
repo = "mlrose";
rev = "v${version}";
sha256 = "1dn43k3rcypj58ymcj849b37w66jz7fphw8842v6mlbij3x0rxfl";
};
patches = [
# Fixes compatibility with scikit-learn 0.24.1
(fetchpatch {
url = "https://github.com/gkhayes/mlrose/pull/55/commits/19caf8616fc194402678aa67917db334ad02852a.patch";
sha256 = "1nivz3bn21nd21bxbcl16a6jmy7y5j8ilz90cjmd0xq4v7flsahf";
})
];
propagatedBuildInputs = [ scikitlearn ];
checkInputs = [ pytest-randomly pytestCheckHook ];
postPatch = ''
sed -i 's,sklearn,scikit-learn,g' setup.py
substituteInPlace setup.py --replace sklearn scikit-learn
'';
pythonImportsCheck = [ "mlrose" ];
# Fix random seed during tests
pytestFlagsArray = [ "--randomly-seed 0" ];
meta = with lib; {
description = "Machine Learning, Randomized Optimization and SEarch";
homepage = "https://github.com/gkhayes/mlrose";
@@ -9,11 +9,11 @@
buildPythonPackage rec {
pname = "msal";
version = "1.10.0";
version = "1.11.0";
src = fetchPypi {
inherit pname version;
sha256 = "582e92e3b9fa68084dca6ecfd8db866ddc75cd9043de267c79d6b6277dd27f55";
sha256 = "sha256-RnrwK7lKh6G2lbUb+GdmfoKKzA3Twd5fpUP2kALbSfo=";
};
propagatedBuildInputs = [
@@ -22,15 +22,15 @@ buildPythonPackage rec {
];
# Tests assume Network Connectivity:
# https://github.com/AzureAD/microsoft-authentication-library-for-python/blob/e2958961e8ec16d0af4199f60c36c3f913497e48/tests/test_authority.py#L73
# https://github.com/AzureAD/microsoft-authentication-library-for-python/blob/e2958961e8ec16d0af4199f60c36c3f913497e48/tests/test_authority.py#L73
doCheck = false;
pythonImportsCheck = [ "msal" ];
meta = with lib; {
description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect";
homepage = "https://github.com/AzureAD/microsoft-authentication-library-for-python";
license = licenses.mit;
maintainers = with maintainers; [
kamadorueda
];
maintainers = with maintainers; [ kamadorueda ];
};
}
@@ -17,14 +17,28 @@ buildPythonPackage rec {
sha256 = "9e0d70a1fa6f452584de1cb853ae6c11f41233549f7839cfb879f99410f6ad46";
};
# package has no tests
propagatedBuildInputs = [
oauthlib
pyjwt
requests
requests_oauthlib
six
];
postPatch = ''
# https://github.com/mediawiki-utilities/python-mwoauth/pull/43
substituteInPlace setup.py --replace "PyJWT>=1.0.1,<2.0.0" "PyJWT>=1.0.1"
'';
# PyPI source has no tests included
# https://github.com/mediawiki-utilities/python-mwoauth/issues/44
doCheck = false;
propagatedBuildInputs = [ six pyjwt requests oauthlib requests_oauthlib ];
pythonImportsCheck = [ "mwoauth" ];
meta = with lib; {
description = "A library designed to provide a simple means to performing an OAuth handshake with a MediaWiki installation with the OAuth Extension installed.";
homepage = "https://github.com/mediawiki-utilities/python-mwoauth";
description = "Python library to perform OAuth handshakes with a MediaWiki installation";
homepage = "https://github.com/mediawiki-utilities/python-mwoauth";
license = licenses.mit;
maintainers = with maintainers; [ ixxie ];
};
@@ -1,33 +1,31 @@
{ lib
, stdenv
, buildPythonPackage
, fetchFromGitHub
, click
, colorama
, cryptography
, exrex
, fetchFromGitHub
, pyopenssl
, pyperclip
, pytest-mock
, pytestCheckHook
, questionary
, requests
, pytestCheckHook
, pytest-mock
, requests-mock
}:
buildPythonPackage rec {
pname = "myjwt";
version = "1.4.0";
version = "1.5.0";
src = fetchFromGitHub {
owner = "mBouamama";
repo = "MyJWT";
rev = version;
sha256 = "1n3lvdrzp6wbbcygjwa7xar2jnhjnrz7a9khmn2phhkkngxm5rc4";
sha256 = "sha256-kZkqFeaQPd56BVaYmCWAbVu1xwbPAIlQC3u5/x3dh7A=";
};
patches = [ ./pinning.patch ];
propagatedBuildInputs = [
click
colorama
@@ -40,15 +38,20 @@ buildPythonPackage rec {
];
checkInputs = [
pytestCheckHook
pytest-mock
pytestCheckHook
requests-mock
];
postPatch = ''
# Remove all version pinning (E.g., tornado==5.1.1 -> tornado)
sed -i -e "s/==[0-9.]*//" requirements.txt
'';
pythonImportsCheck = [ "myjwt" ];
meta = with lib; {
description = "CLI tool for testing vulnerabilities on Json Web Token(JWT)";
description = "CLI tool for testing vulnerabilities of JSON Web Tokens (JWT)";
homepage = "https://github.com/mBouamama/MyJWT";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
@@ -1,21 +0,0 @@
diff --git a/requirements.txt b/requirements.txt
index 3017e02..2b465db 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,8 +1,8 @@
-click==7.1.2
-colorama==0.4.4
-cryptography==3.3.1
-exrex==0.10.5
-pyOpenSSL==20.0.1
-pyperclip==1.8.1
-questionary==1.9.0
-requests==2.25.1
+click
+colorama
+cryptography
+exrex
+pyOpenSSL
+pyperclip
+questionary
+requests
@@ -8,12 +8,15 @@
, tls-parser
, cacert
, pytestCheckHook
, pythonOlder
}:
let
zlibStatic = pkgsStatic.zlib.override {
zlibStatic = (pkgsStatic.zlib.override {
splitStaticOutput = false;
};
}).overrideAttrs (oldAttrs: {
NIX_CFLAGS_COMPILE = "${oldAttrs.NIX_CFLAGS_COMPILE} -fPIC";
});
nasslOpensslArgs = {
static = true;
enableSSL2 = true;
@@ -67,13 +70,14 @@ let
in
buildPythonPackage rec {
pname = "nassl";
version = "3.1.0";
version = "4.0.0";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "nabla-c0d3";
repo = pname;
rev = version;
sha256 = "1x1v0fpb6gcc2r0k2rsy0mc3v25s3qbva78apvi46n08c2l309ci";
hash = "sha256-6lk2YfI9km10YbJAn38fvo9qa4iXcByL+udCsDe+kvU=";
};
postPatch = let
@@ -86,7 +90,7 @@ buildPythonPackage rec {
${opensslLegacyStatic.out}/lib/libcrypto.a \
deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_${legacyOpenSSLVersion}/include
ln -s ${opensslLegacyStatic.bin}/bin deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps
ln -s ${opensslLegacyStatic.bin} deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps
mkdir -p deps/openssl-OpenSSL_${modernOpenSSLVersion}/
cp ${opensslStatic.out}/lib/libssl.a \
@@ -108,18 +112,21 @@ buildPythonPackage rec {
invoke package.wheel
'';
doCheck = true;
pythonImportsCheck = [ "nassl" ];
checkInputs = [ pytestCheckHook ];
checkPhase = ''
# Skip online tests
pytest -k 'not Online'
'';
disabledTests = [
"Online"
];
meta = with lib; {
homepage = "https://github.com/nabla-c0d3/nassl";
description = "Low-level OpenSSL wrapper for Python 3.7+";
platforms = with platforms; linux ++ darwin;
license = licenses.agpl3;
license = licenses.agpl3Only;
maintainers = with maintainers; [ veehaitch ];
};
}
@@ -14,20 +14,18 @@
buildPythonPackage rec {
pname = "oauthenticator";
version = "0.13.0";
version = "14.0.0";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "5202adcd96ddbbccbc267da02f2d14e977300c81291aaa77be4fd9f2e27cfa37";
sha256 = "1zfcl3dq9ladqg7fnpx6kgxf1ckjzlc8v3j6wa8w6iwglm40ax4r";
};
propagatedBuildInputs = [
jupyterhub
];
pytestFlagsArray = [ "oauthenticator/tests" ];
checkInputs = [
google-api-python-client
google-auth-oauthlib
@@ -38,6 +36,20 @@ buildPythonPackage rec {
requests-mock
];
postPatch = ''
# The constraint was removed. No longer needed for > 14.0.0
# https://github.com/jupyterhub/oauthenticator/pull/431
substituteInPlace test-requirements.txt --replace "pyjwt>=1.7,<2.0" "pyjwt"
'';
disabledTests = [
# Test are outdated, https://github.com/jupyterhub/oauthenticator/issues/432
"test_azuread"
"test_mediawiki"
];
pythonImportsCheck = [ "oauthenticator" ];
meta = with lib; {
description = "Authenticate JupyterHub users with common OAuth providers, including GitHub, Bitbucket, and more.";
homepage = "https://github.com/jupyterhub/oauthenticator";
@@ -1,16 +1,16 @@
{ lib
, fetchFromGitHub
}: rec {
version = "3.0.0";
version = "3.0.1";
src = fetchFromGitHub {
owner = "openrazer";
repo = "openrazer";
rev = "v${version}";
sha256 = "sha256-gw6Qt9BntPcF3zw19PXftDbhoCeBr8hwrujy51rb5Fc=";
sha256 = "sha256-ptB0jP0kp1Liynkfz0B0OMw6xNQG1s8IvxhgNAdEytM=";
};
meta = with lib; {
homepage = "https://openrazer.github.io/";
license = licenses.gpl2;
license = licenses.gpl2Only;
maintainers = with maintainers; [ roelvandijk evanjs ];
platforms = platforms.linux;
};
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "peewee";
version = "3.13.3";
version = "3.14.4";
# pypi release does not provide tests
src = fetchFromGitHub {
owner = "coleifer";
repo = pname;
rev = version;
sha256 = "1r67hxb9m6v0xbnbqfnsw6dahmdr94pf81b4x51jfw6x9sa4izi4";
sha256 = "0x85swpaffysc05kka0mab87cnilzw1lpacfhcx5ayabh0i2qsh6";
};
@@ -1,6 +1,7 @@
{ lib
, buildPythonPackage
, fetchPypi
, gevent
, nose
, mock
, twisted
@@ -16,7 +17,7 @@ buildPythonPackage rec {
sha256 = "f023d6ac581086b124190cb3dc81dd581a149d216fa4540ac34f9be1e3970b89";
};
checkInputs = [ nose mock twisted tornado ];
checkInputs = [ nose mock twisted tornado gevent ];
meta = with lib; {
description = "Pure-Python implementation of the AMQP 0-9-1 protocol";
@@ -1,19 +1,20 @@
{ lib, stdenv, buildPythonPackage, fetchFromGitHub, isPyPy, isPy3k
, olefile, freetype, libjpeg, zlib, libtiff, libwebp, tcl, lcms2
, tk, libX11, openjpeg, libimagequant, pyroma, numpy, pytestCheckHook
, libxcb, tk, libX11, openjpeg, libimagequant, pyroma, numpy
, pytestCheckHook
}@args:
import ../pillow/generic.nix (rec {
pname = "Pillow-SIMD";
version = "7.0.0.post3";
version = "8.1.2";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "uploadcare";
repo = "pillow-simd";
rev = "v${version}";
sha256 = "1h832xp1bzf951hr4dmjmxqfsv28sx9lr2cq96qdz1c72k40zj1h";
rev = version;
sha256 = "1z0c1qpx7l1bhj71ww7za7kl29j5wdraqr2pdhv4dp1q74kgrr0m";
};
meta = with lib; {
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "PlexAPI";
version = "4.5.1";
version = "4.5.2";
disabled = isPy27;
src = fetchFromGitHub {
owner = "pkkid";
repo = "python-plexapi";
rev = version;
sha256 = "sha256-WrjIN6+7ybprnjCv57BdKaQYoQ+HgGVr/XytXcbAmwg=";
sha256 = "sha256-9rdpisEuLUO7oO7+7SQb4fXqRG30rf4R7bSFY+QpMhM=";
};
propagatedBuildInputs = [
@@ -1,19 +1,41 @@
{ lib, buildPythonPackage, fetchFromGitHub, numpy, scipy, cython, networkx, joblib, nose, pyyaml }:
{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, numpy
, scipy
, cython
, networkx
, joblib
, pandas
, nose
, pyyaml
}:
buildPythonPackage rec {
pname = "pomegranate";
version = "0.11.2";
version = "0.13.5";
src = fetchFromGitHub {
repo = pname;
owner = "jmschrei";
rev = "v${version}";
sha256 = "070ciwww1lhjmfwd5n1kcwgxwbgdfvmhjs4l156bnf08z9dlrafl";
sha256 = "1hbxchp3daykkf1fa79a9mh34p78bygqcf1nv4qwkql3gw0pd6l7";
};
patches = lib.optionals (lib.versionOlder version "13.6") [
# Fix compatibility with recent joblib release, will be part of the next
# pomegranate release after 0.13.5
(fetchpatch {
url = "https://github.com/jmschrei/pomegranate/commit/42d14bebc44ffd4a778b2a6430aa845591b7c3b7.patch";
sha256 = "0f9cx0fj9xkr3hch7jyrn76zjypilh5bqw734caaw6g2m49lvbff";
})
];
propagatedBuildInputs = [ numpy scipy cython networkx joblib pyyaml ];
checkInputs = [ nose ];
checkInputs = [ pandas nose ]; # as of 0.13.5, it depends explicitly on nose, rather than pytest.
meta = with lib; {
description = "Probabilistic and graphical models for Python, implemented in cython for speed";
@@ -1,10 +1,10 @@
{ lib, buildPythonPackage, fetchFromGitHub, cacert, openssl, python, nixosTests
, cryptography, pyrad, pymysql, python-dateutil, flask-versioned, flask_script
, defusedxml, croniter, flask_migrate, pyjwt, configobj, sqlsoup, pillow
, defusedxml, croniter, flask_migrate, pyjwt1, configobj, sqlsoup, pillow
, python-gnupg, passlib, pyopenssl, beautifulsoup4, smpplib, flask-babel
, ldap3, huey, pyyaml, qrcode, oauth2client, requests, lxml, cbor2, psycopg2
, pydash
, pydash, ecdsa
, mock, pytestCheckHook, responses, testfixtures
}:
@@ -29,10 +29,10 @@ buildPythonPackage rec {
propagatedBuildInputs = [
cryptography pyrad pymysql python-dateutil flask-versioned flask_script
defusedxml croniter flask_migrate pyjwt configobj sqlsoup pillow
defusedxml croniter flask_migrate pyjwt1 configobj sqlsoup pillow
python-gnupg passlib pyopenssl beautifulsoup4 smpplib flask-babel
ldap3 huey pyyaml qrcode oauth2client requests lxml cbor2 psycopg2
pydash
pydash ecdsa
];
passthru.tests = { inherit (nixosTests) privacyidea; };
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "pulsectl";
version = "21.3.4";
version = "21.5.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-+qi5M2I3VlmQKY8ghw4T3RZ4pFhoR8paf/Kr8QdS81Y=";
sha256 = "11dw8hij1vzqawlv5l1ax6i2zw6p4ccn4ww3v6q1kdmrwk46vi7r";
};
patches = [
@@ -17,7 +17,12 @@ buildPythonPackage rec {
})
];
pythonImportsCheck = [
"pulsectl"
];
checkInputs = [ pulseaudio ];
checkPhase = ''
${python.interpreter} -m unittest pulsectl.tests.all
'';
@@ -1,4 +1,13 @@
{ aiohttp, async-timeout, buildPythonPackage, fetchPypi, isPy3k, lib }:
{ lib
, buildPythonPackage
, fetchFromGitHub
, isPy3k
, aiohttp
, async-timeout
, aresponses
, pytest-asyncio
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "pyaftership";
@@ -6,16 +15,17 @@ buildPythonPackage rec {
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "28b62c323d06492399b60d8135a58d6feaa1d60837eddc14e57ea2b69d356c0a";
src = fetchFromGitHub {
owner = "ludeeus";
repo = pname;
rev = version;
sha256 = "0jyzgwaijkp80whi58a0hgjzmnlczmd9vwn11z2m0j01kbdwznn5";
};
propagatedBuildInputs = [ aiohttp async-timeout ];
# No tests
doCheck = false;
pythonImportsCheck = [ "pyaftership.tracker" ];
checkInputs = [ pytestCheckHook aresponses pytest-asyncio ];
pythonImportsCheck = [ "pyaftership" ];
meta = with lib; {
description = "Python wrapper package for the AfterShip API";
@@ -6,13 +6,13 @@
buildPythonPackage rec {
pname = "pychannels";
version = "1.2.2";
version = "1.2.3";
src = fetchFromGitHub {
owner = "fancybits";
repo = pname;
rev = version;
sha256 = "0dqc0vhf6c5r3g7nfbpa668x6z2zxrznk6h907s6sxkq4sbqnhqf";
sha256 = "sha256-E+VL4mJ2KxS5bJZc3Va+wvyVjT55LJz+1wHkxDRa85s=";
};
propagatedBuildInputs = [ requests ];
@@ -30,7 +30,11 @@ buildPythonPackage rec {
mock
];
checkPhase = "nosetests";
postPatch = ''
substituteInPlace setup.py --replace "xlrd<2" "xlrd<3"
'';
checkPhase = "nosetests --exclude test_issue_151";
meta = {
description = "A wrapper library to read, manipulate and write data in xls using xlrd and xlwt";
@@ -22,6 +22,13 @@ buildPythonPackage rec {
sha256 = "1dm560hh6fl1waiwsq8m31apmvvwhc3y95bfdb7449bs8k96dmxq";
};
prePatch = ''
substituteInPlace setup.py --replace 'pyjwt==2.0.1' 'pyjwt>=2.0.1'
substituteInPlace setup.py --replace 'ratelimit==2.2.1' 'ratelimit>=2.2.1'
substituteInPlace setup.py --replace 'pytz==2019.2' 'pytz>=2019.2'
substituteInPlace setup.py --replace 'requests==2.24.0' 'requests>=2.24.0'
'';
propagatedBuildInputs = [
pyjwt
ratelimit
@@ -34,6 +41,15 @@ buildPythonPackage rec {
pytestCheckHook
];
postPatch = ''
# https://github.com/ChrisMandich/PyFlume/issues/18
substituteInPlace setup.py \
--replace "pyjwt==2.0.1" "pyjwt>=2.0.1" \
--replace "ratelimit==2.2.1" "ratelimit>=2.2.1" \
--replace "pytz==2019.2" "pytz>=2019.2" \
--replace "requests==2.24.0" "requests>=2.24.0"
'';
pythonImportsCheck = [ "pyflume" ];
meta = with lib; {
@@ -2,12 +2,17 @@
, pythonOlder
, buildPythonPackage
, fetchFromGitHub
, setuptools-scm
, gmt
, numpy
, netcdf4
, pandas
, packaging
, xarray
, pytest-mpl
, ipython
, ghostscript
, pytestCheckHook
}:
buildPythonPackage rec {
@@ -28,12 +33,14 @@ buildPythonPackage rec {
--replace "env.get(\"GMT_LIBRARY_PATH\", \"\")" "env.get(\"GMT_LIBRARY_PATH\", \"${gmt}/lib\")"
'';
nativeBuildInputs = [ setuptools-scm ];
propagatedBuildInputs = [ numpy netcdf4 pandas packaging xarray ];
doCheck = false; # requires network access
postBuild = "export HOME=$TMP";
doCheck = false; # the *entire* test suite requires network access
checkInputs = [ pytestCheckHook pytest-mpl ghostscript ipython ];
postBuild = ''
export HOME=$TMP
'';
pythonImportsCheck = [ "pygmt" ];
meta = with lib; {
@@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, dicttoxml
, fetchFromGitHub
, pythonOlder
, xmltodict
}:
buildPythonPackage rec {
pname = "pyialarm";
version = "1.5";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "RyuzakiKK";
repo = pname;
rev = "v${version}";
sha256 = "0vpscc2h13mmwscvjpm0bfd80x94mzh4d204v6n421mdz3ddhjqp";
};
propagatedBuildInputs = [
dicttoxml
xmltodict
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "pyialarm" ];
meta = with lib; {
description = "Python library to interface with Antifurto365 iAlarm systems";
homepage = "https://github.com/RyuzakiKK/pyialarm";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}
@@ -1,28 +1,35 @@
{ lib, buildPythonPackage, fetchPypi
, cryptography, ecdsa
, pytestrunner, pytestcov, pytest }:
{ lib
, buildPythonPackage
, fetchPypi
, cryptography
, ecdsa
, pytest-cov
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "PyJWT";
version = "2.0.1";
pname = "pyjwt";
version = "2.1.0";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "a5c70a06e1f33d81ef25eecd50d50bd30e34de1ca8b2b9fa3fe0daaabcf69bf7";
pname = "PyJWT";
inherit version;
sha256 = "sha256-+6ROeJi7yhYKKytQH0koJPyDgkhdOm8Rul0MGTfOYTA=";
};
propagatedBuildInputs = [ cryptography ecdsa ];
propagatedBuildInputs = [
cryptography
ecdsa
];
checkInputs = [ pytestrunner pytestcov pytest ];
checkInputs = [
pytest-cov
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.py --replace "pytest>=4.0.1,<5.0.0" "pytest"
'';
# ecdsa changed internal behavior
checkPhase = ''
pytest tests -k 'not ec_verify_should_return_false_if_signature_invalid'
'';
pythonImportsCheck = [ "jwt" ];
meta = with lib; {
description = "JSON Web Token implementation in Python";
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "pykerberos";
version = "1.2.1";
version = "1.2.3.dev0";
src = fetchPypi {
inherit pname version;
sha256 = "0v47p840myqgc7hr4lir72xshcfpa0w8j9n077h3njpqyn6wlbag";
sha256 = "17zjiw6rqgfic32px86qls1i3z7anp15dgb3sprbdvywy98alryn";
};
nativeBuildInputs = [ krb5 ]; # for krb5-config
@@ -15,6 +15,7 @@ buildPythonPackage rec {
# there are no tests
doCheck = false;
pythonImportsCheck = [ "kerberos" ];
meta = with lib; {
description = "High-level interface to Kerberos";
@@ -11,12 +11,12 @@
buildPythonPackage rec {
pname = "pylast";
version = "4.2.0";
version = "4.2.1";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-w/mkAUUgj7L7Xv+nz1pI1TYKfihH3S3MbxaNQ4VtoH0=";
sha256 = "sha256-R1enQk6luuBiobMPDn5x1SXx7zUI/5c8dPtyWkmG/18=";
};
nativeBuildInputs = [ setuptools-scm ];
@@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "pylint-django";
version = "2.4.2";
version = "2.4.3";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "PyCQA";
repo = pname;
rev = "v${version}";
sha256 = "0535y4sdi521a9s7di8ld0i8aav0afbxmx0956v6sjpyqmqdm6hr";
sha256 = "1mybq9jynypxbaxj921s3sx8dph8n3hmipmv4nla1g9h07g9g02z";
};
propagatedBuildInputs = [
@@ -42,9 +42,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "A Pylint plugin to analyze Django applications";
homepage = "https://github.com/PyCQA/pylint-django";
license = licenses.gpl2;
maintainers = with maintainers; [
kamadorueda
];
license = licenses.gpl2Plus;
maintainers = with maintainers; [ kamadorueda ];
};
}
@@ -0,0 +1,33 @@
{ lib
, fetchFromGitHub
, buildPythonPackage
, python
}:
buildPythonPackage rec {
pname = "pysvg-py3";
version = "0.2.2-post3";
src = fetchFromGitHub {
owner = "alorence";
repo = pname;
rev = version;
sha256 = "1slync0knpcjgl4xpym8w4249iy6vmrwbarpnbjzn9xca8g1h2f0";
};
checkPhase = ''
runHook preCheck
mkdir testoutput
${python.interpreter} sample/tutorial.py
runHook postCheck
'';
pythonImportsCheck = [ "pysvg" ];
meta = {
homepage = "https://github.com/alorence/pysvg-py3";
description = "Creating SVG with Python";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ davidak ];
};
}
@@ -26,6 +26,7 @@ buildPythonPackage rec {
homepage = "https://github.com/ftobia/pytest-ordering";
description = "Pytest plugin to run your tests in a specific order";
license = licenses.mit;
broken = true; # See https://github.com/NixOS/nixpkgs/pull/122264
maintainers = with maintainers; [ eadwu ];
};
}
@@ -0,0 +1,59 @@
{ lib
, buildPythonPackage
, fetchpatch
, fetchPypi
, pythonOlder
, matplotlib
, numpy
, pandas
, pillow
, pytest
, pytest-datadir
, pytestCheckHook
, pyyaml
, setuptools-scm
}:
buildPythonPackage rec {
pname = "pytest-regressions";
version = "2.2.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "15a71f77cb266dd4ca94331abe4c339ad056b2b2175e47442711c98cf6d65716";
};
patches = [
# Make pytest-regressions compatible with NumPy 1.20.
# Should be part of the next release.
(fetchpatch {
url = "https://github.com/ESSS/pytest-regressions/commit/ffad2c7fd1d110f420f4e3ca3d39d90cae18a972.patch";
sha256 = "sha256-bUna7MnMV6u9oEaZMsFnr4gE28rz/c0O2+Hyk291+l0=";
})
];
nativeBuildInputs = [ setuptools-scm ];
buildInputs = [ pytest ];
propagatedBuildInputs = [ numpy pandas pillow pytest-datadir pyyaml ];
SETUPTOOLS_SCM_PRETEND_VERSION = version;
checkInputs = [ pytestCheckHook matplotlib ];
pythonImportsCheck = [ "pytest_regressions" "pytest_regressions.plugin" ];
meta = with lib; {
description = "Pytest fixtures to write regression tests";
longDescription = ''
pytest-regressions makes it simple to test general data, images,
files, and numeric tables by saving expected data in a data
directory (courtesy of pytest-datadir) that can be used to verify
that future runs produce the same data.
'';
homepage = "https://github.com/ESSS/pytest-regressions";
license = licenses.mit;
maintainers = with maintainers; [ AluisioASG ];
};
}
@@ -1,6 +1,6 @@
{ lib, buildPythonPackage, fetchPypi
, pytest, requests-mock, tox
, autobahn, certifi, chardet, cryptography, dateparser, pyopenssl, requests, service-identity, twisted }:
, autobahn, certifi, chardet, cryptography, dateparser, pyopenssl, requests, service-identity, twisted, ujson }:
buildPythonPackage rec {
version = "0.7.9";
@@ -14,7 +14,7 @@ buildPythonPackage rec {
doCheck = false; # Tries to test multiple interpreters with tox
checkInputs = [ pytest requests-mock tox ];
propagatedBuildInputs = [ autobahn certifi chardet cryptography dateparser pyopenssl requests service-identity twisted ];
propagatedBuildInputs = [ autobahn certifi chardet cryptography dateparser pyopenssl requests service-identity twisted ujson ];
meta = {
description = "Binance Exchange API python implementation for automated trading";
@@ -24,20 +24,19 @@
buildPythonPackage rec {
pname = "python-miio";
version = "0.5.5.2";
version = "0.5.6";
disabled = pythonOlder "3.6";
format = "pyproject";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-lk7egCyj+vSsaXmxuWxlQuom8n3JEs/RIWwCuwTOXeI=";
sha256 = "sha256-tmGt50xBDV++/pqyXsuxHdrwv+XbkjvtrzsYBzQh7zE=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'croniter = "^0"' 'croniter = "*"' \
--replace 'defusedxml = "^0.6"' 'defusedxml = "*"' \
--replace 'zeroconf = "^0.28"' 'zeroconf = "*"'
--replace 'defusedxml = "^0.6"' 'defusedxml = "*"'
'';
nativeBuildInputs = [
@@ -0,0 +1,22 @@
{ lib, buildPythonPackage, trio, curio, async-timeout, fetchPypi, pythonOlder }:
buildPythonPackage rec {
pname = "python-socks";
version = "1.2.4";
src = fetchPypi {
inherit pname version;
sha256 = "1n6xb18jy41ybgkmamakg6psp3qididd45qknxiggngaiibz43kx";
};
disabled = pythonOlder "3.6.1";
propagatedBuildInputs = [ trio curio async-timeout ];
meta = with lib; {
description = "Core proxy client (SOCKS4, SOCKS5, HTTP) functionality for Python";
homepage = "https://github.com/romis2012/python-socks";
license = licenses.asl20;
maintainers = with maintainers; [ mjlbach ];
};
}
@@ -8,30 +8,33 @@
buildPythonPackage rec {
pname = "python-vlc";
version = "3.0.11115";
version = "3.0.12118";
src = fetchPypi {
inherit pname version;
sha256 = "a4d3bdddfce84a8fb1b2d5447193a0239c55c16ca246e5194d48efd59c4e236b";
hash = "sha256-Vm8vfDA/aACFHKzAFt8cbu7AlK1j4KSdh9udaYCU8fs=";
};
propagatedBuildInputs = [
setuptools
];
patches = [
# Patch path for VLC
(substituteAll {
src = ./vlc-paths.patch;
libvlcPath="${libvlc}/lib/libvlc.so.5";
})
];
propagatedBuildInputs = [
setuptools
];
doCheck = false; # no tests
pythonImportsCheck = [ "vlc" ];
meta = with lib; {
homepage = "https://wiki.videolan.org/PythonBinding";
maintainers = with maintainers; [ tbenst ];
description = "Python bindings for VLC, the cross-platform multimedia player and framework";
homepage = "https://wiki.videolan.org/PythonBinding";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ tbenst ];
};
}
@@ -1,31 +1,42 @@
{ buildPythonPackage
{ lib
, amqtt
, buildPythonPackage
, fetchFromGitHub
, hbmqtt
, lib
, paho-mqtt
, poetry
, poetry-core
, pytest-asyncio
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "roombapy";
version = "1.6.2-1";
version = "1.6.3";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "pschmitt";
repo = "roombapy";
rev = version;
sha256 = "14k7bys479xwpa4alpdwphzmxm3x8kc48nfqnshn1wj94vyxc425";
sha256 = "sha256-GkDfIC2jx4Mpguk/Wu45pZw0czhabJwTz58WYSLCOV8=";
};
format = "pyproject";
nativeBuildInputs = [ poetry-core ];
nativeBuildInputs = [ poetry ];
propagatedBuildInputs = [ paho-mqtt ];
checkInputs = [ hbmqtt pytest-asyncio pytestCheckHook ];
pytestFlagsArray = [ "tests/" "--ignore=tests/test_discovery.py" ];
checkInputs = [
amqtt
pytest-asyncio
pytestCheckHook
];
disabledTestPaths = [
# Requires network access
"tests/test_discovery.py"
];
pythonImportsCheck = [ "roombapy" ];
meta = with lib; {
@@ -6,6 +6,7 @@
, geckodriver
, urllib3
, xorg
, nixosTests
}:
@@ -47,6 +48,10 @@ buildPythonPackage rec {
cp -v x_ignore_nofocus.so selenium/webdriver/firefox/${if stdenv.is64bit then "amd64" else "x86"}/
'';
passthru.tests = {
testing-bitwarden = nixosTests.bitwarden;
};
meta = with lib; {
description = "The selenium package is used to automate web browser interaction from Python";
homepage = "http://www.seleniumhq.org";
@@ -13,13 +13,13 @@
buildPythonPackage rec {
pname = "slixmpp";
version = "1.7.0";
version = "1.7.1";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-fy7sRKS7ih4JmjOW/noL8qJ1xWVpQLbBbObHnMwT3Bc=";
sha256 = "sha256-mvg23FdHJZeIZRcm8GLWmm9DDTBt29jmsUHB/smVSec=";
};
patches = [
@@ -1,5 +1,6 @@
{ buildPythonPackage
, isPy27
{ lib
, buildPythonPackage
, pythonOlder
, asn1crypto
, azure-storage-blob
, boto3
@@ -10,7 +11,6 @@
, idna
, ijson
, isPy3k
, lib
, oscrypto
, pyarrow
, pyasn1-modules
@@ -25,20 +25,14 @@
buildPythonPackage rec {
pname = "snowflake-connector-python";
version = "2.4.1";
disabled = isPy27;
version = "2.4.3";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "5c9180e61202a7beb1df83231688423091ca0a04ee559d2a78ff77f9c727baae";
sha256 = "sha256-+jAfUwaofWM5Ef1kk4AEAbBM/UES8/ZzLd4QJfkEQsM=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "'pyOpenSSL>=16.2.0,<20.0.0'," "'pyOpenSSL'," \
--replace 'pytz<2021.0' 'pytz'
'';
propagatedBuildInputs = [
azure-storage-blob
asn1crypto
@@ -55,16 +49,26 @@ buildPythonPackage rec {
pytz
requests
six
] ++ lib.optionals (!isPy3k) [
pyarrow
pyasn1-modules
urllib3
];
# tests require encrypted secrets, see
postPatch = ''
# https://github.com/snowflakedb/snowflake-connector-python/issues/705
substituteInPlace setup.py \
--replace "idna>=2.5,<3" "idna" \
--replace "chardet>=3.0.2,<4" "chardet"
'';
# Tests require encrypted secrets, see
# https://github.com/snowflakedb/snowflake-connector-python/tree/master/.github/workflows/parameters
doCheck = false;
pythonImportsCheck = [ "snowflake" "snowflake.connector" ];
pythonImportsCheck = [
"snowflake"
"snowflake.connector"
];
meta = with lib; {
description = "Snowflake Connector for Python";
@@ -6,39 +6,44 @@
, typing-extensions
, faker
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "sslyze";
version = "3.1.0";
version = "4.1.0";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "nabla-c0d3";
repo = pname;
rev = version;
sha256 = "02p0lgpkfq88dys0dqw0z8bpg9g8pds2lvs9awd9f2w5cb1pwr83";
hash = "sha256-oSTKNiECczlPAbv5Azc023PcquFbnlC5O+8tVgNcUW0=";
};
patchPhase = ''
substituteInPlace setup.py \
--replace "cryptography>=2.6,<3.3" "cryptography>=2.6,<4.0"
--replace "cryptography>=2.6,<3.5" "cryptography>=2.6,<4.0"
'';
checkInputs = [ pytestCheckHook ];
checkPhase = ''
# Most of the tests are online; hence, applicable tests are listed
# explicitly here
pytest \
tests/test_main.py \
tests/test_scanner.py \
tests/cli_tests/test_console_output.py \
tests/cli_tests/test_json_output.py \
tests/cli_tests/test_server_string_parser.py \
tests/plugins_tests/test_scan_commands.py \
tests/plugins_tests/certificate_info/test_certificate_utils.py \
-k "not (TestScanner and test_client_certificate_missing)"
'';
# Most of the tests are online; hence, applicable tests are listed
# explicitly here
pytestFlagsArray = [
"tests/test_main.py"
"tests/test_scanner.py"
"tests/cli_tests/test_console_output.py"
"tests/cli_tests/test_json_output.py"
"tests/cli_tests/test_server_string_parser.py"
"tests/plugins_tests/test_scan_commands.py"
"tests/plugins_tests/certificate_info/test_certificate_utils.py"
];
disabledTests = [
"test_error_client_certificate_needed"
];
pythonImportsCheck = [ "sslyze" ];
propagatedBuildInputs = [ nassl cryptography typing-extensions faker ];
@@ -47,7 +52,7 @@ buildPythonPackage rec {
homepage = "https://github.com/nabla-c0d3/sslyze";
description = "Fast and powerful SSL/TLS scanning library";
platforms = platforms.linux ++ platforms.darwin;
license = licenses.agpl3;
license = licenses.agpl3Only;
maintainers = with maintainers; [ veehaitch ];
};
}
@@ -26,6 +26,12 @@ buildPythonPackage rec {
tox
];
# these tests require network access, but disabledTestPaths doesn't work.
# the file needs to be `import`ed by another python test file, so it
# can't simply be removed.
preCheck = ''
echo > src/tld/tests/test_commands.py
'';
pythonImportsCheck = [ "tld" ];
meta = with lib; {
@@ -1,5 +1,5 @@
{ lib
, isPy27
, pythonOlder
, fetchFromGitHub
, buildPythonPackage
, pytestCheckHook
@@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "tls-parser";
version = "1.2.2";
disabled = isPy27;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "nabla-c0d3";
@@ -19,6 +19,8 @@ buildPythonPackage rec {
checkInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "tls_parser" ];
meta = with lib; {
homepage = "https://github.com/nabla-c0d3/tls_parser";
description = "Small library to parse TLS records";
@@ -0,0 +1,31 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "uc-micro-py";
version = "1.0.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "tsutsu3";
repo = "uc.micro-py";
rev = "v${version}";
hash = "sha256-23mKwoRGjtxpCOC26V8bAN5QEHLDOoSqPeTlUuIrxZ0=";
};
checkInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "uc_micro" ];
meta = with lib; {
description = "Micro subset of unicode data files for linkify-it-py";
homepage = "https://github.com/tsutsu3/uc.micro-py";
license = licenses.mit;
maintainers = with maintainers; [ AluisioASG ];
};
}
@@ -1,19 +1,25 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
}:
buildPythonPackage rec {
pname = "unpaddedbase64";
version = "1.1.0";
version = "2.1.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "python-${pname}";
rev = "refs/tags/v${version}";
sha256 = "0if3fjfxga0bwdq47v77fs9hrcqpmwdxry2i2a7pdqsp95258nxd";
sha256 = "1n6har8pxv0mqb96lanzihp1xf76aa17jw3977drb1fgz947pnmz";
};
nativeBuildInputs = [
poetry-core
];
meta = with lib; {
homepage = "https://github.com/matrix-org/python-unpaddedbase64";
description = "Unpadded Base64";
@@ -44,8 +44,15 @@ buildPythonPackage rec {
"--assert=plain"
"--strict"
"--tb=native"
] ++ lib.optionals (stdenv.isAarch64) [
# test gets stuck in epoll_pwait on hydras aarch64 builders
# https://github.com/MagicStack/uvloop/issues/412
"--deselect" "tests/test_tcp.py::Test_AIO_TCPSSL::test_remote_shutdown_receives_trailing_data"
];
disabledTestPaths = [
# ignore code linting tests
"--ignore=tests/test_sourcecode.py"
"tests/test_sourcecode.py"
];
# force using installed/compiled uvloop vs source by moving tests to temp dir
@@ -6,38 +6,43 @@
, msgpack
, mecab-python3
, jieba
, pytest
, pythonOlder
, pytestCheckHook
, isPy27
, fetchFromGitHub
}:
buildPythonPackage rec {
pname = "wordfreq";
version = "2.3.2";
disabled = pythonOlder "3";
version = "2.5";
disabled = isPy27;
src = fetchFromGitHub {
owner = "LuminosoInsight";
repo = "wordfreq";
# upstream don't tag by version
rev = "v${version}";
sha256 = "078657iiksrqzcc2wvwhiilf3xxq5vlinsv0kz03qzqr1qyvbmas";
sha256 = "09wzraddbdw3781pk2sxlz8knax9jrcl24ymz54wx6sk0gvq95i7";
};
propagatedBuildInputs = [ regex langcodes ftfy msgpack mecab-python3 jieba ];
propagatedBuildInputs = [
regex
langcodes
ftfy
msgpack
mecab-python3
jieba
];
# patch to relax version requirements for regex
# dependency to prevent break in upgrade
postPatch = ''
substituteInPlace setup.py --replace "regex ==" "regex >="
'';
checkInputs = [ pytest ];
checkPhase = ''
# These languages require additional dictionaries
pytest tests -k 'not test_japanese and not test_korean and not test_languages and not test_french_and_related'
'';
checkInputs = [ pytestCheckHook ];
disabledTests = [
# These languages require additional dictionaries that aren't packaged
"test_languages"
"test_japanese"
"test_korean"
];
meta = with lib; {
description = "A library for looking up the frequencies of words in many languages, based on many sources of data";