biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / development / python-modules / dataclass-wizard / default.nix
blob2a063482fe17b29d854fc8e8ec2c05bee07f8a36
2   lib,
3   fetchFromGitHub,
4   buildPythonPackage,
5   pythonOlder,
6   pythonAtLeast,
7   pytimeparse,
8   pyyaml,
9   pytestCheckHook,
10   pytest-mock,
11   typing-extensions,
14 buildPythonPackage rec {
15   pname = "dataclass-wizard";
16   version = "0.22.2";
17   format = "setuptools";
19   src = fetchFromGitHub {
20     owner = "rnag";
21     repo = "dataclass-wizard";
22     rev = "v${version}";
23     hash = "sha256-Ufi4lZc+UkM6NZr4bS2OibpOmMjyiBEoVKxmrqauW50=";
24   };
26   propagatedBuildInputs = [ ] ++ lib.optionals (pythonOlder "3.9") [ typing-extensions ];
28   optional-dependencies = {
29     timedelta = [ pytimeparse ];
30     yaml = [ pyyaml ];
31   };
33   nativeCheckInputs = [
34     pytestCheckHook
35     pytest-mock
36   ] ++ optional-dependencies.timedelta ++ optional-dependencies.yaml;
38   disabledTests =
39     [ ]
40     ++ lib.optionals (pythonAtLeast "3.11") [
41       # Any/None internal changes, tests need adjusting upstream
42       "without_type_hinting"
43       "default_dict"
44       "test_frozenset"
45       "test_set"
46       "date_times_with_custom_pattern"
47       "from_dict_handles_identical_cased_json_keys"
48     ];
50   pythonImportsCheck = [ "dataclass_wizard" ];
52   meta = with lib; {
53     description = "Set of simple, yet elegant wizarding tools for interacting with the Python dataclasses module";
54     mainProgram = "wiz";
55     homepage = "https://github.com/rnag/dataclass-wizard";
56     changelog = "https://github.com/rnag/dataclass-wizard/releases/tag/v${version}";
57     license = licenses.asl20;
58     maintainers = with maintainers; [ codifryed ];
59   };