Merge master into staging-next

This commit is contained in:
Frederik Rietdijk
2020-11-09 14:33:52 +01:00
313 changed files with 7523 additions and 7431 deletions

View File

@@ -11,12 +11,12 @@
buildPythonPackage rec {
pname = "aioresponses";
version = "0.6.4";
version = "0.7.1";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
sha256 = "4397ca736238a1ada8c7f47e557dda05e9ecfdd467b9f6b83871efd365af7e9f";
sha256 = "f65bba2be1e9a4997ee166bc0161a50be0fef7350ad09e6afdb2adccf74dfefe";
};
nativeBuildInputs = [

View File

@@ -9,11 +9,11 @@
buildPythonPackage rec {
pname = "blis";
version = "0.7.1";
version = "0.7.2";
src = fetchPypi {
inherit pname version;
sha256 = "014771a0f753a64ef5610c5b3d4a090b263073bdd59b8ad0d872ce1e06e7315a";
sha256 = "c14fb9ec3f5ed7c4940c132c7691469ac5d3e302891d95e935623bf1d4e17fbb";
};
nativeBuildInputs = [

View File

@@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, smbus-cffi
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "bme680";
version = "1.0.5";
src = fetchFromGitHub {
owner = "pimoroni";
repo = "bme680-python";
rev = "v${version}";
sha256 = "sha256-oIXh1JnGTI/Cj4MQFpWq+sWR2X+ioCsK0Q+T7wPITCQ=";
};
propagatedBuildInputs = [ smbus-cffi ];
preBuild = ''
cd library
'';
checkInputs = [ pytestCheckHook ];
# next release will have tests, but not the current one
doCheck = false;
pythonImportsCheck = [ "bme680" ];
meta = with lib; {
description = "Python library for driving the Pimoroni BME680 Breakout";
homepage = "https://github.com/pimoroni/bme680-python";
license = licenses.mit;
maintainers = with maintainers; [ mic92 ];
};
}

View File

@@ -0,0 +1,29 @@
{ stdenv, fetchPypi, buildPythonPackage
, click, pytest
}:
buildPythonPackage rec {
pname = "click-help-colors";
version = "0.8";
src = fetchPypi {
inherit pname version;
sha256 = "EZ5fr2nPyRnJlcWWIyasj9h/EeVqNxr1lOPf2EWPTG4=";
};
propagatedBuildInputs = [ click ];
# tries to use /homeless-shelter to mimic container usage, etc
#doCheck = false;
checkInputs = [ pytest ];
pythonImportsCheck = [ "click_help_colors" ];
meta = with stdenv.lib; {
description = "Colorization of help messages in Click";
homepage = "https://github.com/r-m-n/click-help-colors";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ freezeboy ];
};
}

View File

@@ -3,12 +3,12 @@
buildPythonPackage rec {
pname = "deepmerge";
version = "0.1.0";
version = "0.1.1";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "0d1ab9lxwymqxxd58j50id1wib48xym3ss5xw172i2jfwwwzfdrx";
sha256 = "07rcz699fr0jgx6i6fvh8dxa72j7745inix760nw3g46jwk487gs";
};
propagatedBuildInputs = [

View File

@@ -1,59 +0,0 @@
{ stdenv, lib, buildPythonPackage, fetchPypi, python, isPy27
, dotnet-sdk
, substituteAll
, distro
, unzip
}:
buildPythonPackage rec {
pname = "dotnetcore2";
version = "2.1.14";
format = "wheel";
disabled = isPy27;
src = fetchPypi {
inherit pname version format;
python = "py3";
platform = "manylinux1_x86_64";
sha256 = "0dxp9a73ncjylc09bjwq81fgj5ysk1yi27l8ka5f98121k1kmn6q";
};
nativeBuildInputs = [ unzip ];
propagatedBuildInputs = [ distro ];
# needed to apply patches
prePatch = ''
unzip dist/dotnet*
'';
patches = [
( substituteAll {
src = ./runtime.patch;
dotnet = dotnet-sdk;
}
)
];
# remove bin, which has a broken dotnetcore installation
installPhase = ''
rm -rf dotnetcore2/bin
mkdir -p $out/${python.sitePackages}/
cp -r dotnetcore2 $out/${python.sitePackages}/
'';
# no tests, ensure it's one useful function works
checkPhase = ''
rm -r dotnetcore2 # avoid importing local directory
export PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
${python.interpreter} -c 'from dotnetcore2 import runtime; print(runtime.get_runtime_path()); runtime.ensure_dependencies()'
'';
meta = with lib; {
description = "DotNet Core runtime";
homepage = "https://github.com/dotnet/core";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ jonringer ];
};
}

View File

@@ -1,22 +0,0 @@
diff --git a/dotnetcore2/runtime.py b/dotnetcore2/runtime.py
index 475e2b4..5b578ec 100644
--- a/dotnetcore2/runtime.py
+++ b/dotnetcore2/runtime.py
@@ -41,6 +41,7 @@ def _get_bin_folder() -> str:
def get_runtime_path():
+ return "@dotnet@/dotnet"
search_string = os.path.join(_get_bin_folder(), 'dotnet*')
matches = [f for f in glob.glob(search_string, recursive=True)]
return matches[0]
@@ -96,8 +97,7 @@ class _FileLock():
def ensure_dependencies() -> Optional[str]:
- if dist is None:
- return None
+ return None
bin_folder = _get_bin_folder()
deps_path = os.path.join(bin_folder, 'deps')

View File

@@ -3,12 +3,12 @@
}:
buildPythonPackage rec {
version = "1.5.0";
version = "1.8.0";
pname = "Flask-Compress";
src = fetchPypi {
inherit pname version;
sha256 = "f367b2b46003dd62be34f7fb1379938032656dca56377a9bc90e7188e4289a7c";
sha256 = "c132590e7c948877a96d675c13cbfa64edec0faafa2381678dea6f36aa49a552";
};
propagatedBuildInputs = [ flask brotli ];

View File

@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "flask-paginate";
version = "0.5.4";
version = "0.7.1";
src = fetchPypi {
inherit pname version;
sha256 = "60079a1c4c600cb4d4a9f7c386ea357b5ee02355ae6d6e8b41f769ae3f7af3ad";
sha256 = "949b93d0535d1223b91ac0048586bd878aaebf4044c54c1dc3068acc9bdf441f";
};
propagatedBuildInputs = [ flask ];

View File

@@ -0,0 +1,22 @@
{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
, google_api_core, libcst, mock, proto-plus, pytest-asyncio }:
buildPythonPackage rec {
pname = "google-cloud-iam";
version = "2.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "1zxsx5avs8njiyw32zvsx2yblmmiwxy771x334hbgmy0aqms4lak";
};
propagatedBuildInputs = [ google_api_core libcst proto-plus ];
checkInputs = [ mock pytestCheckHook pytest-asyncio ];
meta = with lib; {
description = "Google Cloud IAM API client library";
homepage = "https://github.com/googleapis/python-iam";
license = licenses.asl20;
maintainers = with maintainers; [ austinbutler ];
};
}

View File

