python310Packages.confluent-kafka: add optional-dependencies
- enable tests - add pythonImportsCheck - add format - disable on unsupported Python releases
This commit is contained in:
parent
2dee09084f
commit
12ef4ebea7
|
@ -1,18 +1,68 @@
|
|||
{ lib, buildPythonPackage, fetchPypi, isPy3k, rdkafka, requests, avro3k, avro ? null, futures ? null, enum34 ? null }:
|
||||
{ lib
|
||||
, avro
|
||||
, buildPythonPackage
|
||||
, fastavro
|
||||
, fetchFromGitHub
|
||||
, jsonschema
|
||||
, protobuf
|
||||
, pyflakes
|
||||
, pyrsistent
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, rdkafka
|
||||
, requests
|
||||
, requests-mock
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
version = "2.1.1";
|
||||
pname = "confluent-kafka";
|
||||
version = "2.1.1";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-pmXnQDCoXF9CA1OM/nfkARM6hJxLkgUqYCJbJgUqfp0=";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "confluentinc";
|
||||
repo = "confluent-kafka-python";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-xnbovQRvbhaYYXnssV0Jy+U9L6BUddIagbup2jdTugY=";
|
||||
};
|
||||
|
||||
buildInputs = [ rdkafka requests ] ++ (if isPy3k then [ avro3k ] else [ enum34 avro futures ]) ;
|
||||
buildInputs = [
|
||||
rdkafka
|
||||
];
|
||||
|
||||
# No tests in PyPi Tarball
|
||||
doCheck = false;
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
avro = [
|
||||
avro
|
||||
fastavro
|
||||
];
|
||||
json = [
|
||||
jsonschema
|
||||
pyrsistent
|
||||
];
|
||||
protobuf = [
|
||||
protobuf
|
||||
];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
pyflakes
|
||||
pytestCheckHook
|
||||
requests-mock
|
||||
] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
|
||||
|
||||
pythonImportsCheck = [
|
||||
"confluent_kafka"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
"tests/integration/"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Confluent's Apache Kafka client for Python";
|
||||
|
|
Loading…
Reference in a new issue