1{ lib
2, betamax
3, buildPythonPackage
4, cachetools
5, coloredlogs
6, emoji
7, fetchPypi
8, nose
9, pythonOlder
10, pytz
11, requests
12}:
13
14buildPythonPackage rec {
15 pname = "locationsharinglib";
16 version = "4.1.8";
17 disabled = pythonOlder "3.7";
18
19 src = fetchPypi {
20 inherit pname version;
21 sha256 = "sha256-69NzKSWpuU0Riwlj6cFC4h/shc/83e1mpq++zxDqftY=";
22 };
23
24 propagatedBuildInputs = [
25 coloredlogs
26 requests
27 cachetools
28 pytz
29 ];
30
31 checkInputs = [
32 betamax
33 emoji
34 nose
35 ];
36
37 postPatch = ''
38 # Tests requirements want to pull in multiple modules which we don't need
39 substituteInPlace setup.py \
40 --replace "tests_require=test_requirements" "tests_require=[]"
41 substituteInPlace requirements.txt \
42 --replace "coloredlogs>=15.0.1" "coloredlogs"
43 '';
44
45 checkPhase = ''
46 runHook preCheck
47 # Only coverage no real unit tests
48 nosetests
49 runHook postCheck
50 '';
51
52 pythonImportsCheck = [ "locationsharinglib" ];
53
54 meta = with lib; {
55 description = "Python package to retrieve coordinates from a Google account";
56 homepage = "https://locationsharinglib.readthedocs.io/";
57 license = licenses.mit;
58 maintainers = with maintainers; [ fab ];
59 };
60}