nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 hatch-vcs,
8 hatchling,
9
10 # dependencies
11 docopt,
12 filelock,
13 optuna,
14 pyannote-core,
15 pyannote-database,
16 pyyaml,
17 scipy,
18 tqdm,
19
20 # tests
21 pytestCheckHook,
22 versionCheckHook,
23}:
24
25buildPythonPackage rec {
26 pname = "pyannote-pipeline";
27 version = "4.0.0";
28 pyproject = true;
29
30 src = fetchFromGitHub {
31 owner = "pyannote";
32 repo = "pyannote-pipeline";
33 tag = version;
34 hash = "sha256-H2yIeCKhZFUkZXww+eaRKMzJrbALdARady02fq/pJrU=";
35 };
36
37 postPatch = ''
38 substituteInPlace src/pyannote/pipeline/experiment.py \
39 --replace-fail \
40 'version="Tunable pipelines"' \
41 'version="${version}"'
42 '';
43
44 build-system = [
45 hatch-vcs
46 hatchling
47 ];
48
49 dependencies = [
50 docopt # imported in pyannote/pipeline/experiment.py
51 filelock
52 optuna
53 pyannote-core
54 pyannote-database
55 pyyaml
56 scipy # imported in pyannote/pipeline/optimizer.py
57 tqdm
58 ];
59
60 pythonImportsCheck = [ "pyannote.pipeline" ];
61
62 nativeCheckInputs = [
63 pytestCheckHook
64 versionCheckHook
65 ];
66
67 meta = {
68 description = "Tunable pipelines";
69 homepage = "https://github.com/pyannote/pyannote-pipeline";
70 license = lib.licenses.mit;
71 maintainers = [ ];
72 mainProgram = "pyannote-pipeline";
73 };
74}