uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,33 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytest
}:
buildPythonPackage rec {
pname = "py3to2";
version = "1.1.1";
src = fetchPypi {
inherit version;
pname = "3to2";
extension = "zip";
sha256 = "fef50b2b881ef743f269946e1090b77567b71bb9a9ce64b7f8e699b562ff685c";
};
checkInputs = [ pytest ];
checkPhase = ''
py.test lib3to2/tests
'';
# Test failing due to upstream issue (https://bitbucket.org/amentajo/lib3to2/issues/50/testsuite-fails-with-new-python-35)
doCheck = false;
meta = {
homepage = "https://bitbucket.org/amentajo/lib3to2";
description = "Refactors valid 3.x syntax into valid 2.x syntax, if a syntactical conversion is possible";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ mt-caret ];
};
}

View file

@ -0,0 +1,78 @@
{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, gevent
, pytest-asyncio
, pytest-tornado
, pytestCheckHook
, pythonOlder
, pytz
, setuptools
, setuptools-scm
, six
, tornado
, twisted
, tzlocal
}:
buildPythonPackage rec {
pname = "apscheduler";
version = "3.9.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
pname = "APScheduler";
inherit version;
hash = "sha256-ZeZXS2OVSY03HQRfKop+T31Qxq0h73MT0VscfPIN8eM=";
};
buildInputs = [
setuptools-scm
];
propagatedBuildInputs = [
pytz
setuptools
six
tzlocal
];
checkInputs = [
gevent
pytest-asyncio
pytest-tornado
pytestCheckHook
tornado
twisted
];
postPatch = ''
substituteInPlace setup.cfg \
--replace " --cov --tb=short" ""
'';
disabledTests = [
"test_broken_pool"
# gevent tests have issue on newer Python releases
"test_add_live_job"
"test_add_pending_job"
"test_shutdown"
] ++ lib.optionals stdenv.isDarwin [
"test_submit_job"
"test_max_instances"
];
pythonImportsCheck = [
"apscheduler"
];
meta = with lib; {
description = "Library that lets you schedule your Python code to be executed";
homepage = "https://github.com/agronholm/apscheduler";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}

View file

@ -0,0 +1,76 @@
{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, fetchpatch
, python
, glibcLocales
, pkg-config
, gdb
, numpy
, ncurses
}:
let
excludedTests = [ "reimport_from_subinterpreter" ]
# cython's testsuite is not working very well with libc++
# We are however optimistic about things outside of testsuite still working
++ lib.optionals (stdenv.cc.isClang or false) [ "cpdef_extern_func" "libcpp_algo" ]
# Some tests in the test suite isn't working on aarch64. Disable them for
# now until upstream finds a workaround.
# Upstream issue here: https://github.com/cython/cython/issues/2308
++ lib.optionals stdenv.isAarch64 [ "numpy_memoryview" ]
++ lib.optionals stdenv.isi686 [ "future_division" "overflow_check_longlong" ]
;
in buildPythonPackage rec {
pname = "Cython";
version = "0.29.28";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-1vrCNCgCww5RQmgo/ghP9N6xszhzZ8+Yl2uy5ktvjkU=";
};
nativeBuildInputs = [
pkg-config
];
checkInputs = [
gdb numpy ncurses
];
buildInputs = [ glibcLocales ];
LC_ALL = "en_US.UTF-8";
patches = [
# backport Cython 3.0 trashcan support (https://github.com/cython/cython/pull/2842) to 0.X series.
# it does not affect Python code unless the code explicitly uses the feature.
# trashcan support is needed to avoid stack overflows during object deallocation in sage (https://trac.sagemath.org/ticket/27267)
(fetchpatch {
name = "trashcan.patch";
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/cython/patches/trashcan.patch?id=4569a839f070a1a38d5dbce2a4d19233d25aeed2";
sha256 = "sha256-+pOF1XNTEtNseLpqPzrc1Jfwt5hGx7doUoccIhNneYY=";
})
];
checkPhase = ''
export HOME="$NIX_BUILD_TOP"
${python.interpreter} runtests.py -j$NIX_BUILD_CORES \
--no-code-style \
${lib.optionalString (builtins.length excludedTests != 0)
''--exclude="(${builtins.concatStringsSep "|" excludedTests})"''}
'';
# https://github.com/cython/cython/issues/2785
# Temporary solution
doCheck = false;
# doCheck = !stdenv.isDarwin;
meta = {
description = "An optimising static compiler for both the Python programming language and the extended Cython programming language";
homepage = "https://cython.org";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fridh ];
};
}

View file

@ -0,0 +1,45 @@
{ lib
, buildPythonPackage
, fetchPypi
, cryptography
, invoke
, mock
, paramiko
, pytestCheckHook
, pytest-relaxed
}:
buildPythonPackage rec {
pname = "fabric";
version = "2.7.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-C/eXpoxLOJcg3E3WGBSXpYxB7XYuKD2ePBsBSLMqmv8=";
};
# only relevant to python < 3.4
postPatch = ''
substituteInPlace setup.py \
--replace ', "pathlib2"' ' '
'';
propagatedBuildInputs = [ invoke paramiko cryptography ];
checkInputs = [ pytestCheckHook pytest-relaxed mock ];
# ==================================== ERRORS ====================================
# ________________________ ERROR collecting test session _________________________
# Direct construction of SpecModule has been deprecated, please use SpecModule.from_parent
# See https://docs.pytest.org/en/stable/deprecations.html#node-construction-changed-to-node-from-parent for more details.
doCheck = false;
pythonImportsCheck = [ "fabric" ];
meta = with lib; {
description = "Pythonic remote execution";
homepage = "https://www.fabfile.org/";
license = licenses.bsd2;
maintainers = [ maintainers.costrouc ];
};
}

View file

@ -0,0 +1,36 @@
{ buildPythonPackage
, fetchPypi
, flask
, pymongo
, vcversioner
, lib
, pytest
}:
buildPythonPackage rec {
pname = "flask-pymongo";
version = "2.3.0";
src = fetchPypi {
pname = "Flask-PyMongo";
inherit version;
sha256 = "051kwdk07y4xm4yawcjhn6bz8swxp9nanv7jj35mz2l0r0nv03k2";
};
checkInputs = [ pytest ];
checkPhase = ''
pytest
'';
# Tests seem to hang
doCheck = false;
propagatedBuildInputs = [ flask pymongo vcversioner ];
meta = {
homepage = "https://flask-pymongo.readthedocs.org/";
description = "PyMongo support for Flask applications";
license = lib.licenses.bsd2;
};
}

View file

@ -0,0 +1,49 @@
{ lib
, buildPythonPackage
, isPy27
, fetchPypi
, setuptools-scm
, six
, dnspython
, pycountry
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "FormEncode";
version = "2.0.1";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "8f2974112c2557839d5bae8b76490104c03830785d923abbdef148bf3f710035";
};
postPatch = ''
sed -i '/setuptools_scm_git_archive/d' setup.py
'';
nativeBuildInputs = [ setuptools-scm ];
propagatedBuildInputs = [ six ];
checkInputs = [
dnspython
pycountry
pytestCheckHook
];
disabledTests = [
# requires network for DNS resolution
"test_doctests"
"test_unicode_ascii_subgroup"
];
meta = with lib; {
description = "FormEncode validates and converts nested structures";
homepage = "http://formencode.org";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}

View file

@ -0,0 +1,28 @@
{lib, buildPythonPackage, fetchPypi
, geoip, nose}:
buildPythonPackage rec {
pname = "GeoIP";
version = "1.3.2";
checkInputs = [ nose ];
propagatedBuildInputs = [
geoip
];
src = fetchPypi {
inherit pname version;
sha256 = "1rphxf3vrn8wywjgr397f49s0s22m83lpwcq45lm0h2p45mdm458";
};
# Tests cannot be run because they require data that isn't included in the
# release tarball.
checkPhase = "true";
meta = {
description = "MaxMind GeoIP Legacy Database - Python API";
homepage = "https://www.maxmind.com/";
maintainers = with lib.maintainers; [ jluttine ];
license = lib.licenses.lgpl21Plus;
};
}

View file

@ -0,0 +1,49 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, substituteAll
, git
, gitdb
, ddt
, pythonOlder
, typing-extensions
}:
buildPythonPackage rec {
pname = "gitpython";
version = "3.1.25";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "gitpython-developers";
repo = "GitPython";
rev = version;
sha256 = "sha256-ienc7zvLe6t8rkMtC6wVIewUqQBFdFbLc8iPT6aPVrE=";
};
patches = [
(substituteAll {
src = ./hardcode-git-path.patch;
inherit git;
})
];
propagatedBuildInputs = [
gitdb
ddt
] ++ lib.optionals (pythonOlder "3.10") [
typing-extensions
];
# Tests require a git repo
doCheck = false;
pythonImportsCheck = [ "git" ];
meta = with lib; {
description = "Python Git Library";
homepage = "https://github.com/gitpython-developers/GitPython";
license = licenses.bsd3;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,13 @@
diff --git a/git/cmd.py b/git/cmd.py
index a4faefe..51ad442 100644
--- a/git/cmd.py
+++ b/git/cmd.py
@@ -175,7 +175,7 @@ class Git(LazyMixin):
# CONFIGURATION
- git_exec_name = "git" # default that should work on linux and windows
+ git_exec_name = "@git@/bin/git"
# Enables debugging of GitPython's git commands
GIT_PYTHON_TRACE = os.environ.get("GIT_PYTHON_TRACE", False)

View file

@ -0,0 +1,28 @@
{ lib, buildPythonPackage, fetchFromGitHub, cython, numpy, pysam, matplotlib, python, isPy27, isPy3k }:
buildPythonPackage rec {
version = "0.12.4";
pname = "HTSeq";
src = fetchFromGitHub {
owner = "htseq";
repo = "htseq";
rev = "release_${version}";
sha256 = "0y7vh249sljqjnv81060w4xkdx6f1y5zdqkh38yk926x6v9riijm";
};
nativeBuildInputs = [ cython ];
propagatedBuildInputs = [ numpy pysam matplotlib ];
checkPhase = lib.optionalString isPy27 ''
${python.interpreter} python2/test/test_general.py
'' + lib.optionalString isPy3k ''
${python.interpreter} python3/test/test_general.py
'';
meta = with lib; {
homepage = "https://htseq.readthedocs.io/";
description = "A framework to work with high-throughput sequencing data";
maintainers = with maintainers; [ unode ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,24 @@
{ lib, buildPythonPackage, fetchPypi, nose }:
buildPythonPackage rec {
pname = "IPy";
version = "1.01";
src = fetchPypi {
inherit pname version;
sha256 = "edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a";
};
checkInputs = [ nose ];
checkPhase = ''
nosetests -e fuzz
'';
meta = with lib; {
description = "Class and tools for handling of IPv4 and IPv6 addresses and networks";
homepage = "https://github.com/autocracy/python-ipy";
license = licenses.bsdOriginal;
maintainers = with maintainers; [ y0no ];
};
}

View file

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy27
, pythonOlder
, typing-extensions
, pytest
}:
buildPythonPackage rec {
pname = "JPype1";
version = "1.3.0";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "4fc27dba89750cb0c9d692466341ce60c0fe86a16051091cb5347a37cf884151";
};
propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
typing-extensions
];
checkInputs = [
pytest
];
# required openjdk (easy) but then there were some class path issues
# when running the tests
doCheck = false;
meta = with lib; {
homepage = "https://github.com/originell/jpype/";
license = licenses.asl20;
description = "A Python to Java bridge";
};
}

View file

@ -0,0 +1,25 @@
{ lib
, buildPythonPackage
, fetchPypi
, JPype1
}:
buildPythonPackage rec {
pname = "JayDeBeApi";
version = "1.2.3";
src = fetchPypi {
inherit pname version;
sha256 = "f25e9307fbb5960cb035394c26e37731b64cc465b197c4344cee85ec450ab92f";
};
propagatedBuildInputs = [
JPype1
];
meta = with lib; {
homepage = "https://github.com/baztian/jaydebeapi";
license = licenses.lgpl2;
description = "Use JDBC database drivers from Python 2/3 or Jython with a DB-API";
};
}

View file

@ -0,0 +1,29 @@
{ lib, buildPythonPackage, fetchPypi, isPy3k, pytest, mock, brotli }:
buildPythonPackage rec {
pname = "Logbook";
version = "1.5.3";
src = fetchPypi {
inherit pname version;
sha256 = "1s1gyfw621vid7qqvhddq6c3z2895ci4lq3g0r1swvpml2nm9x36";
};
checkInputs = [ pytest ] ++ lib.optionals (!isPy3k) [ mock ];
propagatedBuildInputs = [ brotli ];
checkPhase = ''
find tests -name \*.pyc -delete
py.test tests
'';
# Some of the tests use localhost networking.
__darwinAllowLocalNetworking = true;
meta = {
homepage = "https://pythonhosted.org/Logbook/";
description = "A logging replacement for Python";
license = lib.licenses.bsd3;
};
}

View file

@ -0,0 +1,67 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchPypi
, isPyPy
# propagates
, markupsafe
# extras: Babel
, babel
# tests
, mock
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "Mako";
version = "1.2.0";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-mnx+kiuH2zaGIQz0nV12cDOkHUAQsoTnR2gskr3dizk=";
};
propagatedBuildInputs = [
markupsafe
];
passthru.optional-dependencies = {
babel = [
babel
];
};
checkInputs = [
pytestCheckHook
mock
] ++ passthru.optional-dependencies.babel;
disabledTests = lib.optionals isPyPy [
# https://github.com/sqlalchemy/mako/issues/315
"test_alternating_file_names"
# https://github.com/sqlalchemy/mako/issues/238
"test_file_success"
"test_stdin_success"
# fails on pypy2.7
"test_bytestring_passthru"
];
disabledTestPaths = [
# lingua dependency is not packaged
"test/ext/test_linguaplugin.py"
];
meta = with lib; {
description = "Super-fast templating language";
homepage = "https://www.makotemplates.org/";
changelog = "https://docs.makotemplates.org/en/latest/changelog.html";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ domenkozar ];
};
}

