1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6
7 # build-system
8 setuptools,
9 setuptools-scm,
10
11 # dependencies
12 more-itertools,
13 typeguard,
14
15 # checks
16 pytestCheckHook,
17}:
18
19buildPythonPackage rec {
20 pname = "inflect";
21 version = "7.5.0";
22 pyproject = true;
23
24 disabled = pythonOlder "3.8";
25
26 src = fetchFromGitHub {
27 owner = "jaraco";
28 repo = "inflect";
29 tag = "v${version}";
30 hash = "sha256-JQn0JySzXFnqz/dPc7BGLzd23Bh72S+/aI40gxAgx8k=";
31 };
32
33 build-system = [
34 setuptools
35 setuptools-scm
36 ];
37
38 dependencies = [
39 more-itertools
40 typeguard
41 ];
42
43 nativeCheckInputs = [ pytestCheckHook ];
44
45 disabledTests = [
46 # https://errors.pydantic.dev/2.5/v/string_too_short
47 "inflect.engine.compare"
48 ];
49
50 pythonImportsCheck = [ "inflect" ];
51
52 meta = {
53 description = "Correctly generate plurals, singular nouns, ordinals, indefinite articles";
54 homepage = "https://github.com/jaraco/inflect";
55 changelog = "https://github.com/jaraco/inflect/blob/${src.tag}/CHANGES.rst";
56 license = lib.licenses.mit;
57 teams = [ lib.teams.tts ];
58 };
59}