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
16 changes: 8 additions & 8 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
python-version: 3.13
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand All @@ -20,7 +20,7 @@ jobs:
run: |
python -m build
pip install dist/*.whl
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
path: ./dist/*

Expand All @@ -29,11 +29,11 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
python-version: ["3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: artifact
path: dist
Expand All @@ -45,7 +45,7 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest dist/*.whl -r requirements_dev.txt pytest-md pytest-emoji
pip install dist/*.whl -r requirements_dev.txt pytest-md pytest-emoji
- name: Run pytest
uses: pavelzw/pytest-action@b09a85cd1831cbaae76125fcae4a1e4b137ef026 # v2.1.3
with:
Expand All @@ -70,7 +70,7 @@ jobs:
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: artifact
path: dist
Expand Down
14 changes: 7 additions & 7 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ci:
autoupdate_schedule: quarterly
skip: [poetry-lock]
skip: [uv-lock]

repos:
# Syntax validation and some basic sanity checks
Expand Down Expand Up @@ -32,10 +32,10 @@ repos:
- types-requests
- types-pyyaml

- repo: https://github.com/python-poetry/poetry
rev: 1.8.0
- repo: https://github.com/astral-sh/uv-pre-commit
rev: 0.7.13
hooks:
- id: poetry-lock
- id: poetry-export
additional_dependencies: [poetry-plugin-export]
args: [-o, requirements_dev.txt, --with=dev, --without-hashes]
- id: uv-lock
- id: uv-export
args: [--all-groups, -q, -o, requirements_dev.txt, --no-hashes, --no-emit-project]
files: uv.lock|pyproject.toml|.pre-commit-config.yaml
5 changes: 5 additions & 0 deletions HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
History
=======

Unreleased
----------
- Minimum supported python is now 3.11.
- Switch python packaging backend back to setuptools. (`#263 <https://github.com/DiamondLightSource/python-zocalo/pull/263>`_)

1.2.0 (2024-11-14)
------------------
* Support newer versions of workflows package. (`#260 <https://github.com/DiamondLightSource/python-zocalo/pull/260>`_)
Expand Down
1,077 changes: 0 additions & 1,077 deletions poetry.lock

This file was deleted.

76 changes: 35 additions & 41 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,52 +1,41 @@
[tool.poetry]
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[project]
name = "zocalo"
version = "1.2.0"
description = "Infrastructure components for automated data processing at Diamond Light Source"
authors = ["Nicholas Devenish <ndevenish@gmail.com>"]
authors = [{ name = "Nicholas Devenish", email = "ndevenish@gmail.com" }]
requires-python = ">=3.11"
readme = "README.rst"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
"Topic :: Software Development :: Libraries :: Python Modules",
dependencies = [
"pyyaml",
"graypy",
"marshmallow",
"requests",
"pydantic>=2,<3",
"workflows>=3.0",
]

[tool.poetry.dependencies]
python = "^3.10"
pyyaml = "^6.0"
graypy = "^2.0"
marshmallow = "^3.19"
requests = "^2.31"
pydantic = "^2"
workflows = ">=3.0"

[tool.poetry.group.dev.dependencies]
pytest = "^8.2.2"
pytest-mock = "^3.14.0"
pytest-cov = "^5.0.0"
requests-mock = "^1.12.1"

[tool.poetry.group.docs]
optional = true

[tool.poetry.group.docs.dependencies]
sphinx = "^6"
sphinx-rtd-theme = "^1.2"
[dependency-groups]
dev = [
"pytest>=8.2.2",
"pytest-mock>=3.14",
"pytest-cov>=5",
"requests-mock>=1.12",
]
docs = ["sphinx>=6,<7", "sphinx-rtd-theme~=1.2"]

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.poetry.urls]
[project.urls]
Bug-Tracker = "https://github.com/DiamondLightSource/python-zocalo/issues"
Changelog = "https://github.com/DiamondLightSource/python-zocalo/blob/main/HISTORY.rst"
Documentation = "https://github.com/DiamondLightSource/python-zocalo"
Download = "https://github.com/DiamondLightSource/python-zocalo/releases"
GitHub = "https://github.com/DiamondLightSource/python-zocalo"

[tool.poetry.scripts]
[project.scripts]
"zocalo.configure_rabbitmq" = "zocalo.cli.configure_rabbitmq:run"
"zocalo.dlq_check" = "zocalo.cli.dlq_check:run"
"zocalo.dlq_purge" = "zocalo.cli.dlq_purge:run"
Expand All @@ -58,11 +47,13 @@ GitHub = "https://github.com/DiamondLightSource/python-zocalo"
"zocalo.shutdown" = "zocalo.cli.shutdown:run"
"zocalo.wrap" = "zocalo.cli.wrap:run"

[tool.poetry.plugins]
"libtbx.precommit" = { zocalo = "zocalo" }
"zocalo.wrappers" = { dummy = "zocalo.wrapper:DummyWrapper" }
[project.entry-points."libtbx.precommit"]
zocalo = "zocalo"

[tool.poetry.plugins."libtbx.dispatcher.script"]
[project.entry-points."zocalo.wrappers"]
dummy = "zocalo.wrapper:DummyWrapper"

[project.entry-points."libtbx.dispatcher.script"]
"zocalo.configure_rabbitmq" = "zocalo.configure_rabbitmq"
"zocalo.dlq_check" = "zocalo.dlq_check"
"zocalo.dlq_purge" = "zocalo.dlq_purge"
Expand All @@ -73,13 +64,13 @@ GitHub = "https://github.com/DiamondLightSource/python-zocalo"
"zocalo.shutdown" = "zocalo.shutdown"
"zocalo.wrap" = "zocalo.wrap"

[tool.poetry.plugins."workflows.services"]
[project.entry-points."workflows.services"]
Dispatcher = "zocalo.service.dispatcher:Dispatcher"
JSONLines = "zocalo.service.jsonlines:JSONLines"
Mailer = "zocalo.service.mailer:Mailer"
Schlockmeister = "zocalo.service.schlockmeister:Schlockmeister"

[tool.poetry.plugins."zocalo.configuration.plugins"]
[project.entry-points."zocalo.configuration.plugins"]
graylog = "zocalo.configuration.plugin_graylog:Graylog"
jmx = "zocalo.configuration.plugin_jmx:JMX"
logging = "zocalo.configuration.plugin_logging:Logging"
Expand All @@ -89,6 +80,9 @@ iris = "zocalo.configuration.plugin_slurm:Slurm"
smtp = "zocalo.configuration.plugin_smtp:SMTP"
storage = "zocalo.configuration.plugin_storage:Storage"

[tool.uv]
default-groups = ["dev", "docs"]

[tool.pytest.ini_options]
required_plugins = "pytest-mock requests-mock"
testpaths = ["tests"]
Expand Down
136 changes: 106 additions & 30 deletions requirements_dev.txt
Original file line number Diff line number Diff line change
@@ -1,30 +1,106 @@
annotated-types==0.7.0 ; python_version >= "3.10" and python_version < "4.0"
bidict==0.23.1 ; python_version >= "3.10" and python_version < "4.0"
certifi==2024.8.30 ; python_version >= "3.10" and python_version < "4.0"
charset-normalizer==3.4.0 ; python_version >= "3.10" and python_version < "4.0"
colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and sys_platform == "win32"
coverage[toml]==7.6.4 ; python_version >= "3.10" and python_version < "4.0"
docopt==0.6.2 ; python_version >= "3.10" and python_version < "4.0"
exceptiongroup==1.2.2 ; python_version >= "3.10" and python_version < "3.11"
graypy==2.1.0 ; python_version >= "3.10" and python_version < "4.0"
idna==3.10 ; python_version >= "3.10" and python_version < "4.0"
iniconfig==2.0.0 ; python_version >= "3.10" and python_version < "4.0"
marshmallow==3.23.1 ; python_version >= "3.10" and python_version < "4.0"
packaging==24.2 ; python_version >= "3.10" and python_version < "4.0"
pika==1.3.2 ; python_version >= "3.10" and python_version < "4.0"
pluggy==1.5.0 ; python_version >= "3.10" and python_version < "4.0"
pydantic-core==2.23.4 ; python_version >= "3.10" and python_version < "4.0"
pydantic==2.9.2 ; python_version >= "3.10" and python_version < "4.0"
pytest-cov==5.0.0 ; python_version >= "3.10" and python_version < "4.0"
pytest-mock==3.14.0 ; python_version >= "3.10" and python_version < "4.0"
pytest==8.3.3 ; python_version >= "3.10" and python_version < "4.0"
pyyaml==6.0.2 ; python_version >= "3.10" and python_version < "4.0"
requests-mock==1.12.1 ; python_version >= "3.10" and python_version < "4.0"
requests==2.32.3 ; python_version >= "3.10" and python_version < "4.0"
setuptools==75.5.0 ; python_version >= "3.10" and python_version < "4.0"
stomp-py==8.2.0 ; python_version >= "3.10" and python_version < "4.0"
tomli==2.1.0 ; python_version >= "3.10" and python_full_version <= "3.11.0a6"
typing-extensions==4.12.2 ; python_version >= "3.10" and python_version < "4.0"
urllib3==2.2.3 ; python_version >= "3.10" and python_version < "4.0"
websocket-client==1.8.0 ; python_version >= "3.10" and python_version < "4.0"
workflows==3.1 ; python_version >= "3.10" and python_version < "4.0"
# This file was autogenerated by uv via the following command:
# uv export --all-groups -o requirements_dev.txt --no-hashes --no-emit-project
alabaster==0.7.16
# via sphinx
annotated-types==0.7.0
# via pydantic
babel==2.16.0
# via sphinx
bidict==0.23.1
# via workflows
certifi==2024.8.30
# via requests
charset-normalizer==3.4.0
# via requests
colorama==0.4.6 ; sys_platform == 'win32'
# via
# pytest
# sphinx
coverage==7.6.4
# via pytest-cov
docopt==0.6.2
# via stomp-py
docutils==0.18.1
# via
# sphinx
# sphinx-rtd-theme
graypy==2.1.0
# via zocalo
idna==3.10
# via requests
imagesize==1.4.1
# via sphinx
iniconfig==2.0.0
# via pytest
jinja2==3.1.4
# via sphinx
markupsafe==3.0.2
# via jinja2
marshmallow==3.23.1
# via zocalo
packaging==24.2
# via
# marshmallow
# pytest
# sphinx
pika==1.3.2
# via workflows
pluggy==1.5.0
# via pytest
pydantic==2.9.2
# via zocalo
pydantic-core==2.23.4
# via pydantic
pygments==2.18.0
# via sphinx
pytest==8.3.3
# via
# pytest-cov
# pytest-mock
pytest-cov==5.0.0
pytest-mock==3.14.0
pyyaml==6.0.2
# via zocalo
requests==2.32.3
# via
# requests-mock
# sphinx
# zocalo
requests-mock==1.12.1
setuptools==75.5.0
# via workflows
snowballstemmer==2.2.0
# via sphinx
sphinx==6.2.1
# via
# sphinx-rtd-theme
# sphinxcontrib-jquery
sphinx-rtd-theme==1.3.0
sphinxcontrib-applehelp==2.0.0
# via sphinx
sphinxcontrib-devhelp==2.0.0
# via sphinx
sphinxcontrib-htmlhelp==2.1.0
# via sphinx
sphinxcontrib-jquery==4.1
# via sphinx-rtd-theme
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-qthelp==2.0.0
# via sphinx
sphinxcontrib-serializinghtml==2.0.0
# via sphinx
stomp-py==8.2.0
# via workflows
tomli==2.1.0 ; python_full_version <= '3.11'
# via coverage
typing-extensions==4.12.2
# via
# pydantic
# pydantic-core
urllib3==2.2.3
# via requests
websocket-client==1.8.0
# via stomp-py
workflows==3.1
# via zocalo
Loading