View file

@ -0,0 +1,112 @@
{ lib
, aiohttp
, babel
, blinker
, buildPythonPackage
, python-dateutil
, docutils
, doit
, fetchPypi
, freezegun
, ghp-import
, hsluv
, html5lib
, ipykernel
, jinja2
, lxml
, Mako
, markdown
, micawber
, mock
, natsort
, notebook
, phpserialize
, piexif
, pillow
, pygal
, pygments
, pyphen
, PyRSS2Gen
, pytestCheckHook
, pythonOlder
, requests
, ruamel-yaml
, stdenv
, toml
, typogrify
, unidecode
, watchdog
, Yapsy
}:
buildPythonPackage rec {
pname = "Nikola";
version = "8.2.2";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-lfSrBRwkWMHTFEJ4KmrWIx9XIMO5I9XxcuJe7zTxJsE=";
};
propagatedBuildInputs = [
aiohttp
babel
blinker
python-dateutil
docutils
doit
ghp-import
hsluv
html5lib
ipykernel
jinja2
lxml
Mako
markdown
micawber
natsort
notebook
phpserialize
piexif
pillow
pygal
pygments
pyphen
PyRSS2Gen
requests
ruamel-yaml
toml
typogrify
unidecode
watchdog
Yapsy
];
checkInputs = [
freezegun
mock
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov nikola --cov-report term-missing" ""
'';
disabledTests = [
# AssertionError
"test_compiling_markdown"
];
pythonImportsCheck = [ "nikola" ];
meta = with lib; {
description = "Static website and blog generator";
homepage = "https://getnikola.com/";
license = licenses.mit;
maintainers = with maintainers; [ jluttine ];
# All tests fail
broken = stdenv.isDarwin;
};
}

View file

@ -0,0 +1,23 @@
{ lib , buildPythonPackage , fetchPypi, tkinter }:
buildPythonPackage rec {
pname = "Pmw";
version = "2.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "080iml3868nxniyn56kcwnbghm10j7fw74a5nj0s19sm4zsji78b";
};
propagatedBuildInputs = [ tkinter ];
# Disable tests due to their xserver requirement
doCheck = false;
meta = {
description = "A toolkit for building high-level compound widgets in Python using the Tkinter module";
homepage = "http://pmw.sourceforge.net/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ mounium ];
};
}

View file

@ -0,0 +1,57 @@
{ lib, buildPythonPackage, fetchFromGitHub, python, requests, gnugrep }:
let
json-ld = fetchFromGitHub {
owner = "json-ld";
repo = "json-ld.org";
rev = "843a70e4523d7cd2a4d3f5325586e726eb1b123f";
sha256 = "05j0nq6vafclyypxjj30iw898ig0m32nvz0rjdlslx6lawkiwb2a";
};
normalization = fetchFromGitHub {
owner = "json-ld";
repo = "normalization";
rev = "aceeaf224b64d6880189d795bd99c3ffadb5d79e";
sha256 = "125q5rllfm8vg9mz8hn7bhvhv2vqpd86kx2kxlk84smh33l8kbyl";
};
in
buildPythonPackage rec {
pname = "pyld";
version = "1.0.5";
src = fetchFromGitHub {
owner = "digitalbazaar";
repo = pname;
rev = version;
sha256 = "0z2vkllw8bvzxripwb6l757r7av5qwhzsiy4061gmlhq8z8gq961";
};
propagatedBuildInputs = [ requests ];
# Unfortunately PyLD does not pass all testcases in the JSON-LD corpus. We
# check for at least a minimum amount of successful tests so we know it's not
# getting worse, at least.
checkPhase = ''
ok_min=401
if ! ${python.interpreter} tests/runtests.py -d ${json-ld}/test-suite 2>&1 | tee test.out; then
ok_count=$(${gnugrep}/bin/grep -F '... ok' test.out | wc -l)
if [[ $ok_count -lt $ok_min ]]; then
echo "Less than $ok_min tests passed ($ok_count). Failing the build."
exit 1
fi
fi
${python.interpreter} tests/runtests.py -d ${normalization}/tests
'';
meta = with lib; {
description = "Python implementation of the JSON-LD API";
homepage = "https://github.com/digitalbazaar/pyld";
license = licenses.bsd3;
maintainers = with maintainers; [ apeschar ];
};
}

View file

@ -0,0 +1,38 @@
{ lib,
stdenv,
buildPythonPackage,
fetchPypi,
libspatialindex,
numpy,
pytestCheckHook
}:
buildPythonPackage rec {
pname = "Rtree";
version = "0.9.7";
src = fetchPypi {
inherit pname version;
sha256 = "be8772ca34699a9ad3fb4cfe2cfb6629854e453c10b3328039301bbfc128ca3e";
};
buildInputs = [ libspatialindex ];
patchPhase = ''
substituteInPlace rtree/finder.py --replace \
"find_library('spatialindex_c')" "'${libspatialindex}/lib/libspatialindex_c${stdenv.hostPlatform.extensions.sharedLibrary}'"
'';
checkInputs = [
numpy
pytestCheckHook
];
pythonImportsCheck = [ "rtree" ];
meta = with lib; {
description = "R-Tree spatial index for Python GIS";
homepage = "https://toblerity.org/rtree/";
license = licenses.mit;
maintainers = with maintainers; [ bgamari ];
};
}

View file

