1{
2 lib,
3 attrs,
4 buildPythonPackage,
5 fetchPypi,
6 pydantic,
7 pythonOlder,
8 scrapy,
9 setuptools,
10}:
11
12buildPythonPackage rec {
13 pname = "itemadapter";
14 version = "0.11.0";
15 pyproject = true;
16
17 disabled = pythonOlder "3.9";
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-Ow8n9MXi6K5BXYPj1g0zrbe6CbmMMGOLxgb7Hf8uzdI=";
22 };
23
24 build-system = [ setuptools ];
25
26 optional-dependencies = {
27 attrs = [ attrs ];
28 pydantic = [ pydantic ];
29 scrapy = [ scrapy ];
30 };
31
32 # Infinite recursion with Scrapy
33 doCheck = false;
34
35 pythonImportsCheck = [ "itemadapter" ];
36
37 meta = with lib; {
38 description = "Common interface for data container classes";
39 homepage = "https://github.com/scrapy/itemadapter";
40 changelog = "https://github.com/scrapy/itemadapter/raw/v${version}/Changelog.md";
41 license = licenses.bsd3;
42 maintainers = [ ];
43 };
44}