1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 beautifulsoup4,
6 extruct,
7 isodate,
8 language-tags,
9 regex,
10 requests,
11 pytestCheckHook,
12 responses,
13 setuptools,
14 pythonOlder,
15 nixosTests,
16}:
17
18buildPythonPackage rec {
19 pname = "recipe-scrapers";
20 version = "15.9.0";
21 pyproject = true;
22
23 disabled = pythonOlder "3.9";
24
25 src = fetchFromGitHub {
26 owner = "hhursev";
27 repo = "recipe-scrapers";
28 tag = version;
29 hash = "sha256-pbcIAr0yKGSWfuVMsOfriUUW1dhlvjX2JfDPJ8akldg=";
30 };
31
32 build-system = [ setuptools ];
33
34 dependencies = [
35 beautifulsoup4
36 extruct
37 isodate
38 language-tags
39 regex
40 ];
41
42 optional-dependencies = {
43 online = [ requests ];
44 };
45
46 nativeCheckInputs = [
47 pytestCheckHook
48 responses
49 ];
50
51 disabledTests = [
52 # Fixture is broken
53 "test_instructions"
54 ];
55
56 pythonImportsCheck = [ "recipe_scrapers" ];
57
58 passthru = {
59 tests = {
60 inherit (nixosTests) mealie tandoor-recipes;
61 };
62 };
63
64 meta = with lib; {
65 description = "Python package for scraping recipes data";
66 homepage = "https://github.com/hhursev/recipe-scrapers";
67 changelog = "https://github.com/hhursev/recipe-scrapers/releases/tag/${src.tag}";
68 license = licenses.mit;
69 maintainers = with maintainers; [ ambroisie ];
70 };
71}