Skip to content

Commit b2a5171

Browse files
authored
Merge pull request #114 from davewalker5/dependabot-updates
Dependabot updates
2 parents b147920 + 20463e3 commit b2a5171

15 files changed

Lines changed: 216 additions & 227 deletions

File tree

docker/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
FROM python:3.10-slim-bullseye AS runtime
22

3-
COPY naturerecorderpy-1.19.0.0 /opt/naturerecorderpy
3+
COPY naturerecorderpy-1.20.0.0 /opt/naturerecorderpy
44

55
WORKDIR /opt/naturerecorderpy
66

77
RUN apt-get update -y
88
RUN pip install -r requirements.txt
9-
RUN pip install nature_recorder-1.19.0-py3-none-any.whl
9+
RUN pip install nature_recorder-1.20.0-py3-none-any.whl
1010

1111
ENV NATURE_RECORDER_DATA_FOLDER=/var/opt/naturerecorderpy
1212
ENV NATURE_RECORDER_DB=/var/opt/naturerecorderpy/naturerecorder.db

reports/requirements.txt

Lines changed: 23 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,30 @@
1-
ansicolors==1.1.8
2-
anyio==4.11.0
1+
anyio==4.12.0
32
appnope==0.1.4
43
argon2-cffi==25.1.0
54
argon2-cffi-bindings==25.1.0
6-
arrow==1.3.0
7-
asttokens==3.0.0
5+
arrow==1.4.0
6+
asttokens==3.0.1
87
async-lru==2.0.5
98
attrs==25.4.0
109
babel==2.17.0
11-
beautifulsoup4==4.14.2
12-
bleach==6.2.0
13-
certifi==2025.10.5
10+
beautifulsoup4==4.14.3
11+
bleach==6.3.0
12+
certifi==2025.11.12
1413
cffi==2.0.0
1514
charset-normalizer==3.4.4
16-
click==8.3.0
1715
comm==0.2.3
18-
debugpy==1.8.17
16+
debugpy==1.8.18
1917
decorator==5.2.1
2018
defusedxml==0.7.1
21-
entrypoints==0.4
2219
executing==2.2.1
2320
fastjsonschema==2.21.2
2421
fqdn==1.5.1
2522
h11==0.16.0
2623
httpcore==1.0.9
2724
httpx==0.28.1
2825
idna==3.11
29-
ipykernel==7.0.1
30-
ipython==9.6.0
26+
ipykernel==7.1.0
27+
ipython==9.8.0
3128
ipython_pygments_lexers==1.1.1
3229
isoduration==20.11.0
3330
jedi==0.19.2
@@ -38,68 +35,60 @@ jsonschema==4.25.1
3835
jsonschema-specifications==2025.9.1
3936
jupyter-events==0.12.0
4037
jupyter-lsp==2.3.0
41-
jupyter_client==8.6.3
42-
jupyter_core==5.8.1
38+
jupyter_client==8.7.0
39+
jupyter_core==5.9.1
4340
jupyter_server==2.17.0
4441
jupyter_server_terminals==0.5.3
45-
jupyterlab==4.4.9
42+
jupyterlab==4.5.0
4643
jupyterlab_pygments==0.3.0
47-
jupyterlab_server==2.27.3
48-
lark==1.3.0
44+
jupyterlab_server==2.28.0
45+
lark==1.3.1
4946
MarkupSafe==3.0.3
50-
matplotlib-inline==0.1.7
47+
matplotlib-inline==0.2.1
5148
mistune==3.1.4
49+
narwhals==2.14.0
5250
nbclient==0.10.2
5351
nbconvert==7.16.6
5452
nbformat==5.10.4
5553
nest-asyncio==1.6.0
56-
notebook==7.4.7
54+
notebook==7.5.0
5755
notebook_shim==0.2.4
58-
numpy==2.3.3
5956
packaging==25.0
60-
pandas==2.3.3
6157
pandocfilters==1.5.1
62-
papermill==2.6.0
6358
parso==0.8.5
6459
pexpect==4.9.0
65-
platformdirs==4.5.0
60+
platformdirs==4.5.1
6661
prometheus_client==0.23.1
6762
prompt_toolkit==3.0.52
68-
psutil==7.1.0
63+
psutil==7.1.3
6964
ptyprocess==0.7.0
7065
pure_eval==0.2.3
7166
pycparser==2.23
7267
Pygments==2.19.2
7368
python-dateutil==2.9.0.post0
7469
python-json-logger==4.0.0
75-
pytz==2025.2
7670
PyYAML==6.0.3
7771
pyzmq==27.1.0
7872
referencing==0.37.0
7973
requests==2.32.5
8074
rfc3339-validator==0.1.4
8175
rfc3986-validator==0.1.1
8276
rfc3987-syntax==1.1.0
83-
rpds-py==0.27.1
77+
rpds-py==0.30.0
8478
Send2Trash==1.8.3
8579
setuptools==80.9.0
8680
six==1.17.0
87-
sniffio==1.3.1
8881
soupsieve==2.8
89-
sqlparse==0.5.3
9082
stack-data==0.6.3
91-
tenacity==9.1.2
9283
terminado==0.18.1
9384
tinycss2==1.4.0
94-
tornado==6.5.2
95-
tqdm==4.67.1
85+
tornado==6.5.3
9686
traitlets==5.14.3
97-
types-python-dateutil==2.9.0.20251008
9887
typing_extensions==4.15.0
9988
tzdata==2025.2
10089
uri-template==1.3.0
101-
urllib3==2.5.0
90+
urllib3==2.6.1
10291
wcwidth==0.2.14
103-
webcolors==24.11.1
92+
webcolors==25.10.0
10493
webencodings==0.5.1
10594
websocket-client==1.9.0

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ trio==0.30.0
4848
trio-websocket==0.12.2
4949
typing_extensions==4.14.1
5050
tzdata==2025.2
51-
urllib3==2.5.0
51+
urllib3
5252
urllib3-secure-extra==0.1.0
5353
websocket-client==1.8.0
54-
Werkzeug==3.1.3
54+
Werkzeug
5555
wsproto==1.2.0
5656
WTForms==3.2.1

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def find_package_files(directory, remove_root):
3131

