nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitHub,
4 python3,
5 gitUpdater,
6}:
7
8python3.pkgs.buildPythonApplication rec {
9 pname = "changedetection-io";
10 version = "0.51.4";
11 format = "setuptools";
12
13 src = fetchFromGitHub {
14 owner = "dgtlmoon";
15 repo = "changedetection.io";
16 tag = version;
17 hash = "sha256-Qm3dI5ZHkLK3hTsadnzIDdmeiDM/QovGw2FZDVml5tE=";
18 };
19
20 pythonRelaxDeps = true;
21
22 propagatedBuildInputs =
23 with python3.pkgs;
24 [
25 apprise
26 babel
27 beautifulsoup4
28 blinker
29 brotli
30 chardet
31 cryptography
32 elementpath
33 extruct
34 feedgen
35 flask
36 flask-compress
37 flask-cors
38 flask-expects-json
39 flask-login
40 flask-paginate
41 flask-restful
42 flask-socketio
43 flask-wtf
44 gevent
45 greenlet
46 inscriptis
47 janus
48 jinja2
49 jinja2-time
50 jq
51 jsonpath-ng
52 jsonschema
53 levenshtein
54 loguru
55 lxml
56 openapi-core
57 openpyxl
58 paho-mqtt
59 panzi-json-logic
60 playwright
61 pluggy
62 price-parser
63 psutil
64 puremagic
65 pyppeteer-ng
66 # pyppeteerstealth
67 python-engineio
68 python-socketio
69 pytz
70 referencing
71 requests
72 requests-file
73 selenium
74 timeago
75 tzdata
76 validators
77 werkzeug
78 wtforms
79 ]
80 ++ requests.optional-dependencies.socks
81 ++ openapi-core.optional-dependencies.flask;
82
83 # tests can currently not be run in one pytest invocation and without docker
84 doCheck = false;
85
86 pythonImportsCheck = [ "changedetectionio" ];
87
88 passthru.updateScript = gitUpdater { };
89
90 meta = {
91 description = "Self-hosted free open source website change detection tracking, monitoring and notification service";
92 homepage = "https://github.com/dgtlmoon/changedetection.io";
93 changelog = "https://github.com/dgtlmoon/changedetection.io/releases/tag/${src.tag}";
94 license = lib.licenses.unfree;
95 maintainers = with lib.maintainers; [
96 mikaelfangel
97 thanegill
98 ];
99 mainProgram = "changedetection.io";
100 };
101}