nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 hatchling,
8 hatch-vcs,
9
10 # dependencies
11 flexcache,
12 flexparser,
13 platformdirs,
14 typing-extensions,
15
16 # tests
17 pytestCheckHook,
18 pytest-benchmark,
19 numpy,
20 matplotlib,
21 uncertainties,
22 writableTmpDirAsHomeHook,
23}:
24
25buildPythonPackage rec {
26 pname = "pint";
27 version = "0.25.2";
28 pyproject = true;
29
30 src = fetchFromGitHub {
31 owner = "hgrecco";
32 repo = "pint";
33 tag = version;
34 hash = "sha256-Ushg7e920TTW7AYXg5C076Bl/yWPLO+H8I3Ytlc7OKc=";
35 };
36
37 build-system = [
38 hatchling
39 hatch-vcs
40 ];
41
42 dependencies = [
43 flexcache
44 flexparser
45 platformdirs
46 typing-extensions
47
48 # Both uncertainties and numpy are not necessarily needed for every
49 # function of pint, but needed for the pint-convert executable which we
50 # necessarily distribute with this package as it is.
51 uncertainties
52 numpy
53 ];
54
55 nativeCheckInputs = [
56 pytestCheckHook
57 pytest-benchmark
58 matplotlib
59 writableTmpDirAsHomeHook
60 ];
61
62 pytestFlags = [ "--benchmark-disable" ];
63
64 meta = {
65 changelog = "https://github.com/hgrecco/pint/blob/${version}/CHANGES";
66 description = "Physical quantities module";
67 mainProgram = "pint-convert";
68 license = lib.licenses.bsd3;
69 homepage = "https://github.com/hgrecco/pint/";
70 maintainers = with lib.maintainers; [ doronbehar ];
71 };
72}