Merge branch 'master' into staging-next

(a trivial conflict in transmission)
This commit is contained in:
Vladimír Čunát
2021-05-09 09:31:27 +02:00
201 changed files with 2565 additions and 1560 deletions

View File

@@ -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 = {

View File

@@ -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 ];
};
}

View File

@@ -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 ];
};
}

View File

@@ -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 ];

View File

@@ -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 ];
};
}

View File

@@ -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; {

View File

@@ -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";

View File

@@ -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}";

View File

@@ -29,6 +29,9 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = [
"RequestsCaBundleTest"
];
disabledTestPaths = lib.optionals stdenv.isDarwin [ "src/crate/client/test_http.py" ];
meta = with lib; {

View File

@@ -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 = ''

View File

@@ -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 ];

View File

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

View File

@@ -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; {

View File

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

View File

@@ -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;
};
}

View File

@@ -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";

View File

@@ -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 ];
};
}

View File

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

View File

@@ -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";

View File

@@ -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 ];
};
}

View File

@@ -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 ];
};
}

View File

@@ -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 ];

View File

@@ -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";

View File

@@ -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 = [

View File

@@ -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 ];
};
}

View File

@@ -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 ];

View File

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

View File

@@ -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 ];
};
}

View File

@@ -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";

View File

@@ -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; {

View File

@@ -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 = [

View File

@@ -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";

View File

@@ -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
'';

View File

@@ -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";

View File

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

View File

@@ -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; {

View File

@@ -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 ];
};
}

View File

@@ -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";

View File

@@ -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 ];
};
}

View File

@@ -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 ];
};
}

View File

@@ -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 ];
};
}

View File

@@ -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";

View File

@@ -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 = [

View File

@@ -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 ];
};
}

View File

@@ -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; {

View File

@@ -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";

View File

@@ -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 ];
};
}

View File

@@ -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; {

View File

@@ -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";

View File

@@ -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 ];
};
}

View File

@@ -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";