1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 pydantic,
7 pytestCheckHook,
8 pythonOlder,
9}:
10
11buildPythonPackage rec {
12 pname = "camel-converter";
13 version = "3.1.2";
14 pyproject = true;
15
16 disabled = pythonOlder "3.8";
17
18 src = fetchFromGitHub {
19 owner = "sanders41";
20 repo = "camel-converter";
21 rev = "refs/tags/v${version}";
22 hash = "sha256-CJbflRI3wfUmPoVuLwZDYcobESmySvnS99PdpSDhDLk=";
23 };
24
25 postPatch = ''
26 substituteInPlace pyproject.toml \
27 --replace-fail "--cov=camel_converter --cov-report term-missing --no-cov-on-fail" ""
28 '';
29
30 build-system = [ poetry-core ];
31
32 passthru.optional-dependencies = {
33 pydantic = [ pydantic ];
34 };
35
36 nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.pydantic;
37
38 pythonImportsCheck = [ "camel_converter" ];
39
40 disabledTests = [
41 # AttributeError: 'Test' object has no attribute 'model_dump'
42 "test_camel_config"
43 ];
44
45 meta = with lib; {
46 description = "Client for the Meilisearch API";
47 homepage = "https://github.com/sanders41/camel-converter";
48 changelog = "https://github.com/sanders41/camel-converter/releases/tag/v${version}";
49 license = with licenses; [ mit ];
50 maintainers = with maintainers; [ fab ];
51 };
52}