Skip to content

Commit f7ef764

Browse files
authored
Merge pull request ckan#8612 from ckan/requirements-upgrade-january-2025
Requirements upgrade January 2025
2 parents 38ef700 + 9bc33d7 commit f7ef764

File tree

12 files changed

+72
-56
lines changed

12 files changed

+72
-56
lines changed

changes/8612.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Upgrade requirements

ckan/config/config_declaration.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,26 @@ groups:
7676
internal: true
7777
- key: MAX_COOKIE_SIZE
7878
internal: true
79+
- key: MAX_FORM_MEMORY_SIZE
80+
internal: true
81+
- key: MAX_FORM_PARTS
82+
internal: true
7983
- key: PREFERRED_URL_SCHEME
8084
internal: true
8185
- key: PRESERVE_CONTEXT_ON_EXCEPTION
8286
internal: true
87+
- key: PROVIDE_AUTOMATIC_OPTIONS
88+
internal: true
8389
- key: PROPAGATE_EXCEPTIONS
8490
internal: true
91+
- key: SECRET_KEY_FALLBACKS
92+
internal: true
8593
- key: SEND_FILE_MAX_AGE_DEFAULT
8694
internal: true
8795
- key: SERVER_NAME
8896
internal: true
97+
- key: SESSION_COOKIE_PARTITIONED
98+
internal: true
8999
- key: TEMPLATES_AUTO_RELOAD
90100
internal: true
91101
- key: TESTING
@@ -94,6 +104,8 @@ groups:
94104
internal: true
95105
- key: TRAP_HTTP_EXCEPTIONS
96106
internal: true
107+
- key: TRUSTED_HOSTS
108+
internal: true
97109
- key: USE_X_SENDFILE
98110
internal: true
99111
- key: DEBUG_TB_HOSTS

