1{ lib
2, buildPythonPackage
3, certifi
4, circuitbreaker
5, cryptography
6, fetchFromGitHub
7, pyopenssl
8, python-dateutil
9, pythonOlder
10, pytz
11}:
12
13buildPythonPackage rec {
14 pname = "oci";
15 version = "2.85.0";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.6";
19
20 src = fetchFromGitHub {
21 owner = "oracle";
22 repo = "oci-python-sdk";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-NaVD7oWdKrUC0wjoFTbRg02tCFMlRyNIRHciTtyra7w=";
25 };
26
27 propagatedBuildInputs = [
28 certifi
29 circuitbreaker
30 cryptography
31 pyopenssl
32 python-dateutil
33 pytz
34 ];
35
36 postPatch = ''
37 substituteInPlace setup.py \
38 --replace "configparser==4.0.2 ; python_version < '3'" "" \
39 --replace "cryptography>=3.2.1,<=37.0.2" "cryptography" \
40 --replace "pyOpenSSL>=17.5.0,<=22.0.0" "pyOpenSSL"
41 '';
42
43 # Tests fail: https://github.com/oracle/oci-python-sdk/issues/164
44 doCheck = false;
45
46 pythonImportsCheck = [
47 "oci"
48 ];
49
50 meta = with lib; {
51 description = "Oracle Cloud Infrastructure Python SDK";
52 homepage = "https://oracle-cloud-infrastructure-python-sdk.readthedocs.io/";
53 license = with licenses; [ asl20 /* or */ upl ];
54 maintainers = with maintainers; [ ilian ];
55 };
56}