diff --git a/pkgs/development/python-modules/adlfs/default.nix b/pkgs/development/python-modules/adlfs/default.nix new file mode 100644 index 000000000000..c46ffb6f69fc --- /dev/null +++ b/pkgs/development/python-modules/adlfs/default.nix @@ -0,0 +1,49 @@ +{ lib +, aiohttp +, azure-core +, azure-datalake-store +, azure-identity +, azure-storage-blob +, buildPythonPackage +, fetchFromGitHub +, fsspec +, pythonOlder +}: + +buildPythonPackage rec { + pname = "adlfs"; + version = "2022.7.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "fsspec"; + repo = pname; + rev = version; + hash = "sha256-79HPJip+nocYo/r8LCb9vdYKVuEh0BBrz/eTJF0eGTA="; + }; + + propagatedBuildInputs = [ + aiohttp + azure-core + azure-datalake-store + azure-identity + azure-storage-blob + fsspec + ]; + + # Tests require a running Docker instance + doCheck = false; + + pythonImportsCheck = [ + "adlfs" + ]; + + meta = with lib; { + description = "Filesystem interface to Azure-Datalake Gen1 and Gen2 Storage"; + homepage = "https://github.com/fsspec/adlfs"; + license = licenses.bsd3; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aliyun-python-sdk-cdn/default.nix b/pkgs/development/python-modules/aliyun-python-sdk-cdn/default.nix new file mode 100644 index 000000000000..7a34db334fab --- /dev/null +++ b/pkgs/development/python-modules/aliyun-python-sdk-cdn/default.nix @@ -0,0 +1,37 @@ +{ lib +, aliyun-python-sdk-core +, buildPythonPackage +, fetchPypi +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aliyun-python-sdk-cdn"; + version = "3.7.1"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-GAY4o9lr+1m8g1T7EhL5jLjEdfMWC/1vJ3UC4PQzvjI="; + }; + + propagatedBuildInputs = [ + aliyun-python-sdk-core + ]; + + # All components are stored in a mono repo + doCheck = false; + + pythonImportsCheck = [ + "aliyunsdkcdn" + ]; + + meta = with lib; { + description = "CDN module of Aliyun Python SDK"; + homepage = "https://github.com/aliyun/aliyun-openapi-python-sdk"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aliyun-python-sdk-config/default.nix b/pkgs/development/python-modules/aliyun-python-sdk-config/default.nix new file mode 100644 index 000000000000..b349fe9e7b74 --- /dev/null +++ b/pkgs/development/python-modules/aliyun-python-sdk-config/default.nix @@ -0,0 +1,37 @@ +{ lib +, aliyun-python-sdk-core +, buildPythonPackage +, fetchPypi +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aliyun-python-sdk-config"; + version = "2.2.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-FQNj11G2d985KkpVycJyUqugul/EXu4PpuvD/YGPkBc="; + }; + + propagatedBuildInputs = [ + aliyun-python-sdk-core + ]; + + # All components are stored in a mono repo + doCheck = false; + + pythonImportsCheck = [ + "aliyunsdkconfig" + ]; + + meta = with lib; { + description = "Configuration module of Aliyun Python SDK"; + homepage = "https://github.com/aliyun/aliyun-openapi-python-sdk"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix b/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix new file mode 100644 index 000000000000..272a2ea5cccb --- /dev/null +++ b/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, cryptography +, fetchPypi +, jmespath +, pythonOlder +, pythonRelaxDepsHook +}: + +buildPythonPackage rec { + pname = "aliyun-python-sdk-core"; + version = "2.13.36"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-IL1UmE+jFtpwDH81WlGrC4FmkOKg/O+3te8BP+0NqSg="; + }; + + nativeBuildInputs = [ + pythonRelaxDepsHook + ]; + + propagatedBuildInputs = [ + cryptography + jmespath + ]; + + # All components are stored in a mono repo + doCheck = false; + + pythonRelaxDeps = true; + + pythonImportsCheck = [ + "aliyunsdkcore" + ]; + + meta = with lib; { + description = "Core module of Aliyun Python SDK"; + homepage = "https://github.com/aliyun/aliyun-openapi-python-sdk"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aliyun-python-sdk-dbfs/default.nix b/pkgs/development/python-modules/aliyun-python-sdk-dbfs/default.nix new file mode 100644 index 000000000000..2663fef3c786 --- /dev/null +++ b/pkgs/development/python-modules/aliyun-python-sdk-dbfs/default.nix @@ -0,0 +1,37 @@ +{ lib +, aliyun-python-sdk-core +, buildPythonPackage +, fetchPypi +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aliyun-python-sdk-dbfs"; + version = "2.0.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-NdhmJnuGLy96HsJCKoHWdBdqGa7bdWRVUJOPPSEs6FQ="; + }; + + propagatedBuildInputs = [ + aliyun-python-sdk-core + ]; + + # All components are stored in a mono repo + doCheck = false; + + pythonImportsCheck = [ + "aliyunsdkdbfs" + ]; + + meta = with lib; { + description = "DBFS module of Aliyun Python SDK"; + homepage = "https://github.com/aliyun/aliyun-openapi-python-sdk"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aliyun-python-sdk-iot/default.nix b/pkgs/development/python-modules/aliyun-python-sdk-iot/default.nix new file mode 100644 index 000000000000..cc5c77d67c53 --- /dev/null +++ b/pkgs/development/python-modules/aliyun-python-sdk-iot/default.nix @@ -0,0 +1,37 @@ +{ lib +, aliyun-python-sdk-core +, buildPythonPackage +, fetchPypi +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aliyun-python-sdk-iot"; + version = "8.41.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-t/SIEW1JMTyeOhhxx6IhLsbQa0D3aqD2hqGk8+Ka0ns="; + }; + + propagatedBuildInputs = [ + aliyun-python-sdk-core + ]; + + # All components are stored in a mono repo + doCheck = false; + + pythonImportsCheck = [ + "aliyunsdkiot" + ]; + + meta = with lib; { + description = "IoT module of Aliyun Python SDK"; + homepage = "https://github.com/aliyun/aliyun-openapi-python-sdk"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aliyun-python-sdk-kms/default.nix b/pkgs/development/python-modules/aliyun-python-sdk-kms/default.nix new file mode 100644 index 000000000000..4356c00a7c73 --- /dev/null +++ b/pkgs/development/python-modules/aliyun-python-sdk-kms/default.nix @@ -0,0 +1,37 @@ +{ lib +, aliyun-python-sdk-core +, buildPythonPackage +, fetchPypi +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aliyun-python-sdk-kms"; + version = "2.16.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-p/GFdyyI86DdqFa2Zt2kNtguAPnxHqW78S3KsmEO41g="; + }; + + propagatedBuildInputs = [ + aliyun-python-sdk-core + ]; + + # All components are stored in a mono repo + doCheck = false; + + pythonImportsCheck = [ + "aliyunsdkkms" + ]; + + meta = with lib; { + description = "KMS module of Aliyun Python SDK"; + homepage = "https://github.com/aliyun/aliyun-openapi-python-sdk"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix b/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix new file mode 100644 index 000000000000..7217822bbcce --- /dev/null +++ b/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix @@ -0,0 +1,37 @@ +{ lib +, aliyun-python-sdk-core +, buildPythonPackage +, fetchPypi +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aliyun-python-sdk-sts"; + version = "3.1.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-CpUMw2qdY+5a99WgFLp0p00kQVnuvf3yMOZqTztqnRA="; + }; + + propagatedBuildInputs = [ + aliyun-python-sdk-core + ]; + + # All components are stored in a mono repo + doCheck = false; + + pythonImportsCheck = [ + "aliyunsdksts" + ]; + + meta = with lib; { + description = "STS module of Aliyun Python SDK"; + homepage = "https://github.com/aliyun/aliyun-openapi-python-sdk"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/oss2/default.nix b/pkgs/development/python-modules/oss2/default.nix new file mode 100644 index 000000000000..0ed3a0a3bdd7 --- /dev/null +++ b/pkgs/development/python-modules/oss2/default.nix @@ -0,0 +1,111 @@ +{ lib +, aliyun-python-sdk-core +, aliyun-python-sdk-kms +, aliyun-python-sdk-sts +, buildPythonPackage +, crcmod +, fetchFromGitHub +, mock +, pycryptodome +, pytestCheckHook +, pythonOlder +, pythonRelaxDepsHook +, requests +, six +}: + +buildPythonPackage rec { + pname = "oss2"; + version = "2.16.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "aliyun"; + repo = "aliyun-oss-python-sdk"; + rev = version; + hash = "sha256-Q8U7zMlqpKSoW99MBm9p0AnrGZY7M9oRNImMNJaEjSw="; + }; + + nativeBuildInputs = [ + pythonRelaxDepsHook + ]; + + propagatedBuildInputs = [ + requests + crcmod + pycryptodome + aliyun-python-sdk-kms + aliyun-python-sdk-core + six + ]; + + checkInputs = [ + aliyun-python-sdk-sts + mock + pytestCheckHook + ]; + + pythonRelaxDeps = true; + + pythonImportsCheck = [ + "oss2" + ]; + + disabledTestPaths = [ + # Tests require network access + "tests/test_api_base.py" + "tests/test_async_fetch_task.py" + "tests/test_bucket_cname.py" + "tests/test_bucket_inventory.py" + "tests/test_bucket_meta_query.py" + "tests/test_bucket_replication.py" + "tests/test_bucket_transfer_acceleration.py" + "tests/test_bucket_versioning.py" + "tests/test_bucket_worm.py" + "tests/test_bucket.py" + "tests/test_chinese.py" + "tests/test_crc64_combine.py" + "tests/test_credentials_provider.py" + "tests/test_crypto_multipart.py" + "tests/test_crypto_object.py" + "tests/test_crypto.py" + "tests/test_download.py" + "tests/test_headers.py" + "tests/test_image.py" + "tests/test_init.py" + "tests/test_iterator.py" + "tests/test_lifecycle_versioning.py" + "tests/test_list_objects_v2.py" + "tests/test_live_channel.py" + "tests/test_multipart.py" + "tests/test_object_request_payment_versions.py" + "tests/test_object_request_payment.py" + "tests/test_object_versioning.py" + "tests/test_object.py" + "tests/test_proxy.py" + "tests/test_put_object_chunked.py" + "tests/test_qos_info.py" + "tests/test_request_payment.py" + "tests/test_select_csv_object.py" + "tests/test_select_json_object.py" + "tests/test_server_side_encryotion.py" + "tests/test_sign.py" + "tests/test_traffic_limit.py" + "tests/test_upload.py" + "tests/test_utils.py" + "tests/test_website.py" + ]; + + disabledTests = [ + "test_crypto_get_compact_deprecated_kms" + ]; + + meta = with lib; { + description = "Alibaba Cloud OSS SDK for Python"; + homepage = "https://github.com/aliyun/aliyun-oss-python-sdk"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/ossfs/default.nix b/pkgs/development/python-modules/ossfs/default.nix new file mode 100644 index 000000000000..e6d8bf28a652 --- /dev/null +++ b/pkgs/development/python-modules/ossfs/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, fsspec +, oss2 +, pythonOlder +}: + +buildPythonPackage rec { + pname = "ossfs"; + version = "2021.8.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "fsspec"; + repo = pname; + rev = version; + hash = "sha256-bORiE3sIDNESjEizdzsJYZTSMbcqpbjostXo+0NQDfA="; + }; + + propagatedBuildInputs = [ + fsspec + oss2 + ]; + + # Most tests require network access + doCheck = false; + + pythonImportsCheck = [ + "ossfs" + ]; + + meta = with lib; { + description = "Filesystem for Alibaba Cloud (Aliyun) Object Storage System (OSS)"; + homepage = "https://github.com/fsspec/ossfs"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c4fe8d82f8f6..9e7c6ef23b2f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -205,6 +205,8 @@ in { adjusttext = callPackage ../development/python-modules/adjusttext { }; + adlfs = callPackage ../development/python-modules/adlfs { }; + advantage-air = callPackage ../development/python-modules/advantage-air { }; advocate = callPackage ../development/python-modules/advocate { }; @@ -487,6 +489,20 @@ in { algebraic-data-types = callPackage ../development/python-modules/algebraic-data-types { }; + aliyun-python-sdk-cdn = callPackage ../development/python-modules/aliyun-python-sdk-cdn { }; + + aliyun-python-sdk-config = callPackage ../development/python-modules/aliyun-python-sdk-config { }; + + aliyun-python-sdk-core = callPackage ../development/python-modules/aliyun-python-sdk-core { }; + + aliyun-python-sdk-dbfs = callPackage ../development/python-modules/aliyun-python-sdk-dbfs { }; + + aliyun-python-sdk-iot = callPackage ../development/python-modules/aliyun-python-sdk-iot { }; + + aliyun-python-sdk-kms = callPackage ../development/python-modules/aliyun-python-sdk-kms { }; + + aliyun-python-sdk-sts = callPackage ../development/python-modules/aliyun-python-sdk-sts { }; + allpairspy = callPackage ../development/python-modules/allpairspy { }; allure-behave = callPackage ../development/python-modules/allure-behave { }; @@ -6343,6 +6359,10 @@ in { osqp = callPackage ../development/python-modules/osqp { }; + oss2 = callPackage ../development/python-modules/oss2 { }; + + ossfs = callPackage ../development/python-modules/ossfs { }; + outcome = callPackage ../development/python-modules/outcome { }; ovh = callPackage ../development/python-modules/ovh { };