Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
python-version: ["3.11", "3.12", "3.13", "3.14"]
services:
mariadb:
image: mariadb:12.2.2 # released 2024-05-06
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/publish-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ jobs:
newVersion: ${{ steps.checkTag.outputs.newVersion }}
steps:
- uses: actions/checkout@v6
- name: Use Python 3.10
- name: Use Python 3.14
uses: actions/setup-python@v6
with:
python-version: "3.10"
python-version: "3.14"
- name: Check current tag
id: checkTag
run: |
Expand Down Expand Up @@ -65,10 +65,10 @@ jobs:
if: ${{ needs.get-current-version.outputs.doTag == 'true' }}
steps:
- uses: actions/checkout@v6
- name: Set up Python 3.10
- name: Set up Python 3.14
uses: actions/setup-python@v6
with:
python-version: "3.10"
python-version: "3.14"
- name: Install pypa/build
run: >-
python3 -m
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python 3.10
- name: Set up Python 3.14
uses: actions/setup-python@v6
with:
python-version: "3.10"
python-version: "3.14"
- name: Syntax validation
run: |
python .github/workflows/scripts/syntax-validation.py
Expand All @@ -38,10 +38,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python 3.10
- name: Set up Python 3.14
uses: actions/setup-python@v6
with:
python-version: "3.10"
python-version: "3.14"
- name: Install pypa/build
run: >-
python3 -m
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/version-bump.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ jobs:
pull-requests: write
steps:
- uses: actions/checkout@v6
- name: Set up Python 3.10
- name: Set up Python 3.14
uses: actions/setup-python@v6
with:
python-version: "3.10"
python-version: "3.14"
- name: Install package
run: |
set -eux
Expand Down
2 changes: 1 addition & 1 deletion Dockerfiles/murfey-instrument-server
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ RUN \
/venv/bin/python -m pip install --upgrade \
pip \
build \
importlib-metadata && \
&& \
/venv/bin/python -m pip install /tmp/python-murfey[sxt]


Expand Down
3 changes: 1 addition & 2 deletions Dockerfiles/murfey-server
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@ RUN \
/venv/bin/python -m pip install --upgrade \
pip \
build \
importlib-metadata \
psycopg2-binary && \
&& \
/venv/bin/python -m pip install /tmp/python-murfey[server] && \
echo "Installing IMOD..." && \
mkdir /imod && \
Expand Down
9 changes: 5 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,18 @@ keywords = [
license = {file = "LICENSE"}
maintainers = []
authors = []
requires-python = ">=3.10"
requires-python = ">=3.11"
classifiers = [
"Development Status :: 3 - Alpha",
"Environment :: Console",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dependencies = [
"aiohttp",
Expand Down Expand Up @@ -64,7 +65,7 @@ server = [
"passlib",
"pillow",
"prometheus_client",
"sqlalchemy[postgresql]", # Add as explicit dependency
"sqlalchemy[postgresql]>=2.1.0",
"sqlmodel",
"stomp-py>8.1.1", # 8.1.1 (released 2024-04-06) doesn't work with our project
"zocalo>=1",
Expand Down Expand Up @@ -168,7 +169,7 @@ inputs = "pyproject.toml"
check = false
indent = 4
keep_full_version = true
max-supported-python = "3.12"
max_supported_python = "3.14"

[tool.pytest.ini_options]
addopts = "-ra"
Expand Down
2 changes: 1 addition & 1 deletion src/murfey/server/murfey_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def url(security_config: Security | None = None) -> str:
return f"sqlite:///{creds['database']}"
f = Fernet(security_config.crypto_key.encode("ascii"))
p = f.decrypt(creds["password"].encode("ascii"))
return f"postgresql+psycopg2://{creds['username']}:{p.decode()}@{creds['host']}:{creds['port']}/{creds['database']}"
return f"postgresql://{creds['username']}:{p.decode()}@{creds['host']}:{creds['port']}/{creds['database']}"


def get_murfey_db_session(
Expand Down
2 changes: 1 addition & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ def ispyb_db_session(
def murfey_db_url():
try:
return (
f"postgresql+psycopg2://{os.environ['POSTGRES_USER']}:{os.environ['POSTGRES_PASSWORD']}"
f"postgresql://{os.environ['POSTGRES_USER']}:{os.environ['POSTGRES_PASSWORD']}"
f"@{os.environ['POSTGRES_HOST']}:{os.environ['POSTGRES_PORT']}/{os.environ['POSTGRES_DB']}"
)
# Skip Murfey database-related tests if the environment for it hasn't been set up
Expand Down
Loading