pyobs-auth 2.1.0__tar.gz → 2.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 Tim-Oliver Husser
4
- thusser@uni-goettingen.de
3
+ Copyright (c) 2026 Tim-Oliver Husser <thusser@uni-goettingen.de>
5
4
 
6
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
7
6
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,46 @@
1
+ Metadata-Version: 2.5
2
+ Name: pyobs-auth
3
+ Version: 2.1.2
4
+ Summary: Shared Keycloak/OIDC authentication client for pyobs web services
5
+ Project-URL: Homepage, https://www.pyobs.org
6
+ Project-URL: Documentation, https://docs.pyobs.org
7
+ Project-URL: Repository, https://github.com/pyobs/pyobs-auth
8
+ Project-URL: Issues, https://github.com/pyobs/pyobs-auth/issues
9
+ Author-email: Tim-Oliver Husser <thusser@uni-goettingen.de>
10
+ License-Expression: MIT
11
+ License-File: LICENSE
12
+ Requires-Python: >=3.11
13
+ Requires-Dist: django<7,>=5.2
14
+ Requires-Dist: djangorestframework>=3.15
15
+ Requires-Dist: pyjwt[crypto]<3,>=2.10.1
16
+ Requires-Dist: requests<3,>=2.32.3
17
+ Description-Content-Type: text/markdown
18
+
19
+ # pyobs-auth
20
+
21
+ Shared Keycloak/OIDC authentication client for pyobs web services (`pyobs-archive`,
22
+ `pyobs-portal`, and future services), so each one doesn't reimplement OIDC discovery,
23
+ token validation, and user mapping on its own.
24
+
25
+ Single issuer only, by design: every service trusts exactly one Keycloak realm. Any upstream
26
+ identity provider (an institute's SSO, a self-hosted `observation-portal`, ...) is meant to be
27
+ brokered *behind* that Keycloak instance, not validated directly by this library - see
28
+ [`docs/source/architecture.rst`](docs/source/architecture.rst) for the full reasoning.
29
+
30
+ ## Documentation
31
+
32
+ Full installation (adding this to a Django project), configuration (every `PYOBS_AUTH` key),
33
+ architecture, and API reference: see [`docs/source/`](docs/source/) (built with Sphinx —
34
+ `cd docs && uv run --group dev make html`).
35
+
36
+ ## Development
37
+
38
+ ```bash
39
+ git clone https://github.com/pyobs/pyobs-auth.git
40
+ cd pyobs-auth
41
+ uv sync --group dev
42
+ uv run pytest
43
+ uv run ruff check pyobs_auth/
44
+ uv run black --check .
45
+ uv run pyrefly check pyobs_auth
46
+ ```
@@ -0,0 +1,28 @@
1
+ # pyobs-auth
2
+
3
+ Shared Keycloak/OIDC authentication client for pyobs web services (`pyobs-archive`,
4
+ `pyobs-portal`, and future services), so each one doesn't reimplement OIDC discovery,
5
+ token validation, and user mapping on its own.
6
+
7
+ Single issuer only, by design: every service trusts exactly one Keycloak realm. Any upstream
8
+ identity provider (an institute's SSO, a self-hosted `observation-portal`, ...) is meant to be
9
+ brokered *behind* that Keycloak instance, not validated directly by this library - see
10
+ [`docs/source/architecture.rst`](docs/source/architecture.rst) for the full reasoning.
11
+
12
+ ## Documentation
13
+
14
+ Full installation (adding this to a Django project), configuration (every `PYOBS_AUTH` key),
15
+ architecture, and API reference: see [`docs/source/`](docs/source/) (built with Sphinx —
16
+ `cd docs && uv run --group dev make html`).
17
+
18
+ ## Development
19
+
20
+ ```bash
21
+ git clone https://github.com/pyobs/pyobs-auth.git
22
+ cd pyobs-auth
23
+ uv sync --group dev
24
+ uv run pytest
25
+ uv run ruff check pyobs_auth/
26
+ uv run black --check .
27
+ uv run pyrefly check pyobs_auth
28
+ ```
@@ -1,10 +1,11 @@
1
1
  [project]
2
2
  name = "pyobs-auth"
3
- version = "2.1.0"
3
+ version = "2.1.2"
4
4
  description = "Shared Keycloak/OIDC authentication client for pyobs web services"
5
5
  authors = [{ name = "Tim-Oliver Husser", email = "thusser@uni-goettingen.de" }]
6
6
  requires-python = ">=3.11"
7
7
  license = "MIT"
8
+ readme = "README.md"
8
9
  dependencies = [
9
10
  "Django>=5.2,<7",
10
11
  "djangorestframework>=3.15",
@@ -12,6 +13,12 @@ dependencies = [
12
13
  "PyJWT[crypto]>=2.10.1,<3",
13
14
  ]
14
15
 
16
+ [project.urls]
17
+ Homepage = "https://www.pyobs.org"
18
+ Documentation = "https://docs.pyobs.org"
19
+ Repository = "https://github.com/pyobs/pyobs-auth"
20
+ Issues = "https://github.com/pyobs/pyobs-auth/issues"
21
+
15
22
  [dependency-groups]
16
23
  dev = [
17
24
  "pytest>=8.3.5,<10",
pyobs_auth-2.1.0/PKG-INFO DELETED
@@ -1,12 +0,0 @@
1
- Metadata-Version: 2.5
2
- Name: pyobs-auth
3
- Version: 2.1.0
4
- Summary: Shared Keycloak/OIDC authentication client for pyobs web services
5
- Author-email: Tim-Oliver Husser <thusser@uni-goettingen.de>
6
- License-Expression: MIT
7
- License-File: LICENSE
8
- Requires-Python: >=3.11
9
- Requires-Dist: django<7,>=5.2
10
- Requires-Dist: djangorestframework>=3.15
11
- Requires-Dist: pyjwt[crypto]<3,>=2.10.1
12
- Requires-Dist: requests<3,>=2.32.3
File without changes