ckan/lib/helpers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ def _url_for_flask(*args: Any, **kw: Any) -> str:
453453
for key, val in kw.items():
454454
if isinstance(val, (list, tuple)):
455455
for value in val:
456-
if value is None or value == {}:
456+
if value is None:
457457
continue
458458
query_args.append(
459459
u'{}={}'.format(
@@ -462,7 +462,7 @@ def _url_for_flask(*args: Any, **kw: Any) -> str:
462462
)
463463
)
464464
else:
465-
if val is None or val == {}:
465+
if val is None:
466466
continue
467467
query_args.append(
468468
u'{}={}'.format(

ckan/model/api_token.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def _make_token() -> str:
3232
Column(u"user_id", types.UnicodeText, ForeignKey(u"user.id")),
3333
Column(u"created_at", types.DateTime, default=datetime.datetime.utcnow),
3434
Column(u"last_access", types.DateTime, nullable=True),
35-
Column(u"plugin_extras", MutableDict.as_mutable(JSONB)), # type: ignore
35+
Column(u"plugin_extras", MutableDict.as_mutable(JSONB)),
3636
)
3737

3838

ckan/model/group.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
Column('is_organization', types.Boolean, default=False),
4949
Column('approval_status', types.UnicodeText, default=u"approved"),
5050
Column('state', types.UnicodeText, default=core.State.ACTIVE),
51-
Column('extras', MutableDict.as_mutable(JSONB), CheckConstraint( # type: ignore
51+
Column('extras', MutableDict.as_mutable(JSONB), CheckConstraint(
5252
"""
5353
jsonb_typeof(extras) = 'object' and
5454
not jsonb_path_exists(extras, '$.* ? (@.type() <> "string")')

ckan/model/package.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@
7474
Column('metadata_modified', types.DateTime, default=datetime.datetime.utcnow),
7575
Column('private', types.Boolean, default=False),
7676
Column('state', types.UnicodeText, default=core.State.ACTIVE),
77-
Column('plugin_data', MutableDict.as_mutable(JSONB)), # type: ignore
78-
Column('extras', MutableDict.as_mutable(JSONB), CheckConstraint( # type: ignore
77+
Column('plugin_data', MutableDict.as_mutable(JSONB)),
78+
Column('extras', MutableDict.as_mutable(JSONB), CheckConstraint(
7979
"""
8080
jsonb_typeof(extras) = 'object' and
8181
not jsonb_path_exists(extras, '$.* ? (@.type() <> "string")')

ckan/model/user.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def set_api_key() -> Optional[str]:
5858
Column('sysadmin', types.Boolean, default=False),
5959
Column('state', types.UnicodeText, default=core.State.ACTIVE, nullable=False),
6060
Column('image_url', types.UnicodeText),
61-
Column('plugin_extras', MutableDict.as_mutable(JSONB)), # type: ignore
61+
Column('plugin_extras', MutableDict.as_mutable(JSONB)),
6262
Index('idx_user_id', 'id'),
6363
Index('idx_user_name', 'name'),
6464
Index('idx_only_one_active_email', 'email', 'state', unique=True,

ckan/tests/lib/test_helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def test_debugtoolbar_url(self, ckan_config):
169169
({"param": 27.3}, "/dataset/my_dataset?param=27.3"),
170170
({"param": True}, "/dataset/my_dataset?param=True"),
171171
({"param": None}, "/dataset/my_dataset"),
172-
({"param": {}}, "/dataset/my_dataset"),
172+
({"param": {}}, "/dataset/my_dataset?param=%7B%7D"),
173173
],
174174
)
175175
def test_url_for_string_route_with_query_param(self, extra, exp):

dev-requirements.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,22 @@
33
beautifulsoup4==4.12.3
44
cookiecutter==2.6.0
55
coveralls #Let Unpinned - Requires latest coveralls
6-
Faker==30.8.2
6+
Faker==33.3.1
77
factory-boy==3.3.1
88
flask-debugtoolbar==0.16.0
99
freezegun==1.5.1
1010
ipdb==0.13.13
1111
pip-tools==7.4.1
12-
Pillow==11.0.0
13-
responses==0.25.3
14-
sphinx-rtd-theme==3.0.1
12+
Pillow==11.1.0
13+
responses==0.25.6
14+
sphinx-rtd-theme==3.0.2
1515
sphinx==7.4.7
1616
toml==0.10.2
1717
towncrier==24.8.0
1818

19-
pytest==8.2.2
19+
pytest==8.3.4
2020
pytest-cov==6.0.0
2121
pytest-factoryboy==2.7.0
2222
pytest-freezegun==0.4.2
23-
pytest-rerunfailures==14.0
23+
pytest-rerunfailures==15.0
2424
pytest-split==0.10.0

package-lock.json

Lines changed: 17 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

requirements.in

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
# The file contains the direct ckan requirements (python3).
22
# Use pip-compile to create a requirements.txt file from this
3-
alembic==1.13.3
3+
alembic==1.14.0
44
Babel==2.16.0
55
bleach==6.2.0
6-
blinker==1.8.2
6+
blinker==1.9.0
77
certifi>=2024.8.30
8-
click==8.1.7
8+
click==8.1.8
99
dominate==2.9.1
1010
feedgen==1.0.0
11-
Flask==3.0.3
11+
Flask==3.1.0
1212
Flask-Babel==4.0.0
1313
Flask-Login==0.6.3
1414
Flask-Session==0.8.0
1515
Flask-WTF==1.2.2
16-
Jinja2==3.1.4
16+
Jinja2==3.1.5
1717
Markdown==3.7
18-
msgspec==0.18.6
18+
msgspec==0.19.0
1919
packaging==24.1
2020
passlib==1.7.4
2121
polib==1.2.0
22-
psycopg2==2.9.9
23-
PyJWT==2.9.0
24-
pyparsing==3.2.0
22+
psycopg2==2.9.10
23+
PyJWT==2.10.1
24+
pyparsing==3.2.1
2525
python-magic==0.4.27
2626
pysolr==3.10.0
2727
python-dateutil==2.9.0.post0
2828
pytz
29-
pyyaml==6.0.1
29+
pyyaml==6.0.2
3030
requests==2.32.3
3131
rq==2.0.0
3232
simplejson==3.19.3
33-
SQLAlchemy==2.0.36
34-
sqlparse==0.5.1
33+
SQLAlchemy==2.0.37
34+
sqlparse==0.5.3
3535
typing_extensions==4.12.2
3636
tzlocal==5.2
3737
webassets==2.0
38-
Werkzeug[watchdog]==3.1.1
39-
zope.interface==7.1.1
38+
Werkzeug[watchdog]==3.1.3
39+
zope.interface==7.2

requirements.txt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
# pip-compile requirements.in
66
#
7-
alembic==1.13.3
7+
alembic==1.14.0
88
# via -r requirements.in
99
async-timeout==5.0.0
1010
# via redis
@@ -14,7 +14,7 @@ babel==2.16.0
1414
# flask-babel
1515
bleach==6.2.0
1616
# via -r requirements.in
17-
blinker==1.8.2
17+
blinker==1.9.0
1818
# via
1919
# -r requirements.in
2020
# flask
@@ -26,7 +26,7 @@ certifi==2024.8.30
2626
# requests
2727
charset-normalizer==3.4.0
2828
# via requests
29-
click==8.1.7
29+
click==8.1.8
3030
# via
3131
# -r requirements.in
3232
# flask
@@ -35,7 +35,7 @@ dominate==2.9.1
3535
# via -r requirements.in
3636
feedgen==1.0.0
3737
# via -r requirements.in
38-
flask==3.0.3
38+
flask==3.1.0
3939
# via
4040
# -r requirements.in
4141
# flask-babel
@@ -62,7 +62,7 @@ itsdangerous==2.2.0
6262
# via
6363
# flask
6464
# flask-wtf
65-
jinja2==3.1.4
65+
jinja2==3.1.5
6666
# via
6767
# -r requirements.in
6868
# flask
@@ -79,7 +79,7 @@ markupsafe==3.0.2
7979
# mako
8080
# werkzeug
8181
# wtforms
82-
msgspec==0.18.6
82+
msgspec==0.19.0
8383
# via
8484
# -r requirements.in
8585
# flask-session
@@ -89,11 +89,11 @@ passlib==1.7.4
8989
# via -r requirements.in
9090
polib==1.2.0
9191
# via -r requirements.in
92-
psycopg2==2.9.9
92+
psycopg2==2.9.10
9393
# via -r requirements.in
94-
pyjwt==2.9.0
94+
pyjwt==2.10.1
9595
# via -r requirements.in
96-
pyparsing==3.2.0
96+
pyparsing==3.2.1
9797
# via -r requirements.in
9898
pysolr==3.10.0
9999
# via -r requirements.in
@@ -107,7 +107,7 @@ pytz==2024.2
107107
# via
108108
# -r requirements.in
109109
# flask-babel
110-
pyyaml==6.0.1
110+
pyyaml==6.0.2
111111
# via -r requirements.in
112112
redis==5.2.0
113113
# via rq
@@ -121,11 +121,11 @@ simplejson==3.19.3
121121
# via -r requirements.in
122122
six==1.16.0
123123
# via python-dateutil
124-
sqlalchemy==2.0.36
124+
sqlalchemy==2.0.37
125125
# via
126126
# -r requirements.in
127127
# alembic
128-
sqlparse==0.5.1
128+
sqlparse==0.5.3
129129
# via -r requirements.in
130130
typing-extensions==4.12.2
131131
# via
@@ -142,7 +142,7 @@ webassets==2.0
142142
# via -r requirements.in
143143
webencodings==0.5.1
144144
# via bleach
145-
werkzeug[watchdog]==3.1.1
145+
werkzeug[watchdog]==3.1.3
146146
# via
147147
# -r requirements.in
148148
# flask
@@ -152,7 +152,7 @@ wtforms==3.2.1
152152
# via flask-wtf
153153
zipp==3.20.2
154154
# via importlib-metadata
155-
zope-interface==7.1.1
155+
zope-interface==7.2
156156
# via -r requirements.in
157157

158158
# The following packages are considered to be unsafe in a requirements file:

0 commit comments

Comments
 (0)