3232
setuptools.setup(
3333
name="nature_recorder",
34-
version="1.19.0",
34+
version="1.20.0",
3535
description="Wildlife sightings database",
3636
packages=setuptools.find_packages("src"),
3737
include_package_data=True,

src/naturerec_model/logic/categories.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from functools import singledispatch
66
import sqlalchemy as db
7-
from datetime import datetime as dt
7+
from datetime import datetime as dt, UTC
88
from sqlalchemy.exc import IntegrityError, NoResultFound
99
from ..model import Session, Category, Species
1010
from .naming import tidy_string, Casing
@@ -45,8 +45,8 @@ def create_category(name, supports_gender, user):
4545
supports_gender=supports_gender,
4646
created_by=user.id,
4747
updated_by=user.id,
48-
date_created=dt.utcnow(),
49-
date_updated=dt.utcnow())
48+
date_created=dt.now(UTC),
49+
date_updated=dt.now(UTC))
5050
session.add(category)
5151
except IntegrityError as e:
5252
raise ValueError("Invalid or duplicate category name") from e
@@ -90,7 +90,7 @@ def update_category(category_id, name, supports_gender, user):
9090
category.name = tidied
9191
category.supports_gender = supports_gender
9292
category.updated_by = user.id
93-
category.date_updated = dt.utcnow()
93+
category.date_updated = dt.now(UTC)
9494
except IntegrityError as e:
9595
raise ValueError("Invalid or duplicate category name") from e
9696

src/naturerec_model/logic/job_statuses.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"""
44

55
import sqlalchemy as db
6-
from datetime import datetime as dt
6+
from datetime import datetime as dt, UTC
77
from sqlalchemy.exc import IntegrityError
88
from ..model import Session, JobStatus
99

@@ -25,8 +25,8 @@ def create_job_status(name, parameters, start, user):
2525
start_date=start,
2626
created_by=user.id,
2727
updated_by=user.id,
28-
date_created=dt.utcnow(),
29-
date_updated=dt.utcnow())
28+
date_created=dt.now(UTC),
29+
date_updated=dt.now(UTC))
3030
session.add(job_status)
3131
except IntegrityError as e:
3232
raise ValueError("Invalid job status properties") from e
@@ -53,7 +53,7 @@ def complete_job_status(job_status_id, end, error, user):
5353
job_status.end_date = end
5454
job_status.error = error
5555
job_status.updated_by = user.id
56-
job_status.date_updated = dt.utcnow()
56+
job_status.date_updated = dt.now(UTC)
5757
except IntegrityError as e:
5858
raise ValueError("Invalid job status properties") from e
5959

src/naturerec_model/logic/locations.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import pandas as pd
77
import pgeocode
88
import pycountry
9-
from datetime import datetime as dt
9+
from datetime import datetime as dt, UTC
1010
from functools import singledispatch
1111
from sqlalchemy.exc import IntegrityError, NoResultFound
1212
from ..model import Session, Location, Sighting
@@ -57,8 +57,8 @@ def create_location(name, county, country, user, address=None, city=None, postco
5757
longitude=longitude,
5858
created_by=user.id,
5959
updated_by=user.id,
60-
date_created=dt.utcnow(),
61-
date_updated=dt.utcnow())
60+
date_created=dt.now(UTC),
61+
date_updated=dt.now(UTC))
6262
session.add(location)
6363
except IntegrityError as e:
6464
raise ValueError("Invalid location properties or duplicate name") from e
@@ -111,7 +111,7 @@ def update_location(location_id, name, county, country, user, address=None, city
111111
location.latitude = latitude
112112
location.longitude = longitude
113113
location.updated_by = user.id
114-
location.date_updated = dt.utcnow()
114+
location.date_updated = dt.now(UTC)
115115
except IntegrityError as e:
116116
raise ValueError("Invalid location properties or duplicate name") from e
117117

src/naturerec_model/logic/sightings.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"""
44

