1{ lib
2, aiohttp
3, auth0-python
4, buildPythonPackage
5, fetchFromGitHub
6, poetry-core
7, pyjwt
8, pytest-aiohttp
9, pytestCheckHook
10, python-dateutil
11, pythonOlder
12, pythonRelaxDepsHook
13}:
14
15buildPythonPackage rec {
16 pname = "aiobiketrax";
17 version = "0.5.0";
18 format = "pyproject";
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "basilfx";
24 repo = pname;
25 rev = "refs/tags/v${version}";
26 hash = "sha256-exxpJJA+JnVuehCnWs/ihk/SSPUqV7ODXZxvbmuHe8U=";
27 };
28
29 postPatch = ''
30 # https://github.com/basilfx/aiobiketrax/pull/63
31 substituteInPlace aiobiketrax/api.py \
32 --replace "auth0.v3" "auth0"
33 '';
34
35 pythonRelaxDeps = [
36 "auth0-python"
37 ];
38
39 nativeBuildInputs = [
40 poetry-core
41 pythonRelaxDepsHook
42 ];
43
44 propagatedBuildInputs = [
45 aiohttp
46 auth0-python
47 python-dateutil
48 pyjwt
49 ];
50
51 nativeCheckInputs = [
52 pytestCheckHook
53 ];
54
55 pythonImportsCheck = [
56 "aiobiketrax"
57 ];
58
59 meta = with lib; {
60 description = "Library for interacting with the PowUnity BikeTrax GPS tracker";
61 homepage = "https://github.com/basilfx/aiobiketrax";
62 changelog = "https://github.com/basilfx/aiobiketrax/blob/v${version}/CHANGELOG.md";
63 license = with licenses; [ mit ];
64 maintainers = with maintainers; [ fab ];
65 };
66}