1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 mock,
6 pathlib-abc,
7 pytestCheckHook,
8 pythonOlder,
9 setuptools,
10 smart-open,
11 typer,
12}:
13
14buildPythonPackage rec {
15 pname = "pathy";
16 version = "0.11.0";
17 pyproject = true;
18
19 disabled = pythonOlder "3.8";
20
21 src = fetchPypi {
22 inherit pname version;
23 hash = "sha256-uz0OawuL92709jxxkeluCvLtZcj9tfoXSI+ch55jcG0=";
24 };
25
26
27 pythonRelaxDeps = [ "smart-open" ];
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 pathlib-abc
33 smart-open
34 typer
35 ];
36
37 nativeCheckInputs = [
38 mock
39 pytestCheckHook
40 ];
41
42 disabledTestPaths = [
43 # Exclude tests that require provider credentials
44 "pathy/_tests/test_clients.py"
45 "pathy/_tests/test_gcs.py"
46 "pathy/_tests/test_s3.py"
47 ];
48
49 pythonImportsCheck = [ "pathy" ];
50
51 meta = with lib; {
52 description = "Path interface for local and cloud bucket storage";
53 mainProgram = "pathy";
54 homepage = "https://github.com/justindujardin/pathy";
55 license = licenses.asl20;
56 maintainers = with maintainers; [ melling ];
57 };
58}