Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Copied and modified original implementation from Haven. #1

Merged
merged 2 commits into from
Oct 23, 2024
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
72 changes: 35 additions & 37 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,41 @@
# Based on tutorial: https://autobencoder.com/2020-08-24-conda-actions/
# https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-python

name: Tests
on:
push:
branches:
- main
pull_request:
branches:
- main

env:
DISPLAY: ":99"
PYDM_DEFAULT_PROTOCOL: ca
BLUESKY_DEBUG_CALLBACKS: 1
name: Guarneri

on: [push]

jobs:
build-linux:
defaults:
run:
shell: bash -l {0}
runs-on: ubuntu-22.04
build:
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
max-parallel: 5
matrix:
python-version: ["3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v3
- name: Install \{
run: pip install -e ".[dev]"
- name: Environment info
run: |
env
pip freeze
- name: Lint
run: |
# Check for syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# Make sure black code formatting is applied
black --check --preview src/
# Make sure import orders are correct
isort --check src/
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
# You can test your matrix by printing the current Python version
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install guarneri
run: pip install -e ".[dev]"
- name: Environment info
run: |
env
pip freeze
- name: Lint
run: |
# Check for syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# Make sure black code formatting is applied
black --check --preview src/
# Make sure import orders are correct
isort --check src/
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Haven tests with pytest in Xvfb
run: pytest -vv
9 changes: 8 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,14 @@ The following will download the package and load it into the python environment.
.. code-block:: bash

git clone https://github.com/spc-group/guarneri
pip install -e guarneri
pip install guarneri

For development of guarneri, install as an editable project with all
development dependencies using:

.. code-block:: bash

pip install -e ".[dev]"


Running the Tests
Expand Down
8 changes: 4 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[build-system]
requires = ["setuptools>=61.0"]
requires = ["setuptools>=61.0", "setuptools-scm>=8.0"]
build-backend = "setuptools.build_meta"

[project]
Expand All @@ -10,7 +10,7 @@ authors = [
]
description = "guarneri"
readme = "README.rst"
requires-python = ">=3.7"
requires-python = ">=3.10"
classifiers = [
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
Expand All @@ -19,10 +19,10 @@ classifiers = [
"Topic :: System :: Hardware",
]
keywords = []
dependencies = []
dependencies = ["ophyd", "ophyd-async", "ophyd-registry", "tomlkit"]

[project.optional-dependencies]
dev = ["black", "pytest", "flake8", "isort"]
dev = ["black", "pytest", "pytest-asyncio", "flake8", "isort"]

[project.urls]
Homepage = "https://github.com/spc-group/guarneri"
Expand Down
4 changes: 4 additions & 0 deletions pytest.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[pytest]
asyncio_mode = auto
testpaths =
src/guarneri/tests
8 changes: 6 additions & 2 deletions src/guarneri/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
from ._version import get_versions

__version__ = get_versions()['version']
__version__ = get_versions()["version"]
del get_versions

# TODO: fill this in with appropriate star imports:
__all__ = []
__all__ = ["Instrument", "exceptions"]


from . import exceptions
from .instrument import Instrument
Loading