1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 cffi,
6 h3,
7 numba,
8 numpy,
9 poetry-core,
10 pytestCheckHook,
11 pythonOlder,
12 setuptools,
13}:
14
15buildPythonPackage rec {
16 pname = "timezonefinder";
17 version = "6.5.3";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "jannikmi";
24 repo = "timezonefinder";
25 rev = "refs/tags/${version}";
26 hash = "sha256-8fDKgM6LVe7aJgD4UfTpg0EjKGuudzYsmqniocozmAE=";
27 };
28
29 build-system = [
30 poetry-core
31 setuptools
32 ];
33
34 nativeBuildInputs = [ cffi ];
35
36 dependencies = [
37 cffi
38 h3
39 numpy
40 ];
41
42 nativeCheckInputs = [
43 numba
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "timezonefinder" ];
48
49 preCheck = ''
50 # Some tests need the CLI on the PATH
51 export PATH=$out/bin:$PATH
52 '';
53
54 meta = with lib; {
55 changelog = "https://github.com/jannikmi/timezonefinder/blob/${version}/CHANGELOG.rst";
56 description = "Module for finding the timezone of any point on earth (coordinates) offline";
57 homepage = "https://github.com/MrMinimal64/timezonefinder";
58 license = licenses.mit;
59 maintainers = with maintainers; [ fab ];
60 mainProgram = "timezonefinder";
61 };
62}