1{
2 lib,
3 boto3,
4 buildPythonPackage,
5 fetchFromGitHub,
6 jsonschema,
7 pytestCheckHook,
8 pythonOlder,
9 requests,
10 setuptools,
11}:
12
13buildPythonPackage rec {
14 pname = "oras";
15 version = "0.2.37";
16 pyproject = true;
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "oras-project";
22 repo = "oras-py";
23 tag = version;
24 hash = "sha256-pXIA970QBIlbFVFpN1Yl71ojc+atdXQuNoPEW+PrrWc=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [
30 jsonschema
31 requests
32 ];
33
34 nativeCheckInputs = [
35 boto3
36 pytestCheckHook
37 ];
38
39 pythonImportsCheck = [ "oras" ];
40
41 disabledTests = [
42 # Test requires network access
43 "test_get_many_tags"
44 "test_ssl"
45 ];
46
47 meta = with lib; {
48 description = "ORAS Python SDK";
49 homepage = "https://github.com/oras-project/oras-py";
50 changelog = "https://github.com/oras-project/oras-py/blob/${src.tag}/CHANGELOG.md";
51 license = licenses.asl20;
52 maintainers = with maintainers; [ fab ];
53 };
54}