1{
2 buildPythonPackage,
3 fetchFromGitHub,
4 hatchling,
5 pydantic,
6 pytest-asyncio,
7 pytestCheckHook,
8 stdenv,
9 lib,
10}:
11buildPythonPackage rec {
12 pname = "essentials";
13 version = "1.1.6";
14 pyproject = true;
15
16 src = fetchFromGitHub {
17 owner = "Neoteroi";
18 repo = "essentials";
19 tag = "v${version}";
20 hash = "sha256-wOZ0y6sAPEy2MgcwmM9SjnULe6oWlVuNeC7Zl070CK4=";
21 };
22
23 build-system = [ hatchling ];
24
25 nativeCheckInputs = [
26 pydantic
27 pytest-asyncio
28 pytestCheckHook
29 ];
30
31 disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
32 # time.sleep(0.01) can be up to 0.05s on darwin
33 "test_stopwatch"
34 "test_stopwatch_with_context_manager"
35 ];
36
37 pythonImportsCheck = [ "essentials" ];
38
39 meta = {
40 homepage = "https://github.com/Neoteroi/essentials";
41 description = "General purpose classes and functions";
42 changelog = "https://github.com/Neoteroi/essentials/releases/${src.tag}";
43 license = lib.licenses.mit;
44 maintainers = with lib.maintainers; [
45 aldoborrero
46 zimbatm
47 ];
48 };
49}