55
import sqlalchemy as db
6-
from datetime import datetime as dt
6+
from datetime import datetime as dt, UTC
77
from sqlalchemy.exc import IntegrityError
88
from ..model import Session, Sighting, Species
99

@@ -58,8 +58,8 @@ def create_sighting(location_id, species_id, date, number, gender, with_young, n
5858
notes=notes,
5959
created_by=user.id,
6060
updated_by=user.id,
61-
date_created=dt.utcnow(),
62-
date_updated=dt.utcnow())
61+
date_created=dt.now(UTC),
62+
date_updated=dt.now(UTC))
6363
session.add(sighting)
6464
except IntegrityError as e:
6565
raise ValueError("Invalid sighting properties") from e
@@ -109,7 +109,7 @@ def update_sighting(sighting_id, location_id, species_id, date, number, gender,
109109
sighting.withYoung = with_young
110110
sighting.notes = notes
111111
sighting.updated_by = user.id
112-
sighting.date_updated = dt.utcnow()
112+
sighting.date_updated = dt.now(UTC)
113113
session.add(sighting)
114114
except IntegrityError as e:
115115
raise ValueError("Invalid sighting properties") from e

src/naturerec_model/logic/species.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from functools import singledispatch
66
import sqlalchemy as db
7-
from datetime import datetime as dt
7+
from datetime import datetime as dt, UTC
88
from sqlalchemy.exc import IntegrityError, NoResultFound
99
from ..model import Session, Species, Sighting, SpeciesStatusRating
1010
from .naming import tidy_string, Casing
@@ -52,8 +52,8 @@ def create_species(category_id, name, scientific_name, user):
5252
scientific_name=tidied_scientific_name,
5353
created_by=user.id,
5454
updated_by=user.id,
55-
date_created=dt.utcnow(),
56-
date_updated=dt.utcnow())
55+
date_created=dt.now(UTC),
56+
date_updated=dt.now(UTC))
5757
session.add(species)
5858
except IntegrityError as e:
5959
raise ValueError("Missing category or invalid or duplicate species name") \
@@ -98,7 +98,7 @@ def update_species(species_id, category_id, name, scientific_name, user):
9898
species.name = tidied_name
9999
species.scientific_name = tidied_scientific_name
100100
species.updated_by = user.id
101-
species.date_updated = dt.utcnow()
101+
species.date_updated = dt.now(UTC)
102102
except IntegrityError as e:
103103
raise ValueError("Missing category or invalid or duplicate species name") \
104104
from e

src/naturerec_model/logic/species_status_ratings.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ def create_species_status_rating(species_id, status_rating_id, region, start, us
5555
end_date=end,
5656
created_by=user.id,
5757
updated_by=user.id,
58-
date_created=datetime.datetime.utcnow(),
59-
date_updated=datetime.datetime.utcnow())
58+
date_created=datetime.datetime.now(datetime.UTC),
59+
date_updated=datetime.datetime.now(datetime.UTC))
6060
session.add(species_rating)
6161
except IntegrityError as e:
6262
raise ValueError("Invalid species conservation status rating properties") from e
@@ -78,7 +78,7 @@ def close_species_status_rating(species_status_rating_id, user):
7878

7979
rating.end_date = datetime.datetime.today().date()
8080
rating.updated_by = user.id
81-
rating.date_updated = datetime.datetime.utcnow()
81+
rating.date_updated = datetime.datetime.now(datetime.UTC)
8282

8383

8484
def get_species_status_rating(species_status_rating_id):

0 commit comments

Comments
 (0)