Skip to content

Commit 6247a1e

Browse files
Merge pull request wildfish#13 from wildfish/feature/py312
Feature/py312
2 parents 16651cb + eda9922 commit 6247a1e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+2158
-3266
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ jobs:
1717
- "3.9"
1818
- "3.10"
1919
- "3.11"
20+
- "3.12"
2021
django-version:
2122
- "3.2"
2223
- "4.0"

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Features
2424
* Dashboard view generation with components including stats, tables, charts and more.
2525
* HTMX driven dashboards and templates for a modern MPA interface.
2626

27-
Supports Django 3.2 to 4.1, on Python 3.9+.
27+
Supports Django 3.2 to 4.2, on Python 3.9+.
2828

2929
See the `full documentation <https://wildfish-django-dashboards.readthedocs.io>`_ for details
3030
of how django-dashboards works.

demos/dashboard/demo/kitchensink/views.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ def get_context_data(self, **kwargs):
2828
tabs = [DemoDashboard(), DynamicDashboard(request=self.request)]
2929
context["tabs"] = tabs
3030
context["initial_tab"] = tabs[0]
31+
# you'd need to combine the media for each tab, for ease just use the first dashboards media here
32+
context["dashboard"] = tabs[0]
3133
return context
3234

3335

demos/dashboard/requirements.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55

66
# Specific for this demo only.
7-
# TODO until pip installable
87
django-dashboards
98
envdir
109
django_configurations
@@ -18,3 +17,4 @@ model_bakery
1817
psutil
1918
psycopg2
2019
whitenoise
20+
setuptools

demos/dashboard/requirements.txt

