1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 buildPythonPackage,
6
7 # build-system
8 hatchling,
9
10 # dependencies
11 click,
12 redis,
13
14 # tests
15 addBinToPathHook,
16 psutil,
17 pytestCheckHook,
18 redisTestHook,
19 sentry-sdk,
20 versionCheckHook,
21}:
22
23buildPythonPackage rec {
24 pname = "rq";
25 version = "2.3.2";
26 pyproject = true;
27
28 src = fetchFromGitHub {
29 owner = "rq";
30 repo = "rq";
31 tag = "v${version}";
32 hash = "sha256-odO4DSuLNyGndj+n++DupAyOUywYJtnmkO0lUM1xS2I=";
33 };
34
35 build-system = [ hatchling ];
36
37 dependencies = [
38 click
39 redis
40 ];
41
42 nativeCheckInputs = [
43 addBinToPathHook
44 psutil
45 pytestCheckHook
46 redisTestHook
47 sentry-sdk
48 versionCheckHook
49 ];
50 versionCheckProgramArg = "--version";
51
52 __darwinAllowLocalNetworking = true;
53
54 disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
55 # PermissionError: [Errno 13] Permission denied: '/tmp/rq-tests.txt'
56 "test_deleted_jobs_arent_executed"
57 "test_suspend_worker_execution"
58 ];
59
60 pythonImportsCheck = [ "rq" ];
61
62 meta = {
63 description = "Library for creating background jobs and processing them";
64 homepage = "https://github.com/nvie/rq/";
65 changelog = "https://github.com/rq/rq/releases/tag/${src.tag}";
66 license = lib.licenses.bsd2;
67 maintainers = with lib.maintainers; [ mrmebelman ];
68 };
69}