@@ -1,32 +1,27 @@
{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy27
, google_auth, protobuf, googleapis_common_protos, requests, setuptools, grpcio
, mock
}:
{ lib, buildPythonPackage, fetchPypi, pythonOlder, google_auth, protobuf
, googleapis_common_protos, requests, grpcio, mock, pytest, pytest-asyncio, pytestCheckHook }:
buildPythonPackage rec {
pname = "google-api-core";
version = "1.22.1";
disabled = isPy27; # google namespace no longer works on python2
version = "1.22.4";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
sha256 = "35cba563034d668ae90ffe1f03193a84e745b38f09592f60258358b5e5ee6238";
sha256 = "06pck3hwl1pks26q843hv6pxchby9viab05mxf72k7ksab17m7aa";
};
propagatedBuildInputs = [
googleapis_common_protos protobuf
google_auth requests setuptools grpcio
];
propagatedBuildInputs =
[ googleapis_common_protos protobuf google_auth requests grpcio ];
# requires nox
doCheck = false;
checkInputs = [ mock ];
checkInputs = [ google_auth mock protobuf pytest-asyncio pytestCheckHook ];
pythonImportsCheck = [
"google.auth"
"google.protobuf"
"google.api"
];
# prevent google directory from shadowing google imports
preCheck = ''
rm -r google
'';
pythonImportsCheck = [ "google.auth" "google.protobuf" "google.api" ];
meta = with lib; {
description = "Core Library for Google Client Libraries";
@@ -35,7 +30,8 @@ buildPythonPackage rec {
helpers used by all Google API clients.
'';
homepage = "https://github.com/googleapis/python-api-core";
changelog = "https://github.com/googleapis/python-api-core/blob/v${version}/CHANGELOG.md";
changelog =
"https://github.com/googleapis/python-api-core/blob/v${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};

View File

@@ -1,29 +1,19 @@
{ stdenv, buildPythonPackage, fetchpatch, fetchPypi
, cachetools
, flask
, freezegun
, mock
, oauth2client
, pyasn1-modules
, pytest
, pytest-localserver
, requests
, responses
, rsa
, setuptools
, six
, urllib3
}:
{ stdenv, buildPythonPackage, fetchpatch, fetchPypi, pythonOlder
, pytestCheckHook, cachetools, flask, freezegun, mock, oauth2client
, pyasn1-modules, pytest, pytest-localserver, requests, responses, rsa
, setuptools, six, urllib3 }:
buildPythonPackage rec {
pname = "google-auth";
version = "1.20.1";
version = "1.22.1";
src = fetchPypi {
inherit pname version;
sha256 = "2f34dd810090d0d4c9d5787c4ad7b4413d1fbfb941e13682c7a2298d3b6cdcc8";
sha256 = "1fs448jcx2cbpk0nq3picndfryjsakmd9allggvh7mrqjiw723ww";
};
disabled = pythonOlder "3.5";
propagatedBuildInputs = [ six pyasn1-modules cachetools rsa setuptools ];
checkInputs = [
@@ -31,17 +21,13 @@ buildPythonPackage rec {
freezegun
mock
oauth2client
pytest
pytestCheckHook
pytest-localserver
requests
responses
urllib3
];
checkPhase = ''
py.test
'';
meta = with stdenv.lib; {
description = "Google Auth Python Library";
longDescription = ''
@@ -49,7 +35,8 @@ buildPythonPackage rec {
authentication mechanisms to access Google APIs.
'';
homepage = "https://github.com/googleapis/google-auth-library-python";
changelog = "https://github.com/googleapis/google-auth-library-python/blob/v${version}/CHANGELOG.md";
changelog =
"https://github.com/googleapis/google-auth-library-python/blob/v${version}/CHANGELOG.md";
# Documentation: https://googleapis.dev/python/google-auth/latest/index.html
license = licenses.asl20;
maintainers = with maintainers; [ ];

View File

@@ -1,34 +1,38 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, enum34
, google_api_core
, google_cloud_storage
, pandas
, pytest
, mock
}:
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytestCheckHook, libcst
, google_api_core, google_cloud_storage, google_cloud_testutils, pandas
, proto-plus, pytest-asyncio, mock }:
buildPythonPackage rec {
pname = "google-cloud-automl";
version = "1.0.1";
version = "2.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "f08abe78d37fb94a3748aa43e66dae2bad52f991cc7740501a341bc6f6387fd5";
sha256 = "16hr1i2771z4yh19xg6kk037h9cv5j64q5bxb9nmkvj12hdwbwgv";
};
checkInputs = [ pandas pytest mock google_cloud_storage ];
propagatedBuildInputs = [ enum34 google_api_core ];
disabled = pythonOlder "3.6";
checkInputs = [
google_cloud_storage
google_cloud_testutils
mock
pandas
pytest-asyncio
pytestCheckHook
];
propagatedBuildInputs = [ google_api_core libcst proto-plus ];
# ignore tests which need credentials
checkPhase = ''
pytest tests/unit -k 'not upload and not prediction_client_client_info'
disabledTests = [ "test_prediction_client_client_info" ];
preCheck = ''
rm -r google
rm tests/system/gapic/v1beta1/test_system_tables_client_v1.py
'';
meta = with stdenv.lib; {
description = "Cloud AutoML API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-automl";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,42 +1,46 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, freezegun
, google_resumable_media
, google_api_core
, google_cloud_core
, pandas
, pyarrow
, pytest
, mock
, ipython
}:
{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder, freezegun
, google_api_core, google_cloud_core, google_cloud_testutils
, google_resumable_media, grpcio, ipython, mock, pandas, proto-plus, pyarrow }:
buildPythonPackage rec {
pname = "google-cloud-bigquery";
version = "1.26.1";
version = "2.1.0";
src = fetchPypi {
inherit pname version;
sha256 = "51c29b95d460486d9e0210f63e8193691cd08480b69775270e84dd3db87c1bf2";
sha256 = "0x5g6n151rcdgq4s80f71zpsl7bsvyyrs07l58psdpyd3kwf4sbk";
};
checkInputs = [ pytest mock ipython freezegun ];
propagatedBuildInputs = [ google_resumable_media google_api_core google_cloud_core pandas pyarrow ];
disabled = pythonOlder "3.6";
# prevent local directory from shadowing google imports
# call_api_applying_custom_retry_on_timeout requires credentials
checkInputs =
[ freezegun google_cloud_testutils ipython mock pytestCheckHook ];
propagatedBuildInputs = [
google_resumable_media
google_api_core
google_cloud_core
pandas
proto-plus
pyarrow
];
# prevent google directory from shadowing google imports
# test_magics requires modifying sys.path
checkPhase = ''
preCheck = ''
rm -r google
pytest tests/unit \
-k 'not call_api_applying_custom_retry_on_timeout' \
--ignore=tests/unit/test_magics.py
rm tests/unit/test_magics.py
'';
# call_api_applying_custom_retry_on_timeout requires credentials
# to_dataframe_timestamp_out_of_pyarrow_bounds has inconsistent results
disabledTests = [
"call_api_applying_custom_retry_on_timeout"
"to_dataframe_timestamp_out_of_pyarrow_bounds"
];
meta = with stdenv.lib; {
description = "Google BigQuery API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://pypi.org/project/google-cloud-bigquery";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,23 +1,20 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, google_api_core
, grpc_google_iam_v1
, pytest
, mock
}:
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, google_api_core
, grpc_google_iam_v1, libcst, mock, proto-plus, pytest, pytest-asyncio }:
buildPythonPackage rec {
pname = "google-cloud-container";
version = "2.0.1";
version = "2.1.0";
src = fetchPypi {
inherit pname version;
sha256 = "6f714e3d427e2b36d1365fc400f4d379972529fb40f798d9c0e06c7c3418fc89";
sha256 = "07rcq4c49zfaacyn5df62bs7qjf5hpmdm9mpb6nx510lylq0507x";
};
checkInputs = [ pytest mock ];
propagatedBuildInputs = [ google_api_core grpc_google_iam_v1 ];
disabled = pythonOlder "3.6";
checkInputs = [ mock pytest pytest-asyncio ];
propagatedBuildInputs =
[ google_api_core grpc_google_iam_v1 libcst proto-plus ];
checkPhase = ''
pytest tests/unit
@@ -25,7 +22,7 @@ buildPythonPackage rec {
meta = with stdenv.lib; {
description = "Google Container Engine API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-container";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,26 +1,30 @@
{ stdenv, buildPythonPackage, fetchPypi, python
, google_api_core, grpcio, pytest, mock, setuptools }:
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytestCheckHook, python
, google_api_core, grpcio, mock }:
buildPythonPackage rec {
pname = "google-cloud-core";
version = "1.4.1";
version = "1.4.3";
src = fetchPypi {
inherit pname version;
sha256 = "613e56f164b6bee487dd34f606083a0130f66f42f7b10f99730afdf1630df507";
sha256 = "103bgv9d6fw01vbbdx0qxa5gqdzxqmiwlpdvibmqxkhb3c6bgbr1";
};
propagatedBuildInputs = [ google_api_core grpcio setuptools ];
checkInputs = [ pytest mock ];
disabled = pythonOlder "3.5";
checkPhase = ''
cd tests
${python.interpreter} -m unittest discover
propagatedBuildInputs = [ google_api_core grpcio ];
checkInputs = [ google_api_core mock pytestCheckHook ];
pythonImportsCheck = [ "google.cloud" ];
# prevent google directory from shadowing google imports
preCheck = ''
rm -r google
'';
meta = with stdenv.lib; {
description = "API Client library for Google Cloud: Core Helpers";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-cloud-core";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};

View File

@@ -1,31 +1,31 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, google_cloud_logging
, pytest
, mock
}:
{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
, google_cloud_logging, google_cloud_testutils, libcst, mock, proto-plus
, pytest-asyncio }:
buildPythonPackage rec {
pname = "google-cloud-error-reporting";
version = "0.34.0";
version = "1.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "34edd11601b17c87a89c2e1cefdc27d975e1e9243a88ba3c0c48bfe6a05c404f";
sha256 = "1y5vkkg1cmzshj5j68zk1876857z8a7sjm0wqhf4rzgqgkr2kcdd";
};
checkInputs = [ pytest mock ];
propagatedBuildInputs = [ google_cloud_logging ];
disabled = pythonOlder "3.6";
checkPhase = ''
checkInputs = [ google_cloud_testutils mock pytestCheckHook pytest-asyncio ];
propagatedBuildInputs = [ google_cloud_logging libcst proto-plus ];
# Disable tests that require credentials
disabledTests = [ "test_report_error_event" "test_report_exception" ];
# prevent google directory from shadowing google imports
preCheck = ''
rm -r google
pytest tests/unit
'';
meta = with stdenv.lib; {
description = "Stackdriver Error Reporting API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-error-reporting";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,32 +1,28 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, enum34
, grpc_google_iam_v1
, google_api_core
, pytest
, mock
{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
, grpc_google_iam_v1, google_api_core, libcst, mock, proto-plus, pytest-asyncio
}:
buildPythonPackage rec {
pname = "google-cloud-kms";
version = "2.0.1";
version = "2.2.0";
src = fetchPypi {
inherit pname version;
sha256 = "c590a8ab12a3f776ab35e570d21c0881f9d73c444bd509e54321a4c715233372";
sha256 = "0f3k2ixp1zsgydpvkj75bs2mb805389snyw30hn41c38qq5ksdga";
};
checkInputs = [ pytest mock ];
propagatedBuildInputs = [ enum34 grpc_google_iam_v1 google_api_core ];
disabled = pythonOlder "3.6";
checkPhase = ''
pytest tests/unit
'';
checkInputs = [ mock pytestCheckHook pytest-asyncio ];
propagatedBuildInputs =
[ grpc_google_iam_v1 google_api_core libcst proto-plus ];
# Disable tests that need credentials
disabledTests = [ "test_list_global_key_rings" ];
meta = with stdenv.lib; {
description = "Cloud Key Management Service (KMS) API API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-kms";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,14 +1,6 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, google_api_core
, google_cloud_core
, pytest
, mock
, webapp2
, django
, flask
}:
{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder, django
, flask, google_api_core, google_cloud_core, google_cloud_testutils, mock
, webapp2 }:
buildPythonPackage rec {
pname = "google-cloud-logging";
@@ -19,17 +11,27 @@ buildPythonPackage rec {
sha256 = "cb0d4af9d684eb8a416f14c39d9fa6314be3adf41db2dd8ee8e30db9e8853d90";
};
checkInputs = [ pytest mock webapp2 django flask ];
disabled = pythonOlder "3.5";
checkInputs =
[ django flask google_cloud_testutils mock pytestCheckHook webapp2 ];
propagatedBuildInputs = [ google_api_core google_cloud_core ];
checkPhase = ''
# api_url test broken, fix not yet released
# https://github.com/googleapis/python-logging/pull/66
disabledTests =
[ "test_build_api_url_w_custom_endpoint" "test_write_log_entries" ];
# prevent google directory from shadowing google imports
# remove system integration tests
preCheck = ''
rm -r google
pytest tests/unit
rm tests/system/test_system.py
'';
meta = with stdenv.lib; {
description = "Stackdriver Logging API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-logging";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,36 +1,34 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, enum34
, grpc_google_iam_v1
, google_api_core
, pytest
, mock
}:
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytestCheckHook
, google_api_core, google_cloud_testutils, grpc_google_iam_v1, libcst, mock
, proto-plus, pytest-asyncio }:
buildPythonPackage rec {
pname = "google-cloud-pubsub";
version = "1.7.0";
version = "2.1.0";
src = fetchPypi {
inherit pname version;
sha256 = "c8d098ebd208d00c8f3bb55eefecd8553e7391d59700426a97d35125f0dcb248";
sha256 = "0358g5q4igq1pgy8dznbbkc6y7zf36y4m81hhh8hvzzhaa37vc22";
};
checkInputs = [ pytest mock ];
propagatedBuildInputs = [ enum34 grpc_google_iam_v1 google_api_core ];
disabled = pythonOlder "3.6";
# tests don't clean up file descriptors correctly
doCheck = false;
checkPhase = ''
pytest tests/unit
checkInputs = [ google_cloud_testutils mock pytestCheckHook pytest-asyncio ];
propagatedBuildInputs =
[ grpc_google_iam_v1 google_api_core libcst proto-plus ];
# prevent google directory from shadowing google imports
# Tests in pubsub_v1 attempt to contact pubsub.googleapis.com
preCheck = ''
rm -r google
rm -r tests/unit/pubsub_v1
'';
pythonImportsCheck = [ "google.cloud.pubsub" ];
meta = with stdenv.lib; {
description = "Google Cloud Pub/Sub API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://pypi.org/project/google-cloud-pubsub";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,11 +1,5 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, google_cloud_core
, google_api_core
, pytest
, mock
}:
{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
, google_cloud_core, google_api_core, mock, pytest }:
buildPythonPackage rec {
pname = "google-cloud-resource-manager";
@@ -16,17 +10,24 @@ buildPythonPackage rec {
sha256 = "de7eba5235df61deee2291a2fe70b904154df613a334109488afdea7a4c0011f";
};
checkInputs = [ pytest mock ];
propagatedBuildInputs = [ google_cloud_core google_api_core ];
disabled = pythonOlder "3.5";
checkPhase = ''
checkInputs = [ mock pytestCheckHook ];
propagatedBuildInputs = [ google_api_core google_cloud_core ];
# api_url test broken, fix not yet released
# https://github.com/googleapis/python-resource-manager/pull/31
disabledTests =
[ "api_url_no_extra_query_param" "api_url_w_custom_endpoint" ];
# prevent google directory from shadowing google imports
preCheck = ''
rm -r google
pytest tests/unit
'';
meta = with stdenv.lib; {
description = "Google Cloud Resource Manager API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-resource-manager";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,11 +1,5 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, google_api_core
, google_cloud_core
, pytest
, mock
}:
{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
, google_api_core, google_cloud_core, mock }:
buildPythonPackage rec {
pname = "google-cloud-runtimeconfig";
@@ -16,18 +10,24 @@ buildPythonPackage rec {
sha256 = "3d125c01817d5bef2b644095b044d22b03b9d8d4591088cadd8e97851f7a150a";
};
checkInputs = [ pytest mock ];
disabled = pythonOlder "3.5";
checkInputs = [ mock pytestCheckHook ];
propagatedBuildInputs = [ google_api_core google_cloud_core ];
# ignore tests which require credentials or network
checkPhase = ''
# api_url test broken, fix not yet released
# https://github.com/googleapis/python-resource-manager/pull/31
# Client tests require credentials
disabledTests = [ "build_api_url_w_custom_endpoint" "client_options" ];
# prevent google directory from shadowing google imports
preCheck = ''
rm -r google
pytest tests/unit -k 'not client and not extra_headers'
'';
meta = with stdenv.lib; {
description = "Google Cloud RuntimeConfig API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://pypi.org/project/google-cloud-runtimeconfig";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,35 +1,32 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, grpc_google_iam_v1
, grpcio-gcp
, google_api_core
, google_cloud_core
, pytest
, mock
}:
{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
, grpc_google_iam_v1, grpcio-gcp, google_api_core, google_cloud_core
, google_cloud_testutils, mock, pytest }:
buildPythonPackage rec {
pname = "google-cloud-spanner";
version = "1.17.1";
version = "1.19.1";
src = fetchPypi {
inherit pname version;
sha256 = "3240a04eaa6496e9d8bf4929f4ff04de1652621fd49555eb83b743c48ed9ca04";
sha256 = "0b9ifh9i4hkcs19b4l6v8j8v93yd8p3j19qrrjvvf5a44bc7bhsh";
};
checkInputs = [ pytest mock ];
propagatedBuildInputs = [ grpcio-gcp grpc_google_iam_v1 google_api_core google_cloud_core ];
disabled = pythonOlder "3.5";
# avoid importing local package
checkPhase = ''
checkInputs = [ google_cloud_testutils mock pytestCheckHook ];
propagatedBuildInputs =
[ grpcio-gcp grpc_google_iam_v1 google_api_core google_cloud_core ];
# prevent google directory from shadowing google imports
# remove tests that require credentials
preCheck = ''
rm -r google
pytest tests/unit
rm tests/system/test_system.py
'';
meta = with stdenv.lib; {
description = "Cloud Spanner API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://pypi.org/project/google-cloud-spanner";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,13 +1,7 @@
{ lib
, buildPythonPackage
, fetchPypi
, google_resumable_media
, google_api_core
, google_cloud_core
, pytest
, mock
, setuptools
}:
{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
, google_api_core, google_auth, google-cloud-iam, google_cloud_core
, google_cloud_kms, google_cloud_testutils, google_resumable_media, mock
, requests }:
buildPythonPackage rec {
pname = "google-cloud-storage";
@@ -18,27 +12,36 @@ buildPythonPackage rec {
sha256 = "da12b7bd79bbe978a7945a44b600604fbc10ece2935d31f243e751f99135e34f";
};
disabled = pythonOlder "3.5";
propagatedBuildInputs = [
google_api_core
google_auth
google_cloud_core
google_resumable_media
setuptools
requests
];
checkInputs = [
google-cloud-iam
google_cloud_kms
google_cloud_testutils
mock
pytest
pytestCheckHook
];
# remove directory from interferring with importing modules
# ignore tests which require credentials
checkPhase = ''
# disable tests which require credentials
disabledTests = [ "create" "get" "post" "test_build_api_url" ];
# prevent google directory from shadowing google imports
# remove tests which require credentials
preCheck = ''
rm -r google
pytest tests/unit -k 'not (create or get or post)'
rm tests/system/test_system.py tests/unit/test_client.py
'';
meta = with lib; {
description = "Google Cloud Storage API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-storage";
license = licenses.asl20;
maintainers = with maintainers; [ costrouc ];
};

View File

@@ -1,34 +1,22 @@
{ stdenv
, buildPythonPackage
, fetchFromGitHub
, six
, google_auth
}:
{ stdenv, buildPythonPackage, fetchPypi, google_auth, pytest, six }:
buildPythonPackage {
buildPythonPackage rec {
pname = "google-cloud-testutils";
version = "unstable-36ffa923c7037e8b4fdcaa76272cb6267e908a9d";
version = "0.1.0";
# google-cloud-testutils is not "really"
# released as a python package
# but it is required for google-cloud-* tests
# so why not package it as a module
src = fetchFromGitHub {
owner = "googleapis";
repo = "google-cloud-python";
rev = "36ffa923c7037e8b4fdcaa76272cb6267e908a9d";
sha256 = "1fvcnssmpgf4lfr7l9h7cz984rbc5mfr1j1br12japcib5biwzjy";
src = fetchPypi {
inherit pname version;
sha256 = "1bn1pz00lxym3vkl6l45b3nydpmfdvmylwggh2lspldrxwx39a0k";
};
propagatedBuildInputs = [ six google_auth ];
propagatedBuildInputs = [ google_auth six ];
postPatch = ''
cd test_utils
'';
# There are no tests
doCheck = false;
meta = with stdenv.lib; {
description = "System test utilities for google-cloud-python";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-test-utils";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,10 +1,5 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, google_api_core
, pytest
, mock
}:
{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
, google_api_core, libcst, mock, proto-plus, pytest-asyncio, }:
buildPythonPackage rec {
pname = "google-cloud-texttospeech";
@@ -15,16 +10,17 @@ buildPythonPackage rec {
sha256 = "cbbd397e72b6189668134f3c8e8c303198188334a4e6a5f77cc90c3220772f9e";
};
checkInputs = [ pytest mock ];
propagatedBuildInputs = [ google_api_core ];
disabled = pythonOlder "3.5";
checkPhase = ''
pytest tests/unit
'';
checkInputs = [ mock pytest-asyncio pytestCheckHook ];
propagatedBuildInputs = [ google_api_core libcst proto-plus ];
# Disable tests that require credentials
disabledTests = ["test_synthesize_speech" "test_list_voices"];
meta = with stdenv.lib; {
description = "Google Cloud Text-to-Speech API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-texttospeech";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,12 +1,6 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, google_api_core
, google_cloud_core
, grpcio
, pytest
, mock
}:
{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
, google_api_core, google_cloud_core, google_cloud_testutils, grpcio, libcst
, mock, proto-plus, pytest-asyncio }:
buildPythonPackage rec {
pname = "google-cloud-translate";
@@ -17,18 +11,29 @@ buildPythonPackage rec {
sha256 = "ecdea3e176e80f606d08c4c7fd5acea6b3dd960f4b2e9a65951aaf800350a759";
};
# google_cloud_core[grpc] -> grpcio
propagatedBuildInputs = [ google_api_core google_cloud_core grpcio ];
disabled = pythonOlder "3.6";
checkInputs = [ pytest mock ];
checkPhase = ''
cd tests # prevent local google/__init__.py from getting loaded
pytest unit -k 'not extra_headers'
# google_cloud_core[grpc] -> grpcio
propagatedBuildInputs =
[ google_api_core google_cloud_core grpcio libcst proto-plus ];
checkInputs = [ google_cloud_testutils mock pytest-asyncio pytestCheckHook ];
# test_http.py broken, fix not yet released
# https://github.com/googleapis/python-translate/pull/69
disabledTests = [
"test_build_api_url_w_extra_query_params"
"test_build_api_url_no_extra_query_params"
"test_build_api_url_w_custom_endpoint"
];
preCheck = ''
rm -r google
'';
meta = with stdenv.lib; {
description = "Google Cloud Translation API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-translate";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -1,10 +1,5 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, google_api_core
, pytest
, mock
}:
{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
, google_api_core, libcst, mock, proto-plus, pytest-asyncio }:
buildPythonPackage rec {
pname = "google-cloud-websecurityscanner";
@@ -15,16 +10,14 @@ buildPythonPackage rec {
sha256 = "1de60f880487b898b499345f46f7acf38651f5356ebca8673116003a57f25393";
};
checkInputs = [ pytest mock ];
propagatedBuildInputs = [ google_api_core ];
disabled = pythonOlder "3.6";
checkPhase = ''
pytest tests/unit
'';
checkInputs = [ mock pytest-asyncio pytestCheckHook ];
propagatedBuildInputs = [ google_api_core libcst proto-plus ];
meta = with stdenv.lib; {
description = "Google Cloud Web Security Scanner API client library";
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
homepage = "https://github.com/googleapis/python-websecurityscanner";
license = licenses.asl20;
maintainers = [ maintainers.costrouc ];
};

View File

@@ -0,0 +1,25 @@
{ stdenv, fetchPypi, buildPythonPackage
, hyperopt
}:
buildPythonPackage rec {
pname = "gradient_sdk";
version = "0.0.4";
src = fetchPypi {
inherit pname version;
sha256 = "Q9oeYjjgJf2lhxW1ypsweQAPpMglmW9PxgzMsgTqJkY=";
};
propagatedBuildInputs = [ hyperopt ];
pythonImportsCheck = [ "gradient_sdk" ];
meta = with stdenv.lib; {
description = "Gradient ML SDK";
homepage = "https://github.com/Paperspace/gradient-sdk";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ freezeboy ];
};
}

View File

@@ -0,0 +1,26 @@
{ lib, stdenv, fetchPypi, buildPythonPackage
, boto3, requests, datadog, configparser, python
}:
buildPythonPackage rec {
pname = "gradient_statsd";
version = "1.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "iWlNX43ZtvU73wz4+8DgDulQNOnssJGxTBkvAaLj530=";
};
propagatedBuildInputs = [ requests datadog ]
++ lib.optional python.isPy2 configparser;
pythonImportsCheck = [ "gradient_statsd" ];
meta = with stdenv.lib; {
description = "Wrapper around the DogStatsd client";
homepage = "https://paperspace.com";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ freezeboy ];
};
}

View File

@@ -1,4 +1,4 @@
{ stdenv, buildPythonPackage, fetchPypi, isPy3k
{ stdenv, buildPythonPackage, fetchPypi, isPy3k, setuptools
, transitions, websockets, passlib, docopt, pyyaml, nose }:
buildPythonPackage rec {
@@ -12,7 +12,9 @@ buildPythonPackage rec {
sha256 = "1n9c8yj11npiq9qxivwmfhib1qkjpcyw42a7q0w641bdrz3x6r37";
};
propagatedBuildInputs = [ transitions websockets passlib docopt pyyaml ];
propagatedBuildInputs = [
transitions websockets passlib docopt pyyaml setuptools
];
postPatch = ''
# test tries to bind same port multiple times and fails

View File

@@ -0,0 +1,29 @@
{ stdenv, fetchPypi, buildPythonPackage
, cloudpickle, numpy, future, networkx
, six, tqdm, scipy, pymongo
}:
buildPythonPackage rec {
pname = "hyperopt";
version = "0.1.2";
src = fetchPypi {
inherit pname version;
sha256 = "34xIpivBYUvcN/XMVwBkqTpLgaFlWWIduazuP2U2tlg=";
};
propagatedBuildInputs = [ future cloudpickle numpy networkx six tqdm scipy pymongo ];
# tries to use /homeless-shelter to mimic container usage, etc
doCheck = false;
pythonImportsCheck = [ "hyperopt" ];
meta = with stdenv.lib; {
description = "Distributed Asynchronous Hyperparameter Optimization";
homepage = "http://hyperopt.github.com/hyperopt/";
license = licenses.bsd2;
platforms = platforms.unix;
maintainers = with maintainers; [ freezeboy ];
};
}

View File

@@ -0,0 +1,36 @@
{ lib, buildPythonPackage, fetchFromGitHub
, arrow
, six
, hypothesis
, pytest
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "inform";
version = "1.23";
src = fetchFromGitHub {
owner = "KenKundert";
repo = "inform";
rev = "v${version}";
sha256 = "02zlprvidkz51aypss4knhv7dbr0sbpz3caqjzf9am2n1jx2viyy";
};
propagatedBuildInputs = [ arrow six ];
checkInputs = [ pytest hypothesis ];
checkPhase = "./test.doctests.py && ./test.inform.py && pytest";
meta = with lib; {
description = "Print and logging utilities";
longDescription = ''
Inform is designed to display messages from programs that are typically
run from a console. It provides a collection of print functions that
allow you to simply and cleanly print different types of messages.
'';
homepage = "https://inform.readthedocs.io";
license = licenses.gpl3Only;
maintainers = with maintainers; [ jeremyschlatter ];
};
}

View File

@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "iniconfig";
version = "1.0.1";
version = "1.1.1";
src = fetchPypi {
inherit pname version;
sha256 = "0s9z9n4603fdpv2vzh6ddzfgsjmb09n6qalkjl2xwrss6n4jzyg5";
sha256 = "bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32";
};
doCheck = false; # avoid circular import with pytest
@@ -14,7 +14,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "brain-dead simple parsing of ini files";
homepage = "https://github.com/CHANGE/iniconfig/";
homepage = "https://github.com/RonnyPfannschmidt/iniconfig";
license = licenses.mit;
maintainers = with maintainers; [ jonringer ];
};

View File

@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "libtmux";
version = "0.8.3";
version = "0.8.5";
src = fetchPypi {
inherit pname version;
sha256 = "a4c7379604ccdc684aa865723211184709f9a2b45511772989b5f26ad156650e";
sha256 = "1d35b9f8451944d31c5ed22ed9e6c8e18034adcc75718fcc5b27fbd9621543e1";
};
checkInputs = [ pytest ];

View File

@@ -9,11 +9,11 @@
buildPythonPackage rec {
pname = "msgpack-numpy";
version = "0.4.6.1";
version = "0.4.7.1";
src = fetchPypi {
inherit pname version;
sha256 = "9f9b57abb2b155c2d3e411c2dd5b98f14998bd053a20c6ed0ab64a6ceb8ad51d";
sha256 = "7eaf51acf82d7c467d21aa71df94e1c051b2055e54b755442051b474fa7cf5e1";
};
buildInputs = [

View File

@@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "mypy";
version = "0.782";
version = "0.790";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "030kn709515452n6gy2i1d9fg6fyrkmdz228lfpmbslybsld9xzg";
sha256 = "sha256-KyG6Ra2e8uLriM5K6t0BEtD1AmQYMkF2/UlKaCS3SXU=";
};
propagatedBuildInputs = [ typed-ast psutil mypy-extensions typing-extensions ];

View File

@@ -14,11 +14,11 @@
buildPythonPackage rec {
pname = "nbsmoke";
version = "0.4.1";
version = "0.5.0";
src = fetchPypi {
inherit pname version;
sha256 = "06as8vh17m0nkp3fpkp42m990a5zjfl2iaa17da99ksh7886mjpc";
sha256 = "2400d7878e97714e822ab200a71fc71ede487e671f42b4b411745dba95f9cb32";
};
propagatedBuildInputs = [

View File

@@ -0,0 +1,43 @@
{ lib, buildPythonPackage, fetchFromGitHub
, inform
, pytestCheckHook
, docopt
, natsort
, voluptuous
}:
buildPythonPackage rec {
pname = "nestedtext";
version = "1.2";
src = fetchFromGitHub {
owner = "KenKundert";
repo = "nestedtext";
rev = "v${version}";
fetchSubmodules = true;
sha256 = "1dwks5apghg29aj90nc4qm0chk195jh881297zr1wk7mqd2n159y";
};
propagatedBuildInputs = [ inform ];
checkInputs = [ pytestCheckHook docopt natsort voluptuous ];
pytestFlagsArray = [ "--ignore=build" ]; # Avoids an ImportMismatchError.
meta = with lib; {
description = "A human friendly data format";
longDescription = ''
NestedText is a file format for holding data that is to be entered,
edited, or viewed by people. It allows data to be organized into a nested
collection of dictionaries, lists, and strings. In this way it is similar
to JSON, YAML and TOML, but without the complexity and risk of YAML and
without the syntactic clutter of JSON and TOML. NestedText is both simple
and natural. Only a small number of concepts and rules must be kept in
mind when creating it. It is easily created, modified, or viewed with a
text editor and easily understood and used by both programmers and
non-programmers.
'';
homepage = "https://nestedtext.org";
license = licenses.mit;
maintainers = with maintainers; [ jeremyschlatter ];
};
}

View File

@@ -15,11 +15,11 @@
buildPythonPackage rec {
pname = "nix-prefetch-github";
version = "4.0";
version = "4.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-STUyMUCWAHfDA6dkpiOqSRBL3/tubedUbWa94Kp/764=";
sha256 = "asfRohjOgYxMV/wprKvxUD328GVJQkAYnuAkE09kKgs=";
};
propagatedBuildInputs = [

View File

@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "numpy-stl";
version = "2.11.2";
version = "2.12.0";
src = fetchPypi {
inherit pname version;
sha256 = "1dil1rklb41m3v6a0i93ymimv453whsg1m9z6g0z17jbg7gmc98r";
sha256 = "10912d7749ab02b0ee2ee61fc04c38fa211fc9d00a9b73a7d1c2465c53c1abf5";
};
checkInputs = [ pytest pytestrunner ];

View File

@@ -10,11 +10,11 @@
buildPythonPackage rec {
pname = "objgraph";
version = "3.4.1";
version = "3.5.0";
src = fetchPypi {
inherit pname version;
sha256 = "bf29512d7f8b457b53fa0722ea59f516abb8abc59b78f97f0ef81394a0c615a7";
sha256 = "4752ca5bcc0e0512e41b8cc4d2780ac2fd3b3eabd03b7e950a5594c06203dfc4";
};
# Tests fail with PyPy.

View File

@@ -1,5 +1,7 @@
{ stdenv, fetchPypi, buildPythonPackage
, boto3, requests
, boto3, requests, gradient_statsd, terminaltables
, click-completion , click-didyoumean, click-help-colors
, colorama, requests_toolbelt, gradient_sdk, progressbar2
}:
buildPythonPackage rec {
@@ -11,7 +13,10 @@ buildPythonPackage rec {
sha256 = "7959305128fea6da8ca0cdc528783a89859dacb9b54bf8eb89fd04a518872191";
};
propagatedBuildInputs = [ boto3 requests ];
propagatedBuildInputs = [ boto3 requests gradient_statsd terminaltables
click-completion click-didyoumean click-help-colors requests_toolbelt
colorama gradient_sdk progressbar2
];
# tries to use /homeless-shelter to mimic container usage, etc
doCheck = false;
@@ -22,6 +27,5 @@ buildPythonPackage rec {
license = licenses.isc;
platforms = platforms.unix;
maintainers = with maintainers; [ thoughtpolice ];
broken = true;
};
}

View File

@@ -7,11 +7,11 @@
buildPythonPackage rec {
pname = "param";
version = "1.9.3";
version = "1.10.0";
src = fetchPypi {
inherit pname version;
sha256 = "10crjlsn5vx03xwlnhga9faqq2rlw0qwabi45vnvhmz22qbd8w43";
sha256 = "a284c1b42aff6367e8eea2f649d4f3f70a9f16c6f17d8ad672a31ff36089f995";
};
checkInputs = [ flake8 nose ];

View File

@@ -24,7 +24,7 @@
buildPythonPackage rec {
pname = "poetry";
version = "1.1.1";
version = "1.1.4";
format = "pyproject";
disabled = isPy27;
@@ -32,7 +32,7 @@ buildPythonPackage rec {
owner = "python-poetry";
repo = pname;
rev = version;
sha256 = "1j3ij8qsd709p7ww5r4759f2xnk2s7g40kzm9vx99l98zw890g05";
sha256 = "0lx3qpz5dad0is7ki5a4vxphvc8cm8fnv4bmrx226a6nvvaj6ahs";
};
postPatch = ''

View File

@@ -9,12 +9,12 @@
buildPythonPackage rec {
pname = "proto-plus";
version = "1.10.1";
version = "1.11.0";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "0n8ia51jg2dkab2sf0qnh39bssqhz65ybcqr78f3zzf7ja923lkr";
sha256 = "416a0f13987789333cd8760a0ee998f8eccd6d7165ee9f283d64ca2de3e8774d";
};
propagatedBuildInputs = [ protobuf ];

View File

@@ -6,14 +6,14 @@
buildPythonPackage rec {
pname = "psautohint";
version = "2.1.1";
version = "2.1.2";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "adobe-type-tools";
repo = pname;
sha256 = "00n9bycjmvx1fb4332bdj53f01q86ajndrvid9idpiyzybmd5vp4";
sha256 = "1s2l54gzn11y07zaggprwif7r3ia244qijjhkbvjdx4jsgc5df8n";
rev = "v${version}";
fetchSubmodules = true; # data dir for tests
};

View File

@@ -15,7 +15,7 @@ buildPythonPackage rec {
sha256 = "sha256-O7l1kj0k8bOSOtZJVzS674oVnM+X3oP00Ybs0qjb64Q=";
};
doCheck = stdenv.is64bit;
doCheck = stdenv.is64bit && !stdenv.isDarwin;
checkPhase = ''
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" test/external_tools/readelf

View File

@@ -1,16 +1,18 @@
{ lib, buildPythonPackage, fetchFromGitHub, cmake, python
, libosmium, protozero, boost, expat, bzip2, zlib, pybind11
, nose, shapely, mock, isPy3k }:
, nose, shapely, pythonOlder, isPyPy }:
buildPythonPackage rec {
pname = "pyosmium";
version = "2.15.3";
version = "3.0.1";
disabled = pythonOlder "3.4" || isPyPy;
src = fetchFromGitHub {
owner = "osmcode";
repo = pname;
rev = "v${version}";
sha256 = "1523ym9i4rnwi5kcp7n2lm67kxlhar8xlv91s394ixzwax9bgg7w";
sha256 = "06jngbmmmswhyi5q5bjph6gwss28d2azn5414zf0arik5bcvz128";
};
nativeBuildInputs = [ cmake ];
@@ -18,7 +20,7 @@ buildPythonPackage rec {
preBuild = "cd ..";
checkInputs = [ nose shapely ] ++ lib.optionals (!isPy3k) [ mock ];
checkInputs = [ nose shapely ];
checkPhase = "(cd test && ${python.interpreter} run_tests.py)";

View File

@@ -0,0 +1,84 @@
{ buildPythonPackage
, click
, colorama
, enum34
, fetchPypi
, git
, gnugrep
, gnupg
, nose
, pbr
, pexpect
, pythonAtLeast
, pythonOlder
, stdenv
, substituteAll
, tree
, xclip
}:
# NOTE: pypass can also be used as an application, but probably the most
# important usecase is as a library. So, let's use buildPythonPackage and
# support any Python version instead of defining it as an application with
# buildPythonApplication.
buildPythonPackage rec {
pname = "pypass";
version = "0.2.1";
src = fetchPypi {
inherit pname version;
sha256 = "1nm4mj7pd7gz4ghic6b3wrnd1b59hd1f0axavdabfl79wy511l7r";
};
# Set absolute nix store paths to the executables that pypass uses
patches = [
(substituteAll {
src = ./mark-executables.patch;
git_exec = "${git}/bin/git";
grep_exec = "${gnugrep}/bin/grep";
gpg_exec = "${gnupg}/bin/gpg2";
tree_exec = "${tree}/bin/tree";
xclip_exec = "${xclip}/bin/xclip";
})
];
# Remove enum34 requirement if Python >= 3.4
postPatch = stdenv.lib.optionalString (pythonAtLeast "3.4") ''
substituteInPlace requirements.txt --replace "enum34" ""
'';
nativeBuildInputs = [ pbr ];
propagatedBuildInputs = [
click
colorama
pexpect
] ++ stdenv.lib.optional (pythonOlder "3.4") enum34;
checkInputs = [ nose ];
# Configuration so that the tests work
preCheck = ''
HOME=$TEMP ${git}/bin/git config --global user.email "nix-builder@nixos.org"
HOME=$TEMP ${git}/bin/git config --global user.name "Nix Builder"
HOME=$TEMP ${git}/bin/git config --global pull.ff only
HOME=$TEMP make setup_gpg
'';
# Run tests but exclude the test that uses clipboard as I wasn't able to make
# it work - probably the X clipboard just doesn't work in the build
# environment..
checkPhase = ''
runHook preCheck
HOME=$TEMP GNUPGHOME=pypass/tests/gnupg nosetests -v --exclude=test_show_clip .
runHook postCheck
'';
meta = {
description = "Password manager pass in Python";
homepage = "https://github.com/aviau/python-pass";
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ jluttine ];
};
}

View File

@@ -0,0 +1,255 @@
diff --git a/Makefile b/Makefile
index 1ef67c8..d49031a 100644
--- a/Makefile
+++ b/Makefile
@@ -16,5 +16,5 @@ test: kill build
setup_gpg: pypass/tests/gnupg
pypass/tests/gnupg: pypass/tests/test_key_sec.asc pypass/tests/test_ownertrust.txt
mkdir -m 700 -p pypass/tests/gnupg
- GNUPGHOME=pypass/tests/gnupg gpg --allow-secret-key-import --import pypass/tests/test_key_sec.asc
- GNUPGHOME=pypass/tests/gnupg gpg --import-ownertrust pypass/tests/test_ownertrust.txt
+ GNUPGHOME=pypass/tests/gnupg @gpg_exec@ --allow-secret-key-import --import pypass/tests/test_key_sec.asc
+ GNUPGHOME=pypass/tests/gnupg @gpg_exec@ --import-ownertrust pypass/tests/test_ownertrust.txt
diff --git a/pypass/command.py b/pypass/command.py
index 4616a5f..a72cf5d 100644
--- a/pypass/command.py
+++ b/pypass/command.py
@@ -173,7 +173,7 @@ def show(config, path, clip):
if clip:
xclip = subprocess.Popen(
[
- 'xclip',
+ '@xclip_exec@',
'-selection', 'clipboard'
],
stdin=subprocess.PIPE
@@ -206,7 +206,7 @@ def connect(config, path):
def ls(config, subfolder):
tree = subprocess.Popen(
[
- 'tree',
+ '@tree_exec@',
'-C',
'-l',
'--noreport',
@@ -239,7 +239,7 @@ def find(config, search_terms):
tree = subprocess.Popen(
[
- 'tree',
+ '@tree_exec@',
'-C',
'-l',
'--noreport',
@@ -273,7 +273,7 @@ def grep(config, search_string):
config['password_store'].get_decrypted_password(password)
grep = subprocess.Popen(
- ['grep', '-e', search_string],
+ ['@grep_exec@', '-e', search_string],
stdout=subprocess.PIPE,
stdin=subprocess.PIPE
)
@@ -397,7 +397,7 @@ def git(config, commands):
else:
subprocess.call(
[
- 'git',
+ '@git_exec@',
'--git-dir=%s' % config['password_store'].git_dir,
'--work-tree=%s' % config['password_store'].path,
] + command_list,
diff --git a/pypass/passwordstore.py b/pypass/passwordstore.py
index 9de0376..8cf20a4 100644
--- a/pypass/passwordstore.py
+++ b/pypass/passwordstore.py
@@ -26,18 +26,7 @@ import re
from .entry_type import EntryType
# Find the right gpg binary
-if subprocess.call(
- ['which', 'gpg2'],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE) == 0:
- GPG_BIN = 'gpg2'
-elif subprocess.call(
- ['which', 'gpg'],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE) == 0:
- GPG_BIN = 'gpg'
-else:
- raise Exception("Could not find GPG")
+GPG_BIN = '@gpg_exec@'
class PasswordStore(object):
@@ -215,7 +204,7 @@ class PasswordStore(object):
# Init git repo
subprocess.call(
[
- "git",
+ "@git_exec@",
"--git-dir=%s" % git_dir,
"--work-tree=%s" % git_work_tree,
"init", path
@@ -226,7 +215,7 @@ class PasswordStore(object):
# Add remote repo
subprocess.call(
[
- "git",
+ "@git_exec@",
"--git-dir=%s" % git_dir,
"--work-tree=%s" % git_work_tree,
"remote",
@@ -241,7 +230,7 @@ class PasswordStore(object):
# TODO: add parameters for remote and branch ?
subprocess.call(
[
- "git",
+ "@git_exec@",
"--git-dir=%s" % git_dir,
"--work-tree=%s" % git_work_tree,
"pull",
@@ -272,7 +261,7 @@ class PasswordStore(object):
subprocess.call(
[
- 'git',
+ '@git_exec@',
"--git-dir=%s" % self.git_dir,
"--work-tree=%s" % self.path,
'init',
@@ -298,7 +287,7 @@ class PasswordStore(object):
subprocess.call(
[
- 'git',
+ '@git_exec@',
"--git-dir=%s" % self.git_dir,
"--work-tree=%s" % self.path,
'config',
@@ -311,7 +300,7 @@ class PasswordStore(object):
subprocess.call(
[
- 'git',
+ '@git_exec@',
"--git-dir=%s" % self.git_dir,
"--work-tree=%s" % self.path,
'config',
@@ -326,7 +315,7 @@ class PasswordStore(object):
subprocess.call(
[
- 'git',
+ '@git_exec@',
"--git-dir=%s" % self.git_dir,
"--work-tree=%s" % self.path,
'add',
@@ -338,7 +327,7 @@ class PasswordStore(object):
if message:
subprocess.call(
[
- 'git',
+ '@git_exec@',
"--git-dir=%s" % self.git_dir,
"--work-tree=%s" % self.path,
'commit',
@@ -350,7 +339,7 @@ class PasswordStore(object):
else:
subprocess.call(
[
- 'git',
+ '@git_exec@',
"--git-dir=%s" % self.git_dir,
"--work-tree=%s" % self.path,
'commit'
diff --git a/pypass/tests/test_command.py b/pypass/tests/test_command.py
index 4966b34..960a8ed 100644
--- a/pypass/tests/test_command.py
+++ b/pypass/tests/test_command.py
@@ -127,7 +127,7 @@ class TestCommand(unittest.TestCase):
# Check if the password is in the clipoard
xclip = subprocess.Popen(
- ['xclip', '-o', '-selection', 'clipboard'],
+ ['@xclip_exec@', '-o', '-selection', 'clipboard'],
stdout=subprocess.PIPE)
xclip.wait()
self.assertEqual(xclip.stdout.read().decode('utf8'), 'clipme999')
@@ -301,7 +301,7 @@ class TestCommand(unittest.TestCase):
# git init should set diff.gpg.binary to True
diff_gpg_binary = subprocess.Popen(
[
- 'git',
+ '@git_exec@',
'--git-dir=%s' % os.path.join(self.dir, '.git'),
'--work-tree=%s' % self.dir,
'config',
@@ -317,7 +317,7 @@ class TestCommand(unittest.TestCase):
# git init should set diff.gpg.textconv to 'gpg -d'
gpg = subprocess.Popen(
[
- 'git',
+ '@git_exec@',
'--git-dir=%s' % os.path.join(self.dir, '.git'),
'--work-tree=%s' % self.dir,
'config',
@@ -337,7 +337,7 @@ class TestCommand(unittest.TestCase):
subprocess.Popen(
[
- 'git',
+ '@git_exec@',
'--git-dir=%s' % origin_git_dir,
'--work-tree=%s' % origin_dir,
'init',
@@ -350,7 +350,7 @@ class TestCommand(unittest.TestCase):
subprocess.call(
[
- 'git',
+ '@git_exec@',
'--git-dir=%s' % origin_git_dir,
'--work-tree=%s' % origin_dir,
'add', 'test_git_init_clone.gpg',
@@ -359,7 +359,7 @@ class TestCommand(unittest.TestCase):
subprocess.call(
[
- 'git',
+ '@git_exec@',
'--git-dir=%s' % origin_git_dir,
'--work-tree=%s' % origin_dir,
'commit',
diff --git a/pypass/tests/test_passwordstore.py b/pypass/tests/test_passwordstore.py
index 6decc5f..ceb5181 100644
--- a/pypass/tests/test_passwordstore.py
+++ b/pypass/tests/test_passwordstore.py
@@ -171,7 +171,7 @@ class TestPasswordStore(unittest.TestCase):
subprocess.Popen(
[
- 'git',
+ '@git_exec@',
'--git-dir=%s' % os.path.join(origin_dir, '.git'),
'--work-tree=%s' % origin_dir,
'init',
@@ -184,7 +184,7 @@ class TestPasswordStore(unittest.TestCase):
subprocess.Popen(
[
- 'git',
+ '@git_exec@',
'--git-dir=%s' % os.path.join(origin_dir, '.git'),
'--work-tree=%s' % origin_dir,
'add', 'test_git_init_clone.gpg',
@@ -193,7 +193,7 @@ class TestPasswordStore(unittest.TestCase):
subprocess.Popen(
[
- 'git',
+ '@git_exec@',
'--git-dir=%s' % os.path.join(origin_dir, '.git'),
'--work-tree=%s' % origin_dir,
'commit',

View File

@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "Pyphen";
version = "0.9.5";
version = "0.10.0";
src = fetchPypi {
inherit pname version;
sha256 = "3b633a50873156d777e1f1075ba4d8e96a6ad0a3ca42aa3ea9a6259f93f18921";
sha256 = "719b21dfb4b04fbc11cc0f6112418535fe35474021120cccfffc43a25fe63128";
};
meta = with stdenv.lib; {

View File

@@ -9,12 +9,12 @@ let
in
buildPythonPackage rec {
version = "1.9.9";
version = "2.0.0";
pname = "pyscard";
src = fetchPypi {
inherit pname version;
sha256 = "082cjkbxadaz2jb4rbhr0mkrirzlqyqhcf3r823qb0q1k50ybgg6";
sha256 = "0yap0p8mp6dx58n3nina6ryhc2cysaj75sq98wf3qybf33cxjr5k";
};
postPatch = if withApplePCSC then ''

View File

@@ -21,14 +21,14 @@
}:
buildPythonPackage rec {
version = "6.1.1";
version = "6.1.2";
pname = "pytest";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "8f593023c1a0f916110285b6efd7f99db07d59546e3d8c36fc60e2ab05d3be92";
sha256 = "c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e";
};
checkInputs = [ hypothesis pygments ];

View File

@@ -2,14 +2,14 @@
buildPythonPackage rec {
pname = "rq";
version = "1.5.1";
version = "1.5.2";
disabled = isPy27;
src = fetchFromGitHub {
owner = "rq";
repo = "rq";
rev = "v${version}";
sha256 = "0i7yyw828wdvl7ap4gb7jhm4p94502is3xxrgrdgwwp0l1rac004";
sha256 = "0ikqmpq0g1qiqwd7ar1286l4hqjb6aj2wr844gihhb8ijzwhp8va";
};
# test require a running redis rerver, which is something we can't do yet

View File

@@ -1,6 +1,7 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, isPy27
, semantic-version
, setuptools
, setuptools_scm
@@ -9,11 +10,13 @@
buildPythonPackage rec {
pname = "setuptools-rust";
version = "0.11.3";
version = "0.11.4";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "1p21sw77197m7pciy8g25bwwaakq1675h0x1lis9sypzr46p2s11";
sha256 = "9714fcb94c78e6ab1864ddac7750049e105fd4f7c52103aecf40d408e94a722f";
};
nativeBuildInputs = [ setuptools_scm ];

View File

@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "sh";
version = "1.14.0";
version = "1.14.1";
src = fetchPypi {
inherit pname version;
sha256 = "05c7e520cdf70f70a7228a03b589da9f96c6e0d06fc487ab21fc62b26a592e59";
sha256 = "39aa9af22f6558a0c5d132881cf43e34828ca03e4ae11114852ca6a55c7c1d8e";
};
patches = [

View File

@@ -0,0 +1,46 @@
{ lib
, buildPythonPackage
, fetchPypi
, cffi
, pytestCheckHook
, pyserial
, fetchpatch
}:
buildPythonPackage rec {
pname = "smbus-cffi";
version = "0.5.1";
src = fetchPypi {
inherit pname version;
sha256 = "fb4195aaabfc01586863f60d3190b5cb1bf8f12622fd597e23e48768dad6bde8";
};
patches = [
# https://github.com/bivab/smbus-cffi/pull/24
(fetchpatch {
url = "https://github.com/bivab/smbus-cffi/commit/ba79ae174a9d84e767d95f165c43ee212b1bbb92.patch";
sha256 = "sha256-WtRuK5y6fWDEhm0Xy5XqS5yCkn7vXXYtjlOjS90gla4=";
})
];
propagatedBuildInputs = [ cffi ];
installCheckPhase = ''
# we want to import the installed module that also contains the compiled library
rm -rf smbus
runHook pytestCheckPhase
'';
# requires hardware access
pytestFlagsArray = [ "--ignore=test/test_smbus_integration.py" ];
checkInputs = [ pytestCheckHook pyserial ];
meta = with lib; {
description = "Python module for SMBus access through Linux I2C /dev interface";
homepage = "https://github.com/bivab/smbus-cffi";
license = licenses.gpl2;
maintainers = with maintainers; [ mic92 ];
};
}

View File

@@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy3k
, click
, click-default-group
, tabulate
, pytestCheckHook
, pytestrunner
, black
}:
buildPythonPackage rec {
pname = "sqlite-utils";
version = "2.22";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "0g8zzp4qw6miijirykjcd78ib027k7dmg6lb9m4xysvah5jh8vfv";
};
propagatedBuildInputs = [
click
click-default-group
tabulate
];
checkInputs = [
pytestCheckHook
pytestrunner
black
];
meta = with lib; {
description = "Python CLI utility and library for manipulating SQLite databases";
homepage = "https://github.com/simonw/sqlite-utils";
license = licenses.asl20;
maintainers = [ maintainers.meatcar ];
};
}

View File

@@ -23,11 +23,11 @@
buildPythonPackage rec {
pname = "thinc";
version = "7.4.1";
version = "7.4.2";
src = fetchPypi {
inherit pname version;
sha256 = "17lampllwq50yjl2djs9bs5rp29xw55gqj762npqi3cvvj2glf81";
sha256 = "772f1a27b9b31e51003d1d2a7476cc49cc81044dd87088112237f93bd2091f0b";
};
buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [

View File

@@ -2,14 +2,14 @@
buildPythonPackage rec {
pname = "user-agents";
version = "2.1.0";
version = "2.2.0";
# PyPI is missing devices.json
src = fetchFromGitHub {
owner = "selwin";
repo = "python-user-agents";
rev = "v${version}";
sha256 = "04bndajsfnpymxfiggnj7g38cmlvca3ry5k2611x8ibp38x53yhc";
sha256 = "0pcbjqj21c2ixhl414bh2h8khi8y1igzfpkyqwan1pakix0lq45a";
};
propagatedBuildInputs = [ ua-parser ];