Lines changed: 53 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,89 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.11
2+
# This file is autogenerated by pip-compile with Python 3.12
33
# by the following command:
44
#
55
# pip-compile
66
#
7-
django-dashboards==0.1.5
8-
anyio==3.6.2
9-
# via httpcore
10-
asgiref==3.6.0
11-
# via django
12-
async-timeout==4.0.2
13-
# via redis
14-
autopep8==2.0.2
7+
anyio==4.0.0
8+
# via httpx
9+
asgiref==3.7.2
10+
# via
11+
# django
12+
# django-cors-headers
13+
autopep8==2.0.4
1514
# via django-silk
16-
certifi==2022.12.7
15+
certifi==2023.7.22
1716
# via
1817
# httpcore
1918
# httpx
2019
# requests
21-
charset-normalizer==3.1.0
20+
charset-normalizer==3.3.2
2221
# via requests
23-
django==4.1.7
22+
django==4.2.7
2423
# via
24+
# django-asset-definitions
2525
# django-configurations
2626
# django-cors-headers
2727
# django-dashboards
2828
# django-grip
2929
# django-redis
3030
# django-silk
3131
# model-bakery
32-
django-configurations==2.4
32+
django-asset-definitions==1.0.0
33+
# via django-dashboards
34+
django-configurations==2.5
3335
# via -r requirements.in
34-
django-cors-headers==3.14.0
36+
django-cors-headers==4.3.1
3537
# via
3638
# -r requirements.in
3739
# django-dashboards
40+
django-dashboards==0.1.5
41+
# via -r requirements.in
3842
django-eventstream==4.5.1
3943
# via -r requirements.in
40-
django-grip==3.2.0
44+
django-grip==3.4.0
4145
# via django-eventstream
42-
django-redis==5.2.0
46+
django-redis==5.4.0
4347
# via -r requirements.in
44-
django-silk==5.0.3
48+
django-silk==5.0.4
4549
# via -r requirements.in
4650
envdir==1.0.1
4751
# via -r requirements.in
48-
faker==18.3.1
52+
faker==20.0.3
4953
# via -r requirements.in
5054
gprof2dot==2022.7.29
5155
# via django-silk
52-
gripcontrol==4.1.0
56+
gripcontrol==4.2.0
5357
# via
5458
# django-eventstream
5559
# django-grip
5660
h11==0.14.0
5761
# via httpcore
58-
httpcore==0.16.3
62+
httpcore==1.0.2
5963
# via httpx
60-
httpx==0.23.3
64+
httpx==0.25.1
6165
# via -r requirements.in
6266
idna==3.4
6367
# via
6468
# anyio
69+
# httpx
6570
# requests
66-
# rfc3986
67-
markupsafe==2.1.2
71+
markupsafe==2.1.3
6872
# via werkzeug
69-
model-bakery==1.10.3
73+
model-bakery==1.17.0
7074
# via -r requirements.in
71-
numpy==1.24.2
75+
numpy==1.26.2
7276
# via
7377
# pandas
7478
# patsy
7579
# plotly-express
7680
# scipy
7781
# statsmodels
78-
packaging==23.0
82+
packaging==23.2
7983
# via
8084
# plotly
8185
# statsmodels
82-
pandas==1.5.3
86+
pandas==2.1.3
8387
# via
8488
# django-dashboards
8589
# plotly-express
@@ -88,23 +92,23 @@ patsy==0.5.3
8892
# via
8993
# plotly-express
9094
# statsmodels
91-
plotly==5.14.0
95+
plotly==5.18.0
9296
# via
9397
# django-dashboards
9498
# plotly-express
9599
plotly-express==0.4.1
96100
# via django-dashboards
97-
psutil==5.9.4
101+
psutil==5.9.6
98102
# via -r requirements.in
99-
psycopg2==2.9.5
103+
psycopg2==2.9.9
100104
# via -r requirements.in
101-
pubcontrol==3.3.0
105+
pubcontrol==3.5.0
102106
# via
103107
# django-grip
104108
# gripcontrol
105-
pycodestyle==2.10.0
109+
pycodestyle==2.11.1
106110
# via autopep8
107-
pyjwt==2.6.0
111+
pyjwt==2.8.0
108112
# via
109113
# django-eventstream
110114
# gripcontrol
@@ -113,15 +117,13 @@ python-dateutil==2.8.2
113117
# via
114118
# faker
115119
# pandas
116-
pytz==2023.3
120+
pytz==2023.3.post1
117121
# via pandas
118-
redis==4.5.4
122+
redis==5.0.1
119123
# via django-redis
120-
requests==2.28.2
124+
requests==2.31.0
121125
# via pubcontrol
122-
rfc3986[idna2008]==1.5.0
123-
# via httpx
124-
scipy==1.10.1
126+
scipy==1.11.3
125127
# via
126128
# plotly-express
127129
# statsmodels
@@ -135,21 +137,25 @@ six==1.16.0
135137
sniffio==1.3.0
136138
# via
137139
# anyio
138-
# httpcore
139140
# httpx
140-
sqlparse==0.4.3
141+
sqlparse==0.4.4
141142
# via
142143
# django
143144
# django-silk
144-
statsmodels==0.13.5
145+
statsmodels==0.14.0
145146
# via plotly-express
146-
tenacity==8.2.2
147+
tenacity==8.2.3
147148
# via plotly
148-
typing-extensions==4.5.0
149+
typing-extensions==4.8.0
149150
# via django-dashboards
150-
urllib3==1.26.15
151+
tzdata==2023.3
152+
# via pandas
153+
urllib3==2.1.0
151154
# via requests
152-
werkzeug==2.2.3
155+
werkzeug==2.3.8
153156
# via django-grip
154-
whitenoise==6.4.0
157+
whitenoise==6.6.0
155158
# via -r requirements.in
159+
160+
# The following packages are considered to be unsafe in a requirements file:
161+
# setuptools

docs/dashboards/howto/views.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@ is how you'd make tabbed dashboards, which leverage HTMXs lazy loading and parti
114114
tabs = [DemoDashboard(), DynamicDashboard(request=self.request)]
115115
context["tabs"] = tabs
116116
context["initial_tab"] = tabs[0]
117+
# you'd need to combine the media for each tab, for ease just use the first dashboards media here
118+
context["dashboard"] = tabs[0]
117119
return context
118120

119121
# templates/tabbed.html

requirements.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ ipdb
1919
pip-tools
2020
pre-commit
2121
typing_extensions
22+
setuptools
2223

2324
# Testing
2425
django-webtest
@@ -33,7 +34,7 @@ pytest-isort
3334
pytest-flake8
3435
pytest-freezegun
3536
pytest-mypy
36-
snapshottest
37+
syrupy
3738

3839
# Documentation
3940
sphinx

0 commit comments

Comments
 (0)