11[build-system ]
2- requires = [" hatchling" , " hatch-vcs" ]
2+ requires = [" hatchling==1.29.0 " , " hatch-vcs==0.5.0 " ]
33build-backend = " hatchling.build"
44
55[project ]
@@ -10,94 +10,94 @@ license-files = ["LICENSE", "NOTICE"]
1010classifiers = [" Private :: Do Not Upload" ]
1111dependencies = [
1212 # Runtime dependencies, always needed
13- " boto3" ,
14- " celery" ,
13+ " boto3==1.40.51 " ,
14+ " celery==5.5.3 " ,
1515 # Pin dandischema to exact version to make explicit which schema version is being used
1616 " dandischema==0.12.1" , # schema version 0.7.0
17- " django[argon2]" ,
18- " django-allauth" ,
19- " django-auth-style" ,
20- " django-click" ,
21- " django-cors-headers" ,
22- " django-environ" ,
23- " django-extensions" ,
24- " django-filter" ,
25- " django-guardian" ,
26- " django-oauth-toolkit" ,
27- " django-resonant-settings[allauth,celery]" ,
28- " django-resonant-utils[allauth,s3_storage]" ,
29- " django-stubs-ext" ,
17+ " django[argon2]==5.2.7 " ,
18+ " django-allauth==65.12.0 " ,
19+ " django-auth-style==0.12.0 " ,
20+ " django-click==2.4.1 " ,
21+ " django-cors-headers==4.9.0 " ,
22+ " django-environ==0.12.1 " ,
23+ " django-extensions==4.1 " ,
24+ " django-filter==25.2 " ,
25+ " django-guardian==3.2.0 " ,
26+ " django-oauth-toolkit==3.1.0 " ,
27+ " django-resonant-settings[allauth,celery]==0.48.1 " ,
28+ " django-resonant-utils[allauth,s3_storage]==0.16.0 " ,
29+ " django-stubs-ext==5.2.7 " ,
3030 # TODO: pin djangorestframework until we figure out what the cause of
3131 # https://github.com/dandi/dandi-archive/issues/1896 is.
32- " djangorestframework<3.15 .0" ,
33- " drf-extensions" ,
34- " drf-yasg" ,
35- " fsspec[http]" ,
36- " jsonschema" ,
37- " more_itertools" ,
38- " psycopg[binary]" ,
39- " pyyaml" ,
40- " requests" ,
41- " rich" ,
42- " whitenoise[brotli]" ,
43- " zarr-checksum" ,
32+ " djangorestframework==3.14 .0" ,
33+ " drf-extensions==0.8.0 " ,
34+ " drf-yasg==1.21.11 " ,
35+ " fsspec[http]==2025.9.0 " ,
36+ " jsonschema==4.25.1 " ,
37+ " more_itertools==10.8.0 " ,
38+ " psycopg[binary]==3.2.10 " ,
39+ " pyyaml==6.0.3 " ,
40+ " requests==2.32.5 " ,
41+ " rich==14.2.0 " ,
42+ " whitenoise[brotli]==6.11.0 " ,
43+ " zarr-checksum==0.4.7 " ,
4444 # Production-only
45- " django-s3-file-field[s3]" ,
46- " django-storages[s3]" ,
47- " sentry-sdk[celery,django,pure_eval]" ,
48- " gunicorn" ,
45+ " django-s3-file-field[s3]==1.1.0 " ,
46+ " django-storages[s3]==1.14.6 " ,
47+ " sentry-sdk[celery,django,pure_eval]==2.41.0 " ,
48+ " gunicorn==23.0.0 " ,
4949 # Development-only, but required
50- " tqdm" ,
50+ " tqdm==4.67.1 " ,
5151]
5252dynamic = [" version" ]
5353
5454[project .optional-dependencies ]
5555development = [
5656 # Runtime dependencies, only needed with "development" settings
57- " django-browser-reload" ,
58- " django-debug-toolbar" ,
59- " ipython" ,
60- " watchdog" ,
61- " werkzeug" ,
57+ " django-browser-reload==1.21.0 " ,
58+ " django-debug-toolbar==6.0.0 " ,
59+ " ipython==9.6.0 " ,
60+ " watchdog==6.0.0 " ,
61+ " werkzeug==3.1.3 " ,
6262]
63- cli = [" dandi>= 0.74.0 " ]
63+ cli = [" dandi== 0.74.3 " ]
6464
6565[dependency-groups ]
6666dev = [
6767 # Additional developer tools
6868 # The "dev" dependency group is installed by default,
6969 # so use this to install "development" extras by default too
7070 " dandiapi[development]" ,
71- " pre-commit" ,
72- " tox" ,
73- " tox-uv" ,
71+ " pre-commit==4.3.0 " ,
72+ " tox==4.31.0 " ,
73+ " tox-uv==1.29.0 " ,
7474]
7575lint = [
76- " ruff" ,
76+ " ruff==0.14.0 " ,
7777]
7878type = [
79- " mypy" ,
80- " boto3-stubs[s3]" ,
81- " celery-types" ,
82- " django-stubs[compatible-mypy]" ,
83- " djangorestframework-stubs[compatible-mypy]" ,
79+ " mypy==1.18.2 " ,
80+ " boto3-stubs[s3]==1.40.51 " ,
81+ " celery-types==0.23.0 " ,
82+ " django-stubs[compatible-mypy]==5.2.7 " ,
83+ " djangorestframework-stubs[compatible-mypy]==3.16.4 " ,
8484]
8585test = [
86- " djangorestframework-yaml" ,
87- " Faker" ,
88- " factory-boy" ,
89- " freezegun" ,
90- " pytest" ,
91- " pytest-cov" ,
92- " pytest-django" ,
93- " pytest-factoryboy" ,
86+ " djangorestframework-yaml==2.0.0 " ,
87+ " Faker==37.11.0 " ,
88+ " factory-boy==3.3.3 " ,
89+ " freezegun==1.5.5 " ,
90+ " pytest==8.4.2 " ,
91+ " pytest-cov==7.0.0 " ,
92+ " pytest-django==4.11.1 " ,
93+ " pytest-factoryboy==2.8.1 " ,
9494 # Enable with "pytest --memray ..."
95- " pytest-memray" ,
96- " pytest-mock" ,
95+ " pytest-memray==1.8.0 " ,
96+ " pytest-mock==3.15.1 " ,
9797 # Enable with "pytest --random-order ..."
98- " pytest-random-order" ,
98+ " pytest-random-order==1.2.0 " ,
9999 # Enable with "pytest --count=... ..."
100- " pytest-repeat" ,
100+ " pytest-repeat==0.9.4 " ,
101101]
102102
103103[tool .hatch .build ]
0 commit comments