openadmin-dev 0.6.2__py3-none-any.whl → 0.7.3__py3-none-any.whl

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.
@@ -53,9 +53,11 @@ class AdminPage:
53
53
 
54
54
  if isinstance(item, Stat):
55
55
  components.append(
56
- spec.Stat(
56
+ spec.StatComponent(
57
57
  type="stat",
58
58
  id=item.id,
59
+ color=item.color,
60
+ icon=item.icon,
59
61
  name=item.name,
60
62
  description=item.description,
61
63
  method=item.method,
@@ -222,6 +224,8 @@ class AdminPage:
222
224
  self,
223
225
  name: str,
224
226
  *,
227
+ icon: spec.Icon | None = None,
228
+ color: spec.Color | None = None,
225
229
  description: str | None = None,
226
230
  ):
227
231
  kebab_name, unique_name = self.__get_kebab_and_unique_name(name)
@@ -229,6 +233,8 @@ class AdminPage:
229
233
  item = Stat(
230
234
  function_name=unique_name,
231
235
  method="get",
236
+ color=color,
237
+ icon=icon,
232
238
  name=name,
233
239
  description=description,
234
240
  id=kebab_name,
openadmin/fastapi/stat.py CHANGED
@@ -13,6 +13,8 @@ class Stat:
13
13
  function_name: str
14
14
  method: spec.HttpMethod
15
15
  id: str
16
+ icon: spec.Icon | None
17
+ color: spec.Color | None
16
18
  name: str
17
19
  description: str | None
18
20
  func: Callable | None = field(default=None)
@@ -5,6 +5,7 @@
5
5
  from .action import Action
6
6
  from .area_chart import AreaChart
7
7
  from .bar_chart import BarChart
8
+ from .colors import Color
8
9
  from .component import Component
9
10
  from .form import Form
10
11
  from .http_methods import HttpMethod
@@ -17,7 +18,7 @@ from .property import Property
17
18
  from .property_type import PropertyType
18
19
  from .section import Section
19
20
  from .spec import Spec
20
- from .stat import Stat
21
+ from .stat import Stat, StatComponent, StatResponse, StatValue
21
22
  from .table import Table
22
23
 
23
24
  __all__ = [
@@ -34,8 +35,12 @@ __all__ = [
34
35
  "PropertyType",
35
36
  "Section",
36
37
  "Spec",
37
- "Stat",
38
+ "StatComponent",
38
39
  "Table",
39
40
  "Markdown",
40
41
  "Icon",
42
+ "StatResponse",
43
+ "StatValue",
44
+ "Stat",
45
+ "Color",
41
46
  ]
@@ -0,0 +1,32 @@
1
+ # SPDX-FileCopyrightText: 2026 OpenAdmin
2
+ #
3
+ # SPDX-License-Identifier: AGPL-3.0-or-later
4
+
5
+ from typing import Literal
6
+
7
+ type Color = Literal[
8
+ "slate",
9
+ "gray",
10
+ "zinc",
11
+ "neutral",
12
+ "stone",
13
+ "red",
14
+ "orange",
15
+ "amber",
16
+ "yellow",
17
+ "lime",
18
+ "green",
19
+ "emerald",
20
+ "teal",
21
+ "cyan",
22
+ "sky",
23
+ "blue",
24
+ "indigo",
25
+ "violet",
26
+ "purple",
27
+ "fuchsia",
28
+ "pink",
29
+ "rose",
30
+ "black",
31
+ "white",
32
+ ]
@@ -11,9 +11,17 @@ from .form import Form
11
11
  from .line_chart import LineChart
12
12
  from .markdown import Markdown
13
13
  from .pie_chart import PieChart
14
- from .stat import Stat
14
+ from .stat import StatComponent
15
15
  from .table import Table
16
16
 
17
17
  type Component = Union[
18
- Stat, Table, AreaChart, BarChart, LineChart, PieChart, Action, Form, Markdown
18
+ StatComponent,
19
+ Table,
20
+ AreaChart,
21
+ BarChart,
22
+ LineChart,
23
+ PieChart,
24
+ Action,
25
+ Form,
26
+ Markdown,
19
27
  ]
openadmin/spec/stat.py CHANGED
@@ -2,19 +2,35 @@
2
2
  #
3
3
  # SPDX-License-Identifier: AGPL-3.0-or-later
4
4
 
5
- from typing import Literal
5
+ from typing import Literal, NotRequired, TypedDict
6
6
 
7
7
  from pydantic import BaseModel, Field
8
8
 
9
+ from .colors import Color
9
10
  from .http_methods import HttpMethod
11
+ from .icons import Icon
10
12
  from .property import Property
11
13
 
12
14
 
13
- class Stat(BaseModel):
15
+ class StatComponent(BaseModel):
14
16
  type: Literal["stat"]
15
17
  id: str
18
+ icon: Icon | None
19
+ color: Color | None
16
20
  name: str
17
21
  description: str | None
18
22
  url: str
19
23
  method: HttpMethod
20
24
  query: list[Property] | None = Field(None)
25
+
26
+
27
+ type StatValue = str | int | float | bool | None
28
+
29
+
30
+ class StatResponse(TypedDict):
31
+ value: StatValue
32
+ icon: NotRequired[Icon]
33
+ color: NotRequired[Color]
34
+
35
+
36
+ type Stat = StatValue | StatResponse
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openadmin-dev
3
- Version: 0.6.2
3
+ Version: 0.7.3
4
4
  Summary: Add your description here
5
5
  Project-URL: Homepage, https://github.com/openadmin-team/openadmin-py
6
6
  Project-URL: Issues, https://github.com/openadmin-team/openadmin-py/issues
@@ -1,6 +1,6 @@
1
1
  openadmin/fastapi/__init__.py,sha256=ssQtgZVSRIZfh7I2mpsj2wdlUryjPoEB3sLwDmMVv5I,269
2
2
  openadmin/fastapi/action.py,sha256=M1U8_M3PycsxFwlErP-FoNQr6s1pJ1TO2c0qAubhcDo,395
3
- openadmin/fastapi/admin_page.py,sha256=0v9MO1zSOem-M17ZVq7NPeVsowAN8mKLzlEzcRClmy4,16915
3
+ openadmin/fastapi/admin_page.py,sha256=o9hv_M9PZffyIHCoqT4wXHroNZkz-5dIPkZUF582EGo,17134
4
4
  openadmin/fastapi/admin_panel.py,sha256=V5SyBw8sw8QXvNhfXrGX1a2PXU1__eFfuI-1dZVeXRw,2777
5
5
  openadmin/fastapi/area_chart.py,sha256=UxJHoyw6gUv35gy3OEuzewV4NUPflaLSxk_30nXmqBI,378
6
6
  openadmin/fastapi/bar_chart.py,sha256=VeyiTZY9TUHohvYhhKtkZGHEOZvBYCR8HI2afZZR2qM,377
@@ -14,14 +14,15 @@ openadmin/fastapi/page_protocol.py,sha256=zMio8SamTFO6_Dxp_8_xnErTC6VEfryVtW_5jO
14
14
  openadmin/fastapi/pagination_params.py,sha256=oVI5VkYYwqpZkJBErQTCbDzGgvjRJFY0rl50rbWII5g,189
15
15
  openadmin/fastapi/pie_chart.py,sha256=drUJ3oRGTnU9BC6m1uOplZ7yL-dkn-pnBNadb0GTtq0,377
16
16
  openadmin/fastapi/section.py,sha256=Flcx6QwhKfx3dDVmVhovcJFbRX_J3jk5Q6tAUJ2iTC8,363
17
- openadmin/fastapi/stat.py,sha256=GiD6y8fq4ViJ1LXnghxHTXZAusUarPLPA-RT5phYO8A,373
17
+ openadmin/fastapi/stat.py,sha256=hX749_KYPnGubVA9naWxxCeyE7D1Zq5psPatb4M-6pE,429
18
18
  openadmin/fastapi/table.py,sha256=oCl6Go_YznJerXA6vk1XxAKt5QUa4c3ASdH_pTlbOD8,374
19
19
  openadmin/fastapi/utils.py,sha256=IPG2uSJSe8AeIW4iYSLrMx_8DoDiMr3z_dzG1Gxr4wo,5806
20
- openadmin/spec/__init__.py,sha256=Tz-z4iGUE7ZjyfdXx-R1tbtPTqfRxUTBj91Mo8fSUiE,860
20
+ openadmin/spec/__init__.py,sha256=U74a4z4g3-4CtQ8nQHlPuAbyk_41V6IDOL45j_2OWXI,997
21
21
  openadmin/spec/action.py,sha256=UsNhzRILUc3X-crQqyJuDezVG44Z7-y2XWoMgfQyjQQ,534
22
22
  openadmin/spec/area_chart.py,sha256=3TzJHsVZtG6pmpqSG_T6z4KOAWVeNM4VRHDwU4V1A5I,423
23
23
  openadmin/spec/bar_chart.py,sha256=63vRdmwSOlUz-DtL5n9-qxC_TL63IikiW0zWCrx0KoM,421
24
- openadmin/spec/component.py,sha256=RGD8bfa7-X5K1lfjKFNoMktDqH4vIxrP7Tt_L6AvJQk,485
24
+ openadmin/spec/colors.py,sha256=-lqbVo1amb-TO6crM5HmqCS0PIA54a1uPZAmpa_-STI,452
25
+ openadmin/spec/component.py,sha256=ZKkgIVGWkDA7zpsCmRMty6VKvnMFxtAKEzwI4KaOXZE,536
25
26
  openadmin/spec/form.py,sha256=zsS4b4c7pXEvfwmD4wpaYXNbGasycLk0Oj_XZL9cyuU,530
26
27
  openadmin/spec/http_methods.py,sha256=gRcLLnMCHvXYyq_8T4aVmjxy_kfOAc7x8SLc3MJmAl0,192
27
28
  openadmin/spec/icons.py,sha256=ltCrSyPuynEQzL_Kz8PyvKDwrlPiaPrNUecDGHo9bO8,38782
@@ -33,9 +34,9 @@ openadmin/spec/property.py,sha256=svoPxt3miGmK_ySFPFJmGdfZIAYBxaK37VsYwUjctbI,49
33
34
  openadmin/spec/property_type.py,sha256=m1eJ7H5YIP4dhaa899Qc9BCRkZOwP_DELl6vPZB31HY,306
34
35
  openadmin/spec/section.py,sha256=EbG77eRZOgTGYmxx5H7AROe_xdfPIplNEe81crtHuz8,319
35
36
  openadmin/spec/spec.py,sha256=9wMyVDj4yMUkEdI-5f3FAYLDqXJ_FddME9padayB5Fs,294
36
- openadmin/spec/stat.py,sha256=yjCb_QBChKykEjYoRtUf4GKh7_hgHZ_DznZEdTWXATQ,412
37
+ openadmin/spec/stat.py,sha256=XXoxfGQUmkkjCDdpAW217Ha4OYguimjHCzyJiV--lSM,743
37
38
  openadmin/spec/table.py,sha256=logljWHtxepKIqFaXnGLWaIu12S3dVh2OjNTtrqD44U,512
38
- openadmin_dev-0.6.2.dist-info/METADATA,sha256=0KOWp60cI7-fsxG7gR4oytzWD04jVwrN48r25J1SaHo,8940
39
- openadmin_dev-0.6.2.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
40
- openadmin_dev-0.6.2.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
41
- openadmin_dev-0.6.2.dist-info/RECORD,,
39
+ openadmin_dev-0.7.3.dist-info/METADATA,sha256=sR1FZlKlAQTppEINjNCJQIXhMzofAC0G15OEtDHkgeM,8940
40
+ openadmin_dev-0.7.3.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
41
+ openadmin_dev-0.7.3.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
42
+ openadmin_dev-0.7.3.dist-info/RECORD,,