1{
2 lib,
3 buildPythonPackage,
4 cloudpathlib,
5 confection,
6 fetchFromGitHub,
7 packaging,
8 pydantic,
9 pytestCheckHook,
10 pythonOlder,
11 requests,
12 setuptools,
13 smart-open,
14 srsly,
15 typer,
16 wasabi,
17}:
18
19buildPythonPackage rec {
20 pname = "weasel";
21 version = "0.3.4";
22 pyproject = true;
23
24 disabled = pythonOlder "3.6";
25
26 src = fetchFromGitHub {
27 owner = "explosion";
28 repo = "weasel";
29 rev = "refs/tags/v${version}";
30 hash = "sha256-6Ck8R10/YW2Nc6acNk2bzgyqSg+OPqwyJjhUgXP/umw=";
31 };
32
33 pythonRelaxDeps = [
34 "cloudpathlib"
35 "smart-open"
36 "typer"
37 ];
38
39 nativeBuildInputs = [
40 setuptools
41 ];
42
43 propagatedBuildInputs = [
44 cloudpathlib
45 confection
46 packaging
47 pydantic
48 requests
49 smart-open
50 srsly
51 typer
52 wasabi
53 ];
54
55 pythonImportsCheck = [ "weasel" ];
56
57 nativeCheckInputs = [ pytestCheckHook ];
58
59 disabledTests = [
60 # This test requires internet access
61 "test_project_assets"
62 ];
63
64 meta = with lib; {
65 description = "Small and easy workflow system";
66 mainProgram = "weasel";
67 homepage = "https://github.com/explosion/weasel/";
68 changelog = "https://github.com/explosion/weasel/releases/tag/v${version}";
69 license = licenses.mit;
70 maintainers = with maintainers; [ GaetanLepage ];
71 };
72}