1{
2 buildPythonPackage,
3 fetchFromGitHub,
4 hatchling,
5 hatch-vcs,
6 fastapi,
7 pyjwt,
8 httpx,
9 requests,
10 pytestCheckHook,
11 lib,
12}:
13buildPythonPackage rec {
14 pname = "fastapi-github-oidc";
15 version = "0.3.0";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "atopile";
20 repo = "fastapi-github-oidc";
21 tag = version;
22 hash = "sha256-FS50++Hy9h0RFrSnc4PbXFPh/1OO0JOaFdIZwoXa86A=";
23 };
24
25 build-system = [
26 hatchling
27 hatch-vcs
28 ];
29
30 dependencies = [
31 fastapi
32 pyjwt
33 httpx
34 requests
35 ];
36
37 pythonImportsCheck = [
38 "github_oidc.client"
39 "github_oidc.server"
40 ];
41
42 nativeCheckInputs = [ pytestCheckHook ];
43
44 disabledTests = [
45 "test_with_auth" # calls github api
46 ];
47
48 meta = {
49 description = "FastAPI compatible middleware to authenticate Github OIDC Tokens";
50 homepage = "https://github.com/atopile/fastapi-github-oidc";
51 changelog = "https://github.com/atopile/fastapi-github-oidc/releases/tag/${src.tag}";
52 license = with lib.licenses; [ mit ];
53 maintainers = with lib.maintainers; [ sigmanificient ];
54 };
55}