@ -0,0 +1,104 @@
{ lib, stdenv
, runCommandCC
, fetchPypi
, buildPythonPackage
, isPyPy
, pythonOlder
, isPy3k
, nose
, numpy
, scipy
, setuptools
, six
, libgpuarray
, cudaSupport ? false, cudaPackages ? {}
, cudnnSupport ? false
}:
let
inherit (cudaPackages) cudatoolkit cudnn;
in
assert cudnnSupport -> cudaSupport;
let
wrapped = command: buildTop: buildInputs:
runCommandCC "${command}-wrapped" { inherit buildInputs; } ''
type -P '${command}' || { echo '${command}: not found'; exit 1; }
cat > "$out" <<EOF
#!$(type -P bash)
$(declare -xp | sed -e '/^[^=]\+="\('"''${NIX_STORE//\//\\/}"'\|[^\/]\)/!d')
declare -x NIX_BUILD_TOP="${buildTop}"
$(type -P '${command}') "\$@"
EOF
chmod +x "$out"
'';
# Theano spews warnings and disabled flags if the compiler isn't named g++
cxx_compiler_name =
if stdenv.cc.isGNU then "g++" else
if stdenv.cc.isClang then "clang++" else
throw "Unknown C++ compiler";
cxx_compiler = wrapped cxx_compiler_name "\\$HOME/.theano"
( lib.optional cudaSupport libgpuarray_
++ lib.optional cudnnSupport cudnn );
# We need to be careful with overriding Python packages within the package set
# as this can lead to collisions!
libgpuarray_ = libgpuarray.override { inherit cudaSupport cudaPackages; };
in buildPythonPackage rec {
pname = "Theano";
version = "1.0.5";
disabled = isPyPy || pythonOlder "2.6" || (isPy3k && pythonOlder "3.3");
src = fetchPypi {
inherit pname version;
sha256 = "129f43ww2a6badfdr6b88kzjzz2b0wk0dwkvwb55z6dsagfkk53f";
};
postPatch = ''
substituteInPlace theano/configdefaults.py \
--replace 'StrParam(param, is_valid=warn_cxx)' 'StrParam('\'''${cxx_compiler}'\''', is_valid=warn_cxx)' \
--replace 'rc == 0 and config.cxx != ""' 'config.cxx != ""'
'' + lib.optionalString cudaSupport ''
substituteInPlace theano/configdefaults.py \
--replace 'StrParam(get_cuda_root)' 'StrParam('\'''${cudatoolkit}'\''')'
'' + lib.optionalString cudnnSupport ''
substituteInPlace theano/configdefaults.py \
--replace 'StrParam(default_dnn_base_path)' 'StrParam('\'''${cudnn}'\''')'
'';
# needs to be postFixup so it runs before pythonImportsCheck even when
# doCheck = false (meaning preCheck would be disabled)
postFixup = ''
mkdir -p check-phase
export HOME=$(pwd)/check-phase
'';
doCheck = false;
# takes far too long, also throws "TypeError: sort() missing 1 required positional argument: 'a'"
# when run from the installer, and testing with Python 3.5 hits github.com/Theano/Theano/issues/4276,
# the fix for which hasn't been merged yet.
# keep Nose around since running the tests by hand is possible from Python or bash
checkInputs = [ nose ];
# setuptools needed for cuda support
propagatedBuildInputs = [
libgpuarray_
numpy
numpy.blas
scipy
setuptools
six
];
pythonImportsCheck = [ "theano" ];
meta = with lib; {
homepage = "https://github.com/Theano/Theano";
description = "A Python library for large-scale array computation";
license = licenses.bsd3;
maintainers = [ ];
};
}

View file

@ -0,0 +1,67 @@
{ lib
, buildPythonPackage
, fetchPypi
, pythonAtLeast
, pbr
, six
, simplegeneric
, netaddr
, pytz
, webob
# Test inputs
, cherrypy
, flask
, flask-restful
, glibcLocales
, nose
, pecan
, sphinx
, transaction
, webtest
}:
buildPythonPackage rec {
pname = "WSME";
version = "0.11.0";
disabled = pythonAtLeast "3.9";
src = fetchPypi {
inherit pname version;
sha256 = "bd2dfc715bedcc8f4649611bc0c8a238f483dc01cff7102bc1efa6bea207b64b";
};
nativeBuildInputs = [ pbr ];
propagatedBuildInputs = [
netaddr
pytz
simplegeneric
six
webob
];
checkInputs = [
nose
cherrypy
flask
flask-restful
glibcLocales
pecan
sphinx
transaction
webtest
];
# from tox.ini, tests don't work with pytest
checkPhase = ''
nosetests wsme/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose
'';
meta = with lib; {
description = "Simplify the writing of REST APIs, and extend them with additional protocols";
homepage = "https://pythonhosted.org/WSME/";
changelog = "https://pythonhosted.org/WSME/changes.html";
license = licenses.mit;
};
}

View file

@ -0,0 +1,33 @@
{ lib
, buildPythonPackage
, fetchPypi
, imagemagickBig
}:
buildPythonPackage rec {
pname = "Wand";
version = "0.6.7";
src = fetchPypi {
inherit pname version;
sha256 = "ebc01bccc25dba68414ab55b482341f9ad2b197d7f49d5e724f339bbf63fb6db";
};
postPatch = ''
substituteInPlace wand/api.py --replace \
"magick_home = os.environ.get('MAGICK_HOME')" \
"magick_home = '${imagemagickBig}'"
'';
# tests not included with pypi release
doCheck = false;
passthru.imagemagick = imagemagickBig;
meta = with lib; {
description = "Ctypes-based simple MagickWand API binding for Python";
homepage = "http://wand-py.org/";
license = [ licenses.mit ];
maintainers = with maintainers; [ infinisil ];
};
}

View file

@ -0,0 +1,36 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "xlsxwriter";
version = "3.0.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "jmcnamara";
repo = "XlsxWriter";
rev = "RELEASE_${version}";
hash = "sha256-9fIxNkOdM+Bz1F9AWq02H3LLQnefxGSAtp9kM2OtJ9M=";
};
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"xlsxwriter"
];
meta = with lib; {
description = "Module for creating Excel XLSX files";
homepage = "https://xlsxwriter.readthedocs.io/";
license = licenses.bsd2;
maintainers = with maintainers; [ jluttine ];
};
}

View file

@ -0,0 +1,27 @@
{ lib
, buildPythonPackage
, fetchPypi
, six
, nose
, coverage
}:
buildPythonPackage rec {
pname = "aadict";
version = "0.2.3";
src = fetchPypi {
inherit pname version;
sha256 = "013pn9ii6mkql6khgdvsd1gi7zmya418fhclm5fp7dfvann2hwx7";
};
propagatedBuildInputs = [ six ];
checkInputs = [ nose coverage ];
meta = with lib; {
homepage = "https://github.com/metagriffin/aadict";
description = "An auto-attribute dict (and a couple of other useful dict functions).";
maintainers = with maintainers; [ glittershark ];
license = licenses.gpl3;
};
}

View file

@ -0,0 +1,31 @@
{ lib, buildPythonPackage, fetchPypi, pillow }:
buildPythonPackage rec {
pname = "aafigure";
version = "0.6";
src = fetchPypi {
inherit pname version;
sha256 = "49f2c1fd2b579c1fffbac1386a2670b3f6f475cc7ff6cc04d8b984888c2d9e1e";
};
propagatedBuildInputs = [ pillow ];
# error: invalid command 'test'
doCheck = false;
# Fix impurity. TODO: Do the font lookup using fontconfig instead of this
# manual method. Until that is fixed, we get this whenever we run aafigure:
# WARNING: font not found, using PIL default font
patchPhase = ''
sed -i "s|/usr/share/fonts|/nonexisting-fonts-path|" aafigure/PILhelper.py
'';
meta = with lib; {
description = "ASCII art to image converter";
homepage = "https://launchpad.net/aafigure/";
license = licenses.bsd2;
maintainers = with maintainers; [ bjornfor ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,26 @@
{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook, colorlog, lomond
, requests, isPy3k, requests-mock }:
buildPythonPackage rec {
pname = "abodepy";
version = "1.2.2";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "MisterWil";
repo = pname;
rev = "v${version}";
sha256 = "sha256-GrvNCgWGGBbUUONwS18csh4/A0MMkSk5Z6LlDhlQqok=";
};
propagatedBuildInputs = [ colorlog lomond requests ];
checkInputs = [ pytestCheckHook requests-mock ];
meta = with lib; {
homepage = "https://github.com/MisterWil/abodepy";
description = "An Abode alarm Python library running on Python 3";
license = licenses.mit;
maintainers = with maintainers; [ jamiemagee ];
};
}

View file

@ -0,0 +1,33 @@
{ buildPythonPackage
, lib
, pythonOlder
, fetchPypi
, six
, enum34
}:
buildPythonPackage rec {
pname = "absl-py";
version = "1.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea";
};
propagatedBuildInputs = [
six
] ++ lib.optionals (pythonOlder "3.4") [
enum34
];
# checks use bazel; should be revisited
doCheck = false;
meta = {
description = "Abseil Python Common Libraries";
homepage = "https://github.com/abseil/abseil-py";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ danharaj ];
};
}

View file

@ -0,0 +1,75 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, mpmath
, numpy
, pybind11
, pyfma
, eigen
, importlib-metadata
, pytestCheckHook
, matplotlib
, dufte
, perfplot
}:
buildPythonPackage rec {
pname = "accupy";
version = "0.3.6";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "nschloe";
repo = pname;
rev = version;
sha256 = "0sxkwpp2xy2jgakhdxr4nh1cspqv8l89kz6s832h05pbpyc0n767";
};
nativeBuildInputs = [
pybind11
];
buildInputs = [
eigen
];
propagatedBuildInputs = [
mpmath
numpy
pyfma
] ++ lib.optional (pythonOlder "3.8") importlib-metadata;
checkInputs = [
perfplot
pytestCheckHook
matplotlib
dufte
];
postConfigure = ''
substituteInPlace setup.py \
--replace "/usr/include/eigen3/" "${eigen}/include/eigen3/"
'';
preBuild = ''
export HOME=$(mktemp -d)
'';
# performance tests aren't useful to us and disabling them allows us to
# decouple ourselves from an unnecessary build dep
preCheck = ''
for f in test/test*.py ; do
substituteInPlace $f --replace 'import perfplot' ""
done
'';
disabledTests = [ "test_speed_comparison1" "test_speed_comparison2" ];
pythonImportsCheck = [ "accupy" ];
meta = with lib; {
description = "Accurate sums and dot products for Python";
homepage = "https://github.com/nschloe/accupy";
license = licenses.mit;
maintainers = [ maintainers.costrouc ];
};
}

View file

@ -0,0 +1,50 @@
{ lib
, aiohttp
, aioresponses
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytest-error-for-skips
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "accuweather";
version = "0.3.0";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "bieniu";
repo = pname;
rev = version;
sha256 = "sha256-Kn2hP0mdnC4+Lk8wsTznC23CsYLYKhya+HlHox1Fo2o=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "pytest-runner" ""
substituteInPlace setup.cfg \
--replace "--cov --cov-report term-missing" ""
'';
propagatedBuildInputs = [
aiohttp
];
checkInputs = [
aioresponses
pytest-asyncio
pytest-error-for-skips
pytestCheckHook
];
pythonImportsCheck = [ "accuweather" ];
meta = with lib; {
description = "Python wrapper for getting weather data from AccuWeather servers";
homepage = "https://github.com/bieniu/accuweather";
license = licenses.asl20;
maintainers = with maintainers; [ jamiemagee ];
};
}

View file

@ -0,0 +1,28 @@
{ lib
, buildPythonPackage
, fetchPypi
, pyvcf
}:
buildPythonPackage rec {
pname = "ACEBinf";
version = "1.0.2";
src = fetchPypi {
inherit pname version;
sha256 = "1168pny671l6zfm2vv1pwspnflmzi7f4v8yldjl7zlz0b9cm5zlz";
};
buildInputs = [ pyvcf ];
# no tests
doCheck = false;
pythonImportsCheck = [ "acebinf" ];
meta = with lib; {
homepage = "https://github.com/ACEnglish/acebinf";
description = "Collection of simple utilities used when building bioinformatics tools";
license = licenses.unlicense;
maintainers = with maintainers; [ ris ];
};
}

View file

@ -0,0 +1,38 @@
{ lib
, buildPythonPackage
, fetchPypi
, setuptools-scm
, fusepy
, fuse
, openssl
}:
buildPythonPackage rec {
pname = "acme-tiny";
version = "5.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "378549808eece574c3b5dcea82b216534949423d5c7ac241d9419212d676bc8d";
};
patchPhase = ''
substituteInPlace acme_tiny.py --replace '"openssl"' '"${openssl.bin}/bin/openssl"'
substituteInPlace tests/test_module.py --replace '"openssl"' '"${openssl.bin}/bin/openssl"'
substituteInPlace tests/utils.py --replace /etc/ssl/openssl.cnf ${openssl.out}/etc/ssl/openssl.cnf
'';
buildInputs = [ setuptools-scm ];
checkInputs = [ fusepy fuse ];
doCheck = false; # seems to hang, not sure
pythonImportsCheck = [ "acme_tiny" ];
meta = with lib; {
description = "A tiny script to issue and renew TLS certs from Let's Encrypt";
homepage = "https://github.com/diafygi/acme-tiny";
license = licenses.mit;
};
}

View file

@ -0,0 +1,35 @@
{ buildPythonPackage
, certbot
, cryptography
, pyasn1
, pyopenssl
, pyRFC3339
, josepy
, pytz
, requests
, requests-toolbelt
, six
, werkzeug
, ndg-httpsclient
}:
buildPythonPackage rec {
inherit (certbot) src version;
pname = "acme";
propagatedBuildInputs = [
cryptography pyasn1 pyopenssl pyRFC3339 pytz requests requests-toolbelt six
werkzeug ndg-httpsclient josepy
];
# does not contain any tests
doCheck = false;
pythonImportsCheck = [ "acme" ];
sourceRoot = "source/${pname}";
meta = certbot.meta // {
description = "ACME protocol implementation in Python";
};
}

View file

@ -0,0 +1,59 @@
{ lib
, buildPythonPackage
, fetchPypi
, matplotlib
, numpy
, pandas
, pytestCheckHook
, pythonOlder
, scipy
, tabulate
}:
buildPythonPackage rec {
pname = "acoustics";
version = "0.2.4.post0";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "a162625e5e70ed830fab8fab0ddcfe35333cb390cd24b0a827bcefc5bbcae97d";
};
propagatedBuildInputs = [
matplotlib
numpy
pandas
scipy
tabulate
];
checkInputs = [
pytestCheckHook
];
preCheck = ''
export HOME=$TMPDIR
mkdir -p $HOME/.matplotlib
echo "backend: ps" > $HOME/.matplotlib/matplotlibrc
'';
pytestFlagsArray = [
"-Wignore::DeprecationWarning"
];
disabledTestPaths = [
# All tests fail with TypeError
"tests/test_aio.py"
];
pythonImportsCheck = [ "acoustics" ];
meta = with lib; {
description = "Python package for acousticians";
maintainers = with maintainers; [ fridh ];
license = with licenses; [ bsd3 ];
homepage = "https://github.com/python-acoustics/python-acoustics";
};
}

View file

@ -0,0 +1,50 @@
{ lib
, blockdiag
, buildPythonPackage
, fetchFromGitHub
, nose
, pytestCheckHook
, pythonOlder
, setuptools
}:
buildPythonPackage rec {
pname = "actdiag";
version = "3.0.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "blockdiag";
repo = pname;
rev = version;
sha256 = "sha256-WmprkHOgvlsOIg8H77P7fzEqxGnj6xaL7Df7urRkg3o=";
};
propagatedBuildInputs = [
blockdiag
setuptools
];
checkInputs = [
nose
pytestCheckHook
];
pytestFlagsArray = [
"src/actdiag/tests/"
];
pythonImportsCheck = [
"actdiag"
];
meta = with lib; {
description = "Generate activity-diagram image from spec-text file (similar to Graphviz)";
homepage = "http://blockdiag.com/";
license = licenses.asl20;
platforms = platforms.unix;
maintainers = with maintainers; [ bjornfor SuperSandro2000 ];
};
}

View file

@ -0,0 +1,57 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, paho-mqtt
, pytestCheckHook
, pythonOlder
, requests
, setuptools-scm
}:
buildPythonPackage rec {
pname = "adafruit-io";
version = "2.7.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "adafruit";
repo = "Adafruit_IO_Python";
rev = "refs/tags/${version}";
hash = "sha256-BIquSrhtRv2NEOn/G6TTfYMrL2OBwwJQYZ455fznwdU=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
nativeBuildInputs = [
setuptools-scm
];
propagatedBuildInputs = [
paho-mqtt
requests
];
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"Adafruit_IO"
];
disabledTestPaths = [
# Tests requires valid credentials
"tests/test_client.py"
"tests/test_errors.py"
"tests/test_mqtt_client.py"
];
meta = with lib; {
description = "Module for interacting with Adafruit IO";
homepage = "https://github.com/adafruit/Adafruit_IO_Python";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,38 @@
{ lib
, buildPythonPackage
, fetchPypi
, setuptools-scm
, pythonOlder
}:
buildPythonPackage rec {
pname = "adafruit-platformdetect";
version = "3.24.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
pname = "Adafruit-PlatformDetect";
inherit version;
hash = "sha256-srM5VX0QXZMLmYmqKttcB8W8oMlGz64e6dQh04OQq8Q=";
};
nativeBuildInputs = [
setuptools-scm
];
# Project has not published tests yet
doCheck = false;
pythonImportsCheck = [
"adafruit_platformdetect"
];
meta = with lib; {
description = "Platform detection for use by Adafruit libraries";
homepage = "https://github.com/adafruit/Adafruit_Python_PlatformDetect";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,29 @@
{ lib
, buildPythonPackage
, fetchPypi
, setuptools-scm
}:
buildPythonPackage rec {
pname = "Adafruit-PureIO";
version = "1.1.9";
src = fetchPypi {
pname = "Adafruit_PureIO";
inherit version;
sha256 = "0yd8hw676s7plq75gac4z0ilfcfydjkk3wv76bc73xy70zxj5brc";
};
nativeBuildInputs = [ setuptools-scm ];
# Physical SMBus is not present
doCheck = false;
pythonImportsCheck = [ "Adafruit_PureIO" ];
meta = with lib; {
description = "Python interface to Linux IO including I2C and SPI";
homepage = "https://github.com/adafruit/Adafruit_Python_PureIO";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,49 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, httpretty
, pyjwt
, pytestCheckHook
, python-dateutil
, requests
}:
buildPythonPackage rec {
pname = "adal";
version = "1.2.7";
format = "setuptools";
src = fetchFromGitHub {
owner = "AzureAD";
repo = "azure-activedirectory-library-for-python";
rev = version;
hash = "sha256-HE8/P0aohoZNeMdcQVKdz6M31FMrjsd7oVytiaD0idI=";
};
propagatedBuildInputs = [
pyjwt
python-dateutil
requests
];
checkInputs = [
httpretty
pytestCheckHook
];
disabledTests = [
# AssertionError: 'Mex [23 chars]tp error:...
"test_failed_request"
];
pythonImportsCheck = [
"adal"
];
meta = with lib; {
description = "Python module to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources";
homepage = "https://github.com/AzureAD/azure-activedirectory-library-for-python";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}

View file

@ -0,0 +1,43 @@
{ lib
, aiohttp
, bleak
, buildPythonPackage
, fetchFromGitHub
, async-timeout
, pythonOlder
}:
buildPythonPackage rec {
pname = "adax-local";
version = "0.1.4";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "Danielhiversen";
repo = "pyAdaxLocal";
rev = version;
hash = "sha256-pzhaBRCn02asT0ZLt1EmnaX2g5wr/CoiItWJ/ZYe0Ok=";
};
propagatedBuildInputs = [
aiohttp
bleak
async-timeout
];
# Module has no tests
doCheck = false;
pythonImportsCheck = [
"adax_local"
];
meta = with lib; {
description = "Module for local access to Adax";
homepage = "https://github.com/Danielhiversen/pyAdaxLocal";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,39 @@
{ lib
, aiohttp
, async-timeout
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
}:
buildPythonPackage rec {
pname = "adax";
version = "0.2.0";
format = "setuptools";
disabled = pythonOlder "3.5";
src = fetchFromGitHub {
owner = "Danielhiversen";
repo = "pyadax";
rev = version;
sha256 = "sha256-EMSX2acklwWOYiEeLHYG5mwdiGnWAUo5dGMiHCmZrko=";
};
propagatedBuildInputs = [
aiohttp
async-timeout
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "adax" ];
meta = with lib; {
description = "Python module to communicate with Adax";
homepage = "https://github.com/Danielhiversen/pyAdax";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,47 @@
{ lib
, buildPythonPackage
, docopt
, fetchFromGitHub
, jdk11
, psutil
, pythonOlder
}:
buildPythonPackage rec {
pname = "adb-enhanced";
version = "2.5.14";
disabled = pythonOlder "3.4";
src = fetchFromGitHub {
owner = "ashishb";
repo = pname;
rev = version;
sha256 = "sha256-GaPOYBQEGI40MutjjY8exABqGge2p/buk9v+NcZ5oJs=";
};
propagatedBuildInputs = [
psutil
docopt
];
postPatch = ''
substituteInPlace adbe/adb_enhanced.py \
--replace "cmd = 'java" "cmd = '${jdk11}/bin/java"
'';
# Disable tests because they require a dedicated Android emulator
doCheck = false;
pythonImportsCheck = [
"adbe"
];
meta = with lib; {
description = "Tool for Android testing and development";
homepage = "https://github.com/ashishb/adb-enhanced";
license = licenses.asl20;
maintainers = with maintainers; [ vtuan10 ];
mainProgram = "adbe";
};
}

View file

@ -0,0 +1,40 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, libusb1
, rsa
, pycryptodome
, pytest
, mock
}:
buildPythonPackage {
pname = "adb-homeassistant";
version = "1.3.1";
# pypi does not contain tests, using github sources instead
src = fetchFromGitHub {
owner = "JeffLIrion";
repo = "python-adb";
rev = "5949bf432307cbba7128e84d7bc6add7f054a078";
sha256 = "0s3fazvbzchn1fsvjrd1jl8w9y4dvvgq6q8m8p5lr2gri0npr581";
};
propagatedBuildInputs = [
libusb1
rsa
pycryptodome
];
checkInputs = [ pytest mock ];
checkPhase = ''
py.test test
'';
meta = with lib; {
description = "A pure python implementation of the Android ADB and Fastboot protocols";
homepage = "https://github.com/JeffLIrion/python-adb/tree/adb-homeassistant";
license = licenses.asl20;
maintainers = [ maintainers.makefu ];
};
}

View file

@ -0,0 +1,70 @@
{ lib
, aiofiles
, buildPythonPackage
, cryptography
, fetchFromGitHub
, isPy3k
, libusb1
, mock
, pyasn1
, pythonAtLeast
, pycryptodome
, pytestCheckHook
, rsa
}:
buildPythonPackage rec {
pname = "adb-shell";
version = "0.4.3";
format = "setuptools";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "JeffLIrion";
repo = "adb_shell";
rev = "v${version}";
hash = "sha256-+RU3nyJpHq0r/9erEbjUILpwIPWq14HdOX7LkSxySs4=";
};
propagatedBuildInputs = [
cryptography
pyasn1
rsa
];
passthru.optional-dependencies = {
async = [
aiofiles
];
usb = [
libusb1
];
};
checkInputs = [
mock
pycryptodome
pytestCheckHook
]
++ passthru.optional-dependencies.async
++ passthru.optional-dependencies.usb;
disabledTests = lib.optionals (pythonAtLeast "3.10") [
# Tests are failing with Python 3.10
# https://github.com/JeffLIrion/adb_shell/issues/198
"TestAdbDeviceAsync"
"TestTcpTransportAsync"
];
pythonImportsCheck = [
"adb_shell"
];
meta = with lib; {
description = "Python implementation of ADB with shell and FileSync functionality";
homepage = "https://github.com/JeffLIrion/adb_shell";
license = licenses.asl20;
maintainers = with maintainers; [ jamiemagee ];
};
}

View file

@ -0,0 +1,81 @@
{ lib
, stdenv
, fetchFromGitHub
, buildPythonPackage
, rustPlatform
, pkg-config
, openssl
, publicsuffix-list
, pythonOlder
, libiconv
, CoreFoundation
, Security
, pytestCheckHook
, toml
}:
buildPythonPackage rec {
pname = "adblock";
version = "0.5.2";
format = "pyproject";
disabled = pythonOlder "3.6";
# Pypi only has binary releases
src = fetchFromGitHub {
owner = "ArniDagur";
repo = "python-adblock";
rev = "refs/tags/${version}";
sha256 = "sha256-6FH+AVK7+Yg1a6oKbFV80TuGGE4Y7I3mMVzwVHdHYO4=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-JI/C+Woi/dJWUGUum8daecjFWiQgxY6BFYZ5MpTcRvU=";
};
nativeBuildInputs = [
pkg-config
] ++ (with rustPlatform; [
cargoSetupHook
maturinBuildHook
]);
buildInputs = [
openssl
] ++ lib.optionals stdenv.isDarwin [
libiconv
CoreFoundation
Security
];
PSL_PATH = "${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat";
checkInputs = [
pytestCheckHook
toml
];
preCheck = ''
# import from $out instead
rm -r adblock
'';
disabledTestPaths = [
# relies on directory removed above
"tests/test_typestubs.py"
];
pythonImportsCheck = [
"adblock"
"adblock.adblock"
];
meta = with lib; {
description = "Python wrapper for Brave's adblocking library";
homepage = "https://github.com/ArniDagur/python-adblock/";
maintainers = with maintainers; [ petabyteboy dotlambda ];
license = with licenses; [ asl20 /* or */ mit ];
};
}

View file

@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
, tokenize-rt
}:
buildPythonPackage rec {
pname = "add-trailing-comma";
version = "2.2.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "asottile";
repo = pname;
rev = "v${version}";
sha256 = "sha256-hJVVRhaElroZ1GVlbGK49gzts2tozLqp9xfoaPdbb3I=";
};
propagatedBuildInputs = [
tokenize-rt
];
pythonImportsCheck = [
"add_trailing_comma"
];
checkInputs = [
pytestCheckHook
];
meta = with lib; {
description = "A tool (and pre-commit hook) to automatically add trailing commas to calls and literals";
homepage = "https://github.com/asottile/add-trailing-comma";
license = licenses.mit;
maintainers = with maintainers; [ gador ];
};
}

View file

@ -0,0 +1,26 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "addict";
version = "2.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "b3b2210e0e067a281f5646c8c5db92e99b7231ea8b0eb5f74dbdf9e259d4e494";
};
checkInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "addict" ];
meta = with lib; {
description = "Module that exposes a dictionary subclass that allows items to be set like attributes";
homepage = "https://github.com/mewwts/addict";
license = with licenses; [ mit ];
maintainers = with maintainers; [ veprbl ];
};
}

View file

@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, setuptools-scm
, alarmdecoder
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "adext";
version = "0.4.2";
src = fetchFromGitHub {
owner = "ajschmidt8";
repo = pname;
rev = "v${version}";
sha256 = "0h5k9kzms2f0r48pdhsgv8pimk0vsxw8vs0k6880mank8ij914wr";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
nativeBuildInputs = [
setuptools-scm
];
propagatedBuildInputs = [
alarmdecoder
];
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [ "adext" ];
meta = with lib; {
description = "Python extension for AlarmDecoder";
homepage = "https://github.com/ajschmidt8/adext";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,56 @@
{ lib
, aiohttp
, aresponses
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, yarl
}:
buildPythonPackage rec {
pname = "adguardhome";
version = "0.5.1";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "frenck";
repo = "python-${pname}";
rev = "v${version}";
sha256 = "sha256-HAgt52Bo2NOUkpr5xvWTcRyrLKpfcBDlVAZxgDNI7hY=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "--cov" "" \
--replace '"0.0.0"' '"${version}"'
substituteInPlace tests/test_adguardhome.py \
--replace 0.0.0 ${version}
'';
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [
aiohttp
yarl
];
checkInputs = [
aresponses
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [ "adguardhome" ];
meta = with lib; {
description = "Python client for the AdGuard Home API";
homepage = "https://github.com/frenck/python-adguardhome";
license = licenses.mit;
maintainers = with maintainers; [ jamiemagee ];
};
}

View file

@ -0,0 +1,43 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, matplotlib
, numpy
, packaging
}:
buildPythonPackage rec {
pname = "adjusttext";
version = "0.7.3.1";
format = "setuptools";
src = fetchFromGitHub {
owner = "Phlya";
repo = pname;
rev = version;
sha256 = "1a6hizx1cnplj0irn8idgda2lacsb61dw464cwx798pjr1gd401n";
};
nativeBuildInputs = [
packaging
];
propagatedBuildInputs = [
matplotlib
numpy
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [
"adjustText"
];
meta = with lib; {
description = "Iteratively adjust text position in matplotlib plots to minimize overlaps";
homepage = "https://github.com/Phlya/adjustText";
license = licenses.mit;
maintainers = with maintainers; [ samuela ];
};
}

View file

@ -0,0 +1,38 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchPypi
, pythonOlder
}:
buildPythonPackage rec {
pname = "advantage-air";
version = "0.3.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
pname = "advantage_air";
inherit version;
hash = "sha256-C+cB6oHmbr9mHZKnbls42yenQy3+L8huLk9wKazIWfU=";
};
propagatedBuildInputs = [
aiohttp
];
# No tests
doCheck = false;
pythonImportsCheck = [
"advantage_air"
];
meta = with lib; {
description = "API helper for Advantage Air's MyAir and e-zone API";
homepage = "https://github.com/Bre77/advantage_air";
license = licenses.mit;
maintainers = with maintainers; [ jamiemagee ];
};
}

View file

@ -0,0 +1,45 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, ndg-httpsclient
, netifaces
, pyasn1
, pyopenssl
, requests
, six
, urllib3
}:
buildPythonPackage rec {
pname = "advocate";
version = "1.0.0";
src = fetchFromGitHub {
owner = "JordanMilne";
repo = pname;
rev = "v${version}";
sha256 = "sha256-opObkjkad+yrLE2b7DULHjGuNeVhu4fEmSavgA39YPw=";
};
propagatedBuildInputs = [
ndg-httpsclient
netifaces
pyasn1
pyopenssl
requests
six
urllib3
];
# The tests do network requests, so disabled
doCheck = false;
pythonImportsCheck = [ "advocate" ];
meta = with lib; {
homepage = "https://github.com/JordanMilne/Advocate";
description = "An SSRF-preventing wrapper around Python's requests library";
license = licenses.asl20;
maintainers = with maintainers; [ pborzenkov ];
};
}

View file

@ -0,0 +1,40 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, geopy
, requests
, urllib3
}:
buildPythonPackage rec {
pname = "aemet-opendata";
version = "0.2.1";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "Noltari";
repo = "AEMET-OpenData";
rev = version;
sha256 = "0jl1897m3qmr48n469mq7d66k1j0rn7hlbcahm0ylf5i3ma03aiw";
};
propagatedBuildInputs = [
geopy
requests
urllib3
];
# no tests implemented
doCheck = false;
pythonImportsCheck = [ "aemet_opendata.interface" ];
meta = with lib; {
description = "Python client for AEMET OpenData Rest API";
homepage = "https://github.com/Noltari/AEMET-OpenData";
license = licenses.gpl2Only;
maintainers = with maintainers; [ dotlambda ];
};
}

View file

@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy3k
, pyparsing
, python
}:
buildPythonPackage rec {
pname = "aenum";
version = "3.1.11";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-rtLCc1R65yoNXuhpcZwCpkPaFr9QfICVj6rcfgOOP3M=";
};
checkInputs = [
pyparsing
];
# py2 likes to reorder tests
doCheck = isPy3k;
checkPhase = ''
runHook preCheck
${python.interpreter} aenum/test.py
runHook postCheck
'';
pythonImportsCheck = [
"aenum"
];
meta = with lib; {
description = "Advanced Enumerations (compatible with Python's stdlib Enum), NamedTuples, and NamedConstants";
homepage = "https://github.com/ethanfurman/aenum";
license = licenses.bsd3;
maintainers = with maintainers; [ vrthra ];
};
}

View file

@ -0,0 +1,56 @@
{ lib
, aesara
, buildPythonPackage
, fetchFromGitHub
, numdifftools
, numpy
, pytestCheckHook
, pythonOlder
, scipy
}:
buildPythonPackage rec {
pname = "aeppl";
version = "0.0.31";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "aesara-devs";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-fbBtjU2skvfDCnRRW+9PIObsEOfKhl15qSLw3TGhl4k=";
};
propagatedBuildInputs = [
aesara
numpy
scipy
];
checkInputs = [
numdifftools
pytestCheckHook
];
preCheck = ''
export HOME=$(mktemp -d);
'';
pythonImportsCheck = [
"aeppl"
];
disabledTests = [
# Compute issue
"test_initial_values"
];
meta = with lib; {
description = "Library for an Aesara-based PPL";
homepage = "https://github.com/aesara-devs/aeppl";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,83 @@
{ stdenv
, lib
, buildPythonPackage
, cons
, cython
, etuples
, fetchFromGitHub
, filelock
, logical-unification
, minikanren
, numba
, numba-scipy
, numpy
, pytestCheckHook
, pythonOlder
, scipy
, typing-extensions
}:
buildPythonPackage rec {
pname = "aesara";
version = "2.7.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "aesara-devs";
repo = "aesara";
rev = "refs/tags/rel-${version}";
hash = "sha256-qjAaW7YYmzGBNpc8T5RyOdP5evkKOdzUGzQ9JXKioxw=";
};
nativeBuildInputs = [
cython
];
propagatedBuildInputs = [
cons
etuples
filelock
logical-unification
minikanren
numpy
scipy
typing-extensions
];
checkInputs = [
numba
numba-scipy
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "--durations=50" ""
'';
preBuild = ''
export HOME=$(mktemp -d)
'';
pythonImportsCheck = [
"aesara"
];
disabledTestPaths = [
# Don't run the most compute-intense tests
"tests/scan/"
"tests/tensor/"
"tests/sandbox/"
];
meta = with lib; {
broken = (stdenv.isLinux && stdenv.isAarch64);
description = "Python library to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays";
homepage = "https://github.com/aesara-devs/aesara";
changelog = "https://github.com/aesara-devs/aesara/releases";
license = licenses.bsd3;
maintainers = with maintainers; [ Etjean ];
};
}

View file

@ -0,0 +1,45 @@
{ lib
, aiowinreg
, buildPythonPackage
, colorama
, fetchPypi
, pycryptodomex
, pythonOlder
, tqdm
, unicrypto
}:
buildPythonPackage rec {
pname = "aesedb";
version = "0.0.5";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-2m4VxqTD9zvUpZ1O8/SBprAzG4vUX4z3LthMpP5Hc8g=";
};
propagatedBuildInputs = [
aiowinreg
colorama
pycryptodomex
tqdm
unicrypto
];
# Module has no tests
doCheck = false;
pythonImportsCheck = [
"aesedb"
];
meta = with lib; {
description = "Parser for JET databases";
homepage = "https://github.com/skelsec/aesedb";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,102 @@
{ lib, stdenv, buildPythonPackage, fetchPypi, fetchpatch, pythonOlder
, fonttools, defcon, lxml, fs, unicodedata2, zopfli, brotlipy, fontpens
, brotli, fontmath, mutatormath, booleanoperations
, ufoprocessor, ufonormalizer, psautohint, tqdm
, setuptools-scm, scikit-build
, cmake
, antlr4_9
, pytestCheckHook
# Enables some expensive tests, useful for verifying an update
, runAllTests ? false
, afdko
}:
buildPythonPackage rec {
pname = "afdko";
version = "3.8.3";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "0mplyla4zcai3qld7is7bl5wn2kzhp87w87yi13wpqnw06i6ij4b";
};
format = "pyproject";
nativeBuildInputs = [
setuptools-scm
scikit-build
cmake
];
buildInputs = [
antlr4_9.runtime.cpp
];
patches = [
# Don't try to install cmake and ninja using pip
./no-pypi-build-tools.patch
# Use antlr4 runtime from nixpkgs and link it dynamically
./use-dynamic-system-antlr4-runtime.patch
];
# setup.py will always (re-)execute cmake in buildPhase
dontConfigure = true;
propagatedBuildInputs = [
booleanoperations
fonttools
lxml # fonttools[lxml], defcon[lxml] extra
fs # fonttools[ufo] extra
unicodedata2 # fonttools[unicode] extra
brotlipy # fonttools[woff] extra
zopfli # fonttools[woff] extra
fontpens
brotli
defcon
fontmath
mutatormath
ufoprocessor
ufonormalizer
psautohint
tqdm
];
checkInputs = [ pytestCheckHook ];
preCheck = ''
export PATH=$PATH:$out/bin
# Update tests to match ufinormalizer-0.6.1 expectations:
# https://github.com/adobe-type-tools/afdko/issues/1418
find tests -name layerinfo.plist -delete
'';
disabledTests = lib.optionals (!runAllTests) [
# Disable slow tests, reduces test time ~25 %
"test_report"
"test_post_overflow"
"test_cjk"
"test_extrapolate"
"test_filename_without_dir"
"test_overwrite"
"test_options"
] ++ lib.optionals (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isRiscV) [
# aarch64-only (?) failure, unknown reason so far
# https://github.com/adobe-type-tools/afdko/issues/1425
"test_spec"
] ++ lib.optionals (stdenv.hostPlatform.isi686) [
"test_type1mm_inputs"
];
passthru.tests = {
fullTestsuite = afdko.override { runAllTests = true; };
};
meta = with lib; {
description = "Adobe Font Development Kit for OpenType";
homepage = "https://adobe-type-tools.github.io/afdko/";
license = licenses.asl20;
maintainers = [ maintainers.sternenseemann ];
};
}

View file

@ -0,0 +1,24 @@
commit 72b0ab672d1080049431eeee07ae6d2556ae9e4a
Author: sternenseemann <sternenseemann@systemli.org>
Date: Tue Oct 5 18:17:20 2021 +0200
Don't use pypi distributions of build tools
We want to use regular cmake and ninja and not the pypi projects which
somehow wrap and vendor a version of the proper tool.
diff --git a/setup.py b/setup.py
index 50deb781..81417971 100644
--- a/setup.py
+++ b/setup.py
@@ -196,9 +196,7 @@ def main():
setup_requires=[
'wheel',
'setuptools_scm',
- 'scikit-build',
- 'cmake',
- 'ninja'
+ 'scikit-build'
],
tests_require=[
'pytest',

View file

@ -0,0 +1,41 @@
commit 1ccbf21a67da0fdbaad881a1f5c2a4df915e8c57
Author: sternenseemann <sternenseemann@systemli.org>
Date: Tue Oct 5 18:16:10 2021 +0200
Link against system antlr4 runtime, dynamically
Instead of cloning a antlr4 version from git, use the system one. Also
don't link it statically, but dynamically by default (the library is
called antlr4-runtime, not antlr4_static).
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e9c8c08e..dc3a46da 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -36,11 +36,11 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# https://www.antlr.org/download/antlr4-cpp-runtime-4.9.3-source.zip
# set(ANTLR4_ZIP_REPOSITORY "/path_to_antlr4_archive/a4.zip")
-add_definitions(-DANTLR4CPP_STATIC)
set(ANTLR4_WITH_STATIC_CRT OFF)
# 4.9.3 is the latest ANTLR4 version
set(ANTLR4_TAG tags/4.9.3)
-include(ExternalAntlr4Cpp)
+find_path(ANTLR4_HEADER antlr4-runtime.h PATH_SUFFIXES antlr4-runtime)
+set(ANTLR4_INCLUDE_DIRS ${ANTLR4_HEADER})
# sanitizer support
# work around https://github.com/pypa/setuptools/issues/1928 with environment
diff --git a/c/makeotf/lib/hotconv/CMakeLists.txt b/c/makeotf/lib/hotconv/CMakeLists.txt
index 82257bf2..02eb2e30 100644
--- a/c/makeotf/lib/hotconv/CMakeLists.txt
+++ b/c/makeotf/lib/hotconv/CMakeLists.txt
@@ -69,7 +69,7 @@ add_library(hotconv STATIC
set_property(TARGET hotconv PROPERTY C_STANDARD 99)
target_include_directories(hotconv PRIVATE AFTER $<$<COMPILE_LANGUAGE:CXX>:${ANTLR4_INCLUDE_DIRS}>)
-target_link_libraries(hotconv PUBLIC antlr4_static)
+target_link_libraries(hotconv PUBLIC antlr4-runtime)
if ( CMAKE_COMPILER_IS_GNUCC )
target_compile_options(hotconv PRIVATE -Wall -Wno-attributes)

View file

@ -0,0 +1,22 @@
{ buildPythonPackage, pytest, lib, fetchPypi }:
buildPythonPackage rec {
pname = "affine";
version = "2.3.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-1nbeZhV61q+Z/9lOD1Tonfw1sPtyUurS7QrS3KQxvdA=";
};
checkInputs = [ pytest ];
checkPhase = "py.test";
meta = with lib; {
description = "Matrices describing affine transformation of the plane";
license = licenses.bsd3;
homepage = "https://github.com/sgillies/affine";
maintainers = with maintainers; [ mredaelli ];
};
}

View file

@ -0,0 +1,56 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, lxml
, pytest-aiohttp
, pytestCheckHook
, pythonOlder
, setuptools-scm
}:
buildPythonPackage rec {
pname = "afsapi";
version = "0.2.4";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "wlcrs";
repo = "python-afsapi";
rev = "refs/tags/${version}";
hash = "sha256-pNggrg97GIBBTm4rjtpx0NOZIWCGn9boB/Wss/QwF6U=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
nativeBuildInputs = [
setuptools-scm
];
propagatedBuildInputs = [
aiohttp
lxml
];
checkInputs = [
pytest-aiohttp
pytestCheckHook
];
pytestFlagsArray = [
"async_tests.py"
];
pythonImportsCheck = [
"afsapi"
];
meta = with lib; {
description = "Python implementation of the Frontier Silicon API";
homepage = "https://github.com/wlcrs/python-afsapi";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,20 @@
{ lib, fetchPypi, buildPythonPackage, agate, dbf, dbfread }:
buildPythonPackage rec {
pname = "agate-dbf";
version = "0.2.2";
propagatedBuildInputs = [ agate dbf dbfread ];
src = fetchPypi {
inherit pname version;
sha256 = "589682b78c5c03f2dc8511e6e3edb659fb7336cd118e248896bb0b44c2f1917b";
};
meta = with lib; {
description = "Adds read support for dbf files to agate";
homepage = "https://github.com/wireservice/agate-dbf";
license = with licenses; [ mit ];
maintainers = with maintainers; [ vrthra ];
};
}

View file

@ -0,0 +1,29 @@
{ lib, fetchPypi, buildPythonPackage
, agate, openpyxl, xlrd, olefile, pytestCheckHook
}:
buildPythonPackage rec {
pname = "agate-excel";
version = "0.2.5";
src = fetchPypi {
inherit pname version;
sha256 = "62315708433108772f7f610ca769996b468a4ead380076dbaf6ffe262831b153";
};
propagatedBuildInputs = [ agate openpyxl xlrd olefile ];
checkInputs = [ pytestCheckHook ];
disabledTests = [
# See https://github.com/wireservice/agate-excel/issues/45
"test_ambiguous_date"
];
meta = with lib; {
description = "Adds read support for excel files to agate";
homepage = "https://github.com/wireservice/agate-excel";
license = licenses.mit;
maintainers = with maintainers; [ vrthra ];
};
}

View file

@ -0,0 +1,43 @@
{ lib
, buildPythonPackage
, isPy27
, fetchPypi
, agate
, sqlalchemy
, crate
, nose
, geojson
}:
buildPythonPackage rec {
pname = "agate-sql";
version = "0.5.8";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "581e062ae878cc087d3d0948670d46b16589df0790bf814524b0587a359f2ada";
};
propagatedBuildInputs = [ agate sqlalchemy ];
# crate is broken in nixpkgs, with SQLAlchemy > 1.3
# Skip tests for now as they rely on it.
doCheck = false;
checkInputs = [ crate nose geojson ];
checkPhase = ''
nosetests
'';
pythonImportsCheck = [ "agatesql" ];
meta = with lib; {
description = "Adds SQL read/write support to agate.";
homepage = "https://github.com/wireservice/agate-sql";
license = with licenses; [ mit ];
maintainers = with maintainers; [ vrthra ];
};
}

View file

@ -0,0 +1,73 @@
{ lib
, babel
, buildPythonPackage
, cssselect
, fetchFromGitHub
, glibcLocales
, isodate
, leather
, lxml
, nose
, parsedatetime
, PyICU
, python-slugify
, pytimeparse
, pythonOlder
, pytz
, six
}:
buildPythonPackage rec {
pname = "agate";
version = "1.6.3";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "wireservice";
repo = pname;
rev = version;
sha256 = "sha256-tuUoLvztCYHIPJTBgw1eByM0zfaHDyc+h7SWsxutKos=";
};
propagatedBuildInputs = [
babel
isodate
leather
parsedatetime
python-slugify
pytimeparse
six
];
checkInputs = [
cssselect
glibcLocales
lxml
nose
PyICU
pytz
];
postPatch = ''
# No Python 2 support, thus constraint is not needed
substituteInPlace setup.py \
--replace "'parsedatetime>=2.1,!=2.5,!=2.6'," "'parsedatetime>=2.1',"
'';
checkPhase = ''
LC_ALL="en_US.UTF-8" nosetests tests
'';
pythonImportsCheck = [
"agate"
];
meta = with lib; {
description = "Python data analysis library that is optimized for humans instead of machines";
homepage = "https://github.com/wireservice/agate";
license = with licenses; [ mit ];
maintainers = with maintainers; [ vrthra ];
};
}

View file

@ -0,0 +1,26 @@
{ aiohttp, buildPythonPackage, fetchPypi, isPy3k, lib, python, requests }:
buildPythonPackage rec {
pname = "agent-py";
version = "0.0.23";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "1hx88m8b8kfb2gm6hii5ldjv7hlvqf99cz0w2vj0d0grrxcbn5cz";
};
propagatedBuildInputs = [ requests aiohttp ];
checkPhase = ''
${python.interpreter} tests/test_agent.py
'';
meta = with lib; {
description = "A python wrapper around the Agent REST API.";
homepage = "https://github.com/ispysoftware/agent-py";
license = licenses.asl20;
maintainers = with maintainers; [ jamiemagee ];
};
}

View file

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, pyvex
}:
buildPythonPackage rec {
pname = "ailment";
version = "9.2.6";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
hash = "sha256-SymOCHKIr0SOi4OM+OONA7+A2nV4JMA467OkoqDhZ+M=";
};
propagatedBuildInputs = [
pyvex
];
# Tests depend on angr (possibly a circular dependency)
doCheck = false;
#pythonImportsCheck = [ "ailment" ];
meta = with lib; {
description = "The angr Intermediate Language";
homepage = "https://github.com/angr/ailment";
license = with licenses; [ bsd2 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,51 @@
{ lib
, aiohttp
, aresponses
, asynctest
, buildPythonPackage
, fetchFromGitHub
, geojson
, haversine
, pytest-asyncio
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "aio-geojson-client";
version = "0.17";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "exxamalte";
repo = "python-aio-geojson-client";
rev = "v${version}";
hash = "sha256-5GiQgtbvYeleovFbXO2vlr2XPsDIWZiElM64O+urMcY=";
};
propagatedBuildInputs = [
aiohttp
geojson
haversine
];
checkInputs = [
aresponses
asynctest
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [
"aio_geojson_client"
];
meta = with lib; {
description = "Python module for accessing GeoJSON feeds";
homepage = "https://github.com/exxamalte/python-aio-geojson-client";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,51 @@
{ lib
, aiohttp
, aresponses
, asynctest
, buildPythonPackage
, aio-geojson-client
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, pytz
}:
buildPythonPackage rec {
pname = "aio-geojson-generic-client";
version = "0.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "exxamalte";
repo = "python-aio-geojson-generic-client";
rev = "v${version}";
hash = "sha256-6Gc3SRRQiISBZnCg7a+rCQHR4NQipBHmG5gWZZXIsxY=";
};
propagatedBuildInputs = [
aiohttp
aio-geojson-client
pytz
];
checkInputs = [
aresponses
asynctest
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [
"aio_geojson_generic_client"
];
meta = with lib; {
description = "Python library for accessing GeoJSON feeds";
homepage = "https://github.com/exxamalte/python-aio-geojson-generic-client";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,49 @@
{ lib
, aio-geojson-client
, aiohttp
, aresponses
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pytz
, pythonOlder
}:
buildPythonPackage rec {
pname = "aio-geojson-geonetnz-quakes";
version = "0.14";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "exxamalte";
repo = "python-aio-geojson-geonetnz-quakes";
rev = "v${version}";
hash = "sha256-T3vQodb0/3YEjsyHLSI8DBKK75J8hvsaBqyQI7GkT3U=";
};
propagatedBuildInputs = [
aio-geojson-client
aiohttp
pytz
];
checkInputs = [
aresponses
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [
"aio_geojson_geonetnz_quakes"
];
meta = with lib; {
description = "Python module for accessing the GeoNet NZ Quakes GeoJSON feeds";
homepage = "https://github.com/exxamalte/pythonaio-geojson-geonetnz-quakes";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,51 @@
{ lib
, aio-geojson-client
, aiohttp
, aresponses
, asynctest
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pytz
, pythonOlder
}:
buildPythonPackage rec {
pname = "aio-geojson-geonetnz-volcano";
version = "0.7";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "exxamalte";
repo = "python-aio-geojson-geonetnz-volcano";
rev = "v${version}";
sha256 = "sha256-2iVUHMk4ydmGmmGS6lJV5pvxJHyP9bRSeh/dOXbquE0=";
};
propagatedBuildInputs = [
aio-geojson-client
aiohttp
pytz
];
checkInputs = [
aresponses
asynctest
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [
"aio_geojson_geonetnz_volcano"
];
meta = with lib; {
description = "Python module for accessing the GeoNet NZ Volcanic GeoJSON feeds";
homepage = "https://github.com/exxamalte/pythonaio-geojson-geonetnz-volcano";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,51 @@
{ lib
, aio-geojson-client
, aiohttp
, aresponses
, asynctest
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pytz
, pythonOlder
}:
buildPythonPackage rec {
pname = "aio-geojson-nsw-rfs-incidents";
version = "0.5";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "exxamalte";
repo = "python-aio-geojson-nsw-rfs-incidents";
rev = "v${version}";
sha256 = "sha256-rWlt4MYnuY+CzszFVDniWBnqpQW3WldSEl00ns3ko3U=";
};
propagatedBuildInputs = [
aio-geojson-client
aiohttp
pytz
];
checkInputs = [
aresponses
asynctest
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [
"aio_geojson_nsw_rfs_incidents"
];
meta = with lib; {
description = "Python module for accessing the NSW Rural Fire Service incidents feeds";
homepage = "https://github.com/exxamalte/python-aio-geojson-nsw-rfs-incidents";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,55 @@
{ lib
, aiohttp
, aresponses
, asynctest
, buildPythonPackage
, dateparser
, fetchFromGitHub
, haversine
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, requests
, xmltodict
}:
buildPythonPackage rec {
pname = "aio-georss-client";
version = "0.10";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "exxamalte";
repo = "python-aio-georss-client";
rev = "v${version}";
sha256 = "sha256-g/BlRRBImJihVlAfSMsPIPV0GJns0/pStF8TKSxpDI4=";
};
propagatedBuildInputs = [
aiohttp
haversine
xmltodict
requests
dateparser
];
checkInputs = [
aresponses
asynctest
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [
"aio_georss_client"
];
meta = with lib; {
description = "Python library for accessing GeoRSS feeds";
homepage = "https://github.com/exxamalte/python-aio-georss-client";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,47 @@
{ lib
, aio-georss-client
, aresponses
, buildPythonPackage
, dateparser
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "aio-georss-gdacs";
version = "0.7";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "exxamalte";
repo = "python-aio-georss-gdacs";
rev = "v${version}";
sha256 = "sha256-6z0l0PcFTQgOBj8cBgBMPJIqWG53u7h4WbYkBqU4FNE=";
};
propagatedBuildInputs = [
aio-georss-client
dateparser
];
checkInputs = [
aresponses
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [
"aio_georss_gdacs"
];
meta = with lib; {
description = "Python library for accessing GeoRSS feeds";
homepage = "https://github.com/exxamalte/python-aio-georss-gdacs";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,40 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
}:
buildPythonPackage rec {
pname = "aioairzone";
version = "0.4.5";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "Noltari";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-sNlqG5A8a8AIgKc9xDAEwxBeKJ/HaW847BZR4WdcsrQ=";
};
propagatedBuildInputs = [
aiohttp
];
# Module has no tests
doCheck = false;
pythonImportsCheck = [
"aioairzone"
];
meta = with lib; {
description = "Module to control AirZone devices";
homepage = "https://github.com/Noltari/aioairzone";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,71 @@
{ lib
, aiohttp
, aresponses
, asynctest
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytest-aiohttp
, pytest-asyncio
, pytestCheckHook
, python-engineio
, python-socketio
, pythonOlder
, websockets
}:
buildPythonPackage rec {
pname = "aioambient";
version = "2021.12.0";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "bachya";
repo = pname;
rev = version;
sha256 = "sha256-nFCLMpkuSVPecKrtJ/z7KuyGw4Z9X79wKXmWsewbxvY=";
};
postPatch = ''
# https://github.com/bachya/aioambient/pull/97
substituteInPlace pyproject.toml \
--replace 'websockets = ">=8.1,<10.0"' 'websockets = ">=8.1,<11.0"'
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
python-engineio
python-socketio
websockets
];
checkInputs = [
aresponses
asynctest
pytest-aiohttp
pytest-asyncio
pytestCheckHook
];
# Ignore the examples directory as the files are prefixed with test_
disabledTestPaths = [
"examples/"
];
pythonImportsCheck = [
"aioambient"
];
meta = with lib; {
description = "Python library for the Ambient Weather API";
homepage = "https://github.com/bachya/aioambient";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,39 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pamqp
, pythonOlder
}:
buildPythonPackage rec {
pname = "aioamqp";
version = "0.15.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "Polyconseil";
repo = pname;
rev = "${pname}-${version}";
hash = "sha256-fssPknJn1tLtzb+2SFyZjfdhUdD8jqkwlInoi5uaplk=";
};
propagatedBuildInputs = [
pamqp
];
# Tests assume rabbitmq server running
doCheck = false;
pythonImportsCheck = [
"aioamqp"
];
meta = with lib; {
description = "AMQP implementation using asyncio";
homepage = "https://github.com/polyconseil/aioamqp";
license = licenses.bsd3;
maintainers = with maintainers; [ costrouc ];
};
}

View file

@ -0,0 +1,35 @@
{ buildPythonPackage
, fetchPypi
, h2
, lib
, pyjwt
, pyopenssl
}:
buildPythonPackage rec {
pname = "aioapns";
version = "2.1";
src = fetchPypi {
inherit pname version;
sha256 = "2ce526910bc2514a84b8105abe80508526ceafc0097c89f86bbbc501f8666c99";
};
propagatedBuildInputs = [
h2
pyopenssl
pyjwt
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "aioapns" ];
meta = with lib; {
description = "An efficient APNs Client Library for Python/asyncio";
homepage = "https://github.com/Fatal1ty/aioapns";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};
}

View file

@ -0,0 +1,39 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
}:
buildPythonPackage rec {
pname = "aioaseko";
version = "0.0.2";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "milanmeu";
repo = pname;
rev = "v${version}";
hash = "sha256-nJRVNBYfBcLYnBsTpQZYMHYWh0+hQObVKJ7sOXFwDjc=";
};
propagatedBuildInputs = [
aiohttp
];
# Module has no tests
doCheck = false;
pythonImportsCheck = [
"aioaseko"
];
meta = with lib; {
description = "Module to interact with the Aseko Pool Live API";
homepage = "https://github.com/milanmeu/aioaseko";
license = with licenses; [ lgpl3Plus ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,47 @@
{ lib
, asyncssh
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytest-mock
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "aioasuswrt";
version = "1.4.0";
src = fetchFromGitHub {
owner = "kennedyshead";
repo = pname;
rev = "V${version}";
sha256 = "1iv9f22v834g8wrjcynjn2azpzk8gsczv71jf7dw8aix0n04h325";
};
propagatedBuildInputs = [
asyncssh
];
checkInputs = [
pytest-asyncio
pytest-mock
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov-report html" "" \
--replace "--cov-report term-missing" ""
'';
pythonImportsCheck = [
"aioasuswrt"
];
meta = with lib; {
description = "Python module for Asuswrt";
homepage = "https://github.com/kennedyshead/aioasuswrt";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,40 @@
{ lib
, buildPythonPackage
, isPy27
, fetchPypi
, aiohttp
, click
}:
buildPythonPackage rec {
pname = "aioazuredevops";
version = "1.4.3";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-vNTvSQYjjptdPsHz0zM9paq3iodZrhcEralPm6YRZJE=";
};
propagatedBuildInputs = [
aiohttp
click
];
# no tests implemented
doCheck = false;
pythonImportsCheck = [
"aioazuredevops.builds"
"aioazuredevops.client"
"aioazuredevops.core"
];
meta = with lib; {
description = "Get data from the Azure DevOps API";
homepage = "https://github.com/timmo001/aioazuredevops";
license = licenses.mit;
maintainers = with maintainers; [ dotlambda ];
};
}

View file

@ -0,0 +1,39 @@
{ lib
, buildPythonPackage
, fetchPypi
, pythonOlder
, wrapt
, aioitertools
, aiohttp
, botocore
}:
buildPythonPackage rec {
pname = "aiobotocore";
version = "2.3.0";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-/D09YGFBC8GU0J7FReMLRGnV90dw+TespfaqReYqG/4=";
};
# relax version constraints: aiobotocore works with newer botocore versions
# the pinning used to match some `extras_require` we're not using.
postPatch = ''
sed -i "s/'botocore>=.*'/'botocore'/" setup.py
'';
propagatedBuildInputs = [ wrapt aiohttp aioitertools botocore ];
# tests not distributed on pypi
doCheck = false;
pythonImportsCheck = [ "aiobotocore" ];
meta = with lib; {
description = "Python client for amazon services";
license = licenses.asl20;
homepage = "https://github.com/aio-libs/aiobotocore";
maintainers = with maintainers; [ teh ];
};
}

View file

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, cryptography
, fetchPypi
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiobroadlink";
version = "0.1.3";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-uTUtDhL9VtWZE+Y6ZJY4prmlE+Yh2UrCg5+eSyAQzMk=";
};
propagatedBuildInputs = [
cryptography
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [
"aiobroadlink"
];
meta = with lib; {
description = "Python module to control various Broadlink devices";
homepage = "https://github.com/frawau/aiobroadlink";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,34 @@
{ lib
, aioredis
, buildPythonPackage
, fetchFromGitHub
, msgpack
}:
buildPythonPackage rec {
pname = "aiocache";
version = "0.11.1";
src = fetchFromGitHub {
owner = "aio-libs";
repo = pname;
rev = version;
sha256 = "1czs8pvhzi92qy2dch2995rb62mxpbhd80dh2ir7zpa9qcm6wxvx";
};
propagatedBuildInputs = [
aioredis
msgpack
];
# aiomcache would be required but last release was in 2017
doCheck = false;
pythonImportsCheck = [ "aiocache" ];
meta = with lib; {
description = "Python API Rate Limit Decorator";
homepage = "https://github.com/tomasbasham/ratelimit";
license = with licenses; [ bsd3 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,53 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pygments
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiocoap";
version = "0.4.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "chrysn";
repo = pname;
rev = version;
sha256 = "sha256-fTRDx9VEXDoMKM78YYL+mBEdvhbLtHiHdo66kwRnNhA=";
};
propagatedBuildInputs = [
pygments
];
checkInputs = [
pytestCheckHook
];
disabledTestPaths = [
# Don't test the plugins
"tests/test_tls.py"
"tests/test_reverseproxy.py"
"tests/test_oscore_plugtest.py"
];
disabledTests = [
# Communication is not properly mocked
"test_uri_parser"
];
pythonImportsCheck = [
"aiocoap"
];
meta = with lib; {
description = "Python CoAP library";
homepage = "https://aiocoap.readthedocs.io/";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,57 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pythonOlder
}:
# This package provides a binary "apython" which sometimes invokes
# [sys.executable, '-m', 'aioconsole'] as a subprocess. If apython is
# run directly out of this derivation, it won't work, because
# sys.executable will point to a Python binary that is not wrapped to
# be able to find aioconsole.
# However, apython will work fine when using python##.withPackages,
# because with python##.withPackages the sys.executable is already
# wrapped to be able to find aioconsole and any other packages.
buildPythonPackage rec {
pname = "aioconsole";
version = "0.4.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "vxgmichel";
repo = pname;
rev = "v${version}";
sha256 = "sha256-OCsao4oerHGpzsoqPP3EXJVs6NZeLNsoaC83k7oX688=";
};
checkInputs = [
pytest-asyncio
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov aioconsole --count 2" ""
'';
disabledTests = [
"test_interact_syntax_error"
# Output and the sandbox don't work well together
"test_interact_multiple_indented_lines"
];
pythonImportsCheck = [
"aioconsole"
];
meta = with lib; {
description = "Asynchronous console and interfaces for asyncio";
homepage = "https://github.com/vxgmichel/aioconsole";
license = licenses.gpl3Only;
maintainers = with maintainers; [ catern ];
};
}

View file

@ -0,0 +1,48 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytest-runner
, pytest
, pytest-asyncio
, contextvars
, sqlalchemy
, isPy27
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiocontextvars";
version = "0.2.2";
disabled = isPy27;
src = fetchFromGitHub {
owner = "fantix";
repo = pname;
rev = "v${version}";
sha256 = "0a2gmrm9csiknc8n3si67sgzffkydplh9d7ga1k87ygk2aj22mmk";
};
buildInputs = [
pytest-runner
];
checkInputs = [
pytest
pytest-asyncio
];
propagatedBuildInputs = [
sqlalchemy
] ++ lib.optionals (pythonOlder "3.7") [ contextvars ];
checkPhase = ''
pytest
'';
meta = with lib; {
description = "Asyncio support for PEP-567 contextvars backport";
homepage = "https://github.com/fantix/aiocontextvars";
license = licenses.bsd3;
maintainers = [ maintainers.costrouc ];
};
}

View file

@ -0,0 +1,46 @@
{ lib
, buildPythonPackage
, fetchPypi
, python
, croniter
, tzlocal
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "aiocron";
version = "1.8";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-SFRlE/ry63kB5lpk66e2U8gBBu0A7ZyjQZw9ELZVWgE=";
};
propagatedBuildInputs = [
croniter
tzlocal
];
checkInputs = [
pytestCheckHook
tzlocal
];
postPatch = ''
sed -i "/--cov/d" setup.cfg
sed -i "/--ignore/d" setup.cfg
'';
postInstall = ''
rm -rf $out/${python.sitePackages}/tests
'';
pythonImportsCheck = [ "aiocron" ];
meta = with lib; {
description = "Crontabs for asyncio";
homepage = "https://github.com/gawel/aiocron/";
license = licenses.mit;
maintainers = [ maintainers.starcraft66 ];
};
}

View file

@ -0,0 +1,50 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, httpx
, poetry-core
, pytest-asyncio
, pytest-httpx
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiocurrencylayer";
version = "1.0.3";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "home-assistant-ecosystem";
repo = pname;
rev = version;
sha256 = "sha256-t2Pcoakk25vtUYajIZVITsrEUSdwwiA3fbdswy3n9P8=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
httpx
];
checkInputs = [
pytest-asyncio
pytest-httpx
pytestCheckHook
];
pythonImportsCheck = [
"aiocurrencylayer"
];
meta = with lib; {
description = "Python API for interacting with currencylayer";
homepage = "https://github.com/home-assistant-ecosystem/aiocurrencylayer";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,60 @@
{ lib
, buildPythonPackage
, dnspython
, fetchFromGitHub
, ifaddr
, netifaces
, pyroute2
, pytest-asyncio
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiodiscover";
version = "1.4.11";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "bdraco";
repo = pname;
rev = "v${version}";
sha256 = "sha256-s5g8otQSWTAOkN4q1LrM/FxVlOnGSv8XKtIDkdwcHMg=";
};
propagatedBuildInputs = [
dnspython
netifaces
pyroute2
ifaddr
];
postPatch = ''
substituteInPlace setup.py \
--replace '"pytest-runner>=5.2",' "" \
--replace "pyroute2>=0.5.18,!=0.6.1" "pyroute2"
'';
checkInputs = [
pytest-asyncio
pytestCheckHook
];
disabledTests = [
# Tests require access to /etc/resolv.conf
"test_async_discover_hosts"
];
pythonImportsCheck = [
"aiodiscover"
];
meta = with lib; {
description = "Python module to discover hosts via ARP and PTR lookup";
homepage = "https://github.com/bdraco/aiodiscover";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,38 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pycares
, pythonOlder
, typing
}:
buildPythonPackage rec {
pname = "aiodns";
version = "3.0.0";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "saghul";
repo = pname;
rev = "aiodns-${version}";
sha256 = "1i91a43gsq222r8212jn4m6bxc3fl04z1mf2h7s39nqywxkggvlp";
};
propagatedBuildInputs = [
pycares
] ++ lib.optional (pythonOlder "3.7") [
typing
];
# Could not contact DNS servers
doCheck = false;
pythonImportsCheck = [ "aiodns" ];
meta = with lib; {
description = "Simple DNS resolver for asyncio";
homepage = "https://github.com/saghul/aiodns";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,43 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, poetry
, pytest-aiohttp
, pytest-asyncio
, pytest-cov
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "aioeafm";
version = "1.0.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "Jc2k";
repo = pname;
rev = version;
sha256 = "048cxn3fw2hynp27zlizq7k8ps67qq9sib1ddgirnxy5zc87vgkc";
};
nativeBuildInputs = [ poetry ];
propagatedBuildInputs = [ aiohttp ];
checkInputs = [
pytest-aiohttp
pytest-asyncio
pytest-cov
pytestCheckHook
];
pythonImportsCheck = [ "aioeafm" ];
meta = with lib; {
description = "Python client for access the Real Time flood monitoring API";
homepage = "https://github.com/Jc2k/aioeafm";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,39 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, xmltodict
}:
buildPythonPackage rec {
pname = "aioeagle";
version = "1.1.0";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = pname;
rev = version;
sha256 = "117nb50cxwrixif2r6fxmr9v0jxkcamm816v48hbhyc660w6xvk4";
};
propagatedBuildInputs = [
aiohttp
xmltodict
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "aioeagle" ];
meta = with lib; {
description = "Python library to control EAGLE-200";
homepage = "https://github.com/home-assistant-libs/aioeagle";
changelog = "https://github.com/home-assistant-libs/aioshelly/releases/tag/${version}";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,49 @@
{ lib
, aiohttp
, aioresponses
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytest-raises
, pytestCheckHook
, pythonOlder
, xmltodict
}:
buildPythonPackage rec {
pname = "aioemonitor";
version = "1.0.5";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "bdraco";
repo = pname;
rev = "v${version}";
sha256 = "0h8zqqy8v8r1fl9bp3m8icr2sy44p0mbfl1hbb0zni17r9r50dhn";
};
propagatedBuildInputs = [
aiohttp
xmltodict
];
checkInputs = [
aioresponses
pytest-asyncio
pytest-raises
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.py --replace '"pytest-runner>=5.2",' ""
'';
pythonImportsCheck = [ "aioemonitor" ];
meta = with lib; {
description = "Python client for SiteSage Emonitor";
homepage = "https://github.com/bdraco/aioemonitor";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,49 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, mock
, noiseprotocol
, protobuf
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, zeroconf
}:
buildPythonPackage rec {
pname = "aioesphomeapi";
version = "10.10.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "esphome";
repo = pname;
rev = "v${version}";
sha256 = "sha256-j1YYzyOLuH+COBDXJUpkUx8H2K8F5tC5LB8ysZKi6oI=";
};
propagatedBuildInputs = [
noiseprotocol
protobuf
zeroconf
];
checkInputs = [
mock
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [
"aioesphomeapi"
];
meta = with lib; {
description = "Python Client for ESPHome native API";
homepage = "https://github.com/esphome/aioesphomeapi";
license = licenses.mit;
maintainers = with maintainers; [ fab hexa ];
};
}

View file

@ -0,0 +1,35 @@
{ buildPythonPackage
, fetchPypi
, lib
, pythonOlder
# Python dependencies
, uvloop
, pytest
}:
buildPythonPackage rec {
pname = "aioextensions";
version = "21.7.2261349";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "2eacc52692495f331437e8c8e9782ca71f4617ec84f174ca17acdd77631efc47";
};
propagatedBuildInputs = [ uvloop ];
checkInputs = [ pytest ];
checkPhase = ''
cd test/
pytest
'';
meta = with lib; {
description = "High performance functions to work with the async IO";
homepage = "https://kamadorueda.github.io/aioextensions";
license = licenses.mit;
maintainers = with maintainers; [ kamadorueda ];
};
}

View file

@ -0,0 +1,54 @@
{ stdenv
, lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytest-asyncio
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiofiles";
version = "0.8.0";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "Tinche";
repo = pname;
rev = "v${version}";
sha256 = "sha256-V7F+xalFGMgTgT30Gmd9FVV3cPndI/i9cB5vEuW/KVc=";
};
nativeBuildInputs = [
poetry-core
];
checkInputs = [
pytest-asyncio
pytestCheckHook
];
disabledTests = lib.optionals stdenv.isDarwin [
"test_sendfile_file"
# require loopback networking:
"test_sendfile_socket"
"test_serve_small_bin_file_sync"
"test_serve_small_bin_file"
"test_slow_file"
];
pythonImportsCheck = [
"aiofiles"
];
meta = {
description = "File support for asyncio";
homepage = "https://github.com/Tinche/aiofiles";
license = with lib.licenses; [ asl20 ];
maintainers = with lib.maintainers; [ fridh ];
};
}

View file

@ -0,0 +1,52 @@
{ lib
, aiohttp
, aresponses
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytest-aiohttp
, pytest-asyncio
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "aioflo";
version = "2021.11.0";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "bachya";
repo = pname;
rev = version;
sha256 = "sha256-7NrOoc1gi8YzZaKvCnHnzAKPlMnMhqxjdyZGN5H/8TQ=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
];
checkInputs = [
aresponses
pytest-aiohttp
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [
"aioflo"
];
meta = with lib; {
description = "Python library for Flo by Moen Smart Water Detectors";
homepage = "https://github.com/bachya/aioflo";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,51 @@
{ lib
, stdenv
, async-timeout
, buildPythonPackage
, fetchPypi
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, siosocks
, trustme
}:
buildPythonPackage rec {
pname = "aioftp";
version = "0.21.2";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-JWzeBdCPXLYMmKkvCqQQF/mHoRbdRvj0vKVF4+D8LSI=";
};
propagatedBuildInputs = [
siosocks
];
checkInputs = [
async-timeout
pytest-asyncio
pytestCheckHook
trustme
];
disabledTests = lib.optionals stdenv.isDarwin [
# uses 127.0.0.2, which macos doesn't like
"test_pasv_connection_pasv_forced_response_address"
];
pythonImportsCheck = [
"aioftp"
];
meta = with lib; {
description = "Python FTP client/server for asyncio";
homepage = "https://github.com/aio-libs/aioftp";
license = licenses.asl20;
maintainers = with maintainers; [ costrouc ];
};
}

View file

@ -0,0 +1,61 @@
{ lib
, aiohttp
, aresponses
, async-timeout
, backoff
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytest-asyncio
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiogithubapi";
version = "22.3.1";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "ludeeus";
repo = pname;
rev = version;
hash = "sha256-5gKANZtDhIoyfyLdS15JDWTxHBFkaHDUlbVVhRs7MSE=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
async-timeout
backoff
];
checkInputs = [
aresponses
pytest-asyncio
pytestCheckHook
];
postPatch = ''
# Upstream is releasing with the help of a CI to PyPI, GitHub releases
# are not in their focus
substituteInPlace pyproject.toml \
--replace 'version="main",' 'version="${version}",'
'';
pythonImportsCheck = [
"aiogithubapi"
];
meta = with lib; {
description = "Python client for the GitHub API";
homepage = "https://github.com/ludeeus/aiogithubapi";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

Some files were not shown because too many files have changed in this diff Show more