Skip to content

Releases: slaclab/pysmurf

v11.0.2

03 Apr 05:39
7f83f27

Choose a tag to compare

What's Changed

  • fix: Behaviour of some rogue imports has changed. by @tristpinsm in #867
  • Rogue docker from R5.0.0->R5.0.1 to resolve docker uid conflict by @swh76 in #866

Full Changelog: v11.0.1...v11.0.2

v11.0.1

02 Apr 01:17

Choose a tag to compare

Pull Requests Since v11.0.0

Pull Request Details

Full Changelog: v11.0.0...v11.0.1

v11.0.0

02 Apr 00:45
43e6b99

Choose a tag to compare

Support for rogue 6.

This is in principle a breaking change, but it should be mostly transparent in the pysmurf interface. Any code that relies on implementations below the high-level interface may need fixing up.

See v11.0.0-rc0 for detailed changelog.

v11.0.0-rc0

01 Apr 22:58
49acca1

Choose a tag to compare

Pull Requests Since v10.2.0

Client

Firmware-change

  1. #858 - Add support for timing debug registers

Bug

  1. #862 - Resolve version using git if no _version.py available.
  2. #864 - Setuptools scm root fix
  3. #860 - Make pysmurf install editable in docker.

Enhancement

  1. #859 - Add sets and gets for iq streaming mode
  2. #865 - Modestly reduces docker sizes by adding --no-cache-dir to pip installs.

Core

Firmware-change

  1. #858 - Add support for timing debug registers

Bug

  1. #862 - Resolve version using git if no _version.py available.
  2. #864 - Setuptools scm root fix
  3. #863 - Remove server docker local build flag
  4. #860 - Make pysmurf install editable in docker.
  5. #861 - Editable install broken in server docker.

Enhancement

  1. #865 - Modestly reduces docker sizes by adding --no-cache-dir to pip installs.

Pull Request Details

Modestly reduces docker sizes by adding --no-cache-dir to pip installs.

Author: Shawn Henderson 20823858+swh76@users.noreply.github.com
Date: Tue Mar 31 12:05:38 2026 -0700
Pull: #865 (4 additions, 4 deletions, 2 files changed)
Branch: slaclab/dockers-pip-no-cache-dir
Labels: enhancement, core, client

Notes:

Description

Modestly reduces docker sizes by adding --no-cache-dir to pip installs.

Function interfaces that changed

None.


Setuptools scm root fix

Author: Shawn Henderson 20823858+swh76@users.noreply.github.com
Date: Tue Mar 31 11:51:06 2026 -0700
Pull: #864 (16 additions, 21 deletions, 2 files changed)
Branch: slaclab/setuptools_scm-root-fix
Labels: bug, core, client

Notes:

Description

It seems all the trouble with version resolution in the dockers was due to passing the wrong path to root for setuptools_cm.get_version. Live and learn!

Tests done on this branch

Tested pysmurf import for both built-in and mounted copies, importing both from within and outside the pysmurf module top directory.

Function interfaces that changed

None


Remove server docker local build flag

Author: Shawn Henderson 20823858+swh76@users.noreply.github.com
Date: Tue Mar 31 11:21:40 2026 -0700
Pull: #863 (8 additions, 17 deletions, 1 files changed)
Branch: slaclab/fix-server-docker-local-build-flag
Labels: bug, core

Notes:

Description

I tried adding a flag to build server docker only locally, but it doesn't work well. Removing.

Function interfaces that changed

None.


Resolve version using git if no _version.py available.

Author: Shawn Henderson 20823858+swh76@users.noreply.github.com
Date: Tue Mar 31 09:21:35 2026 -0700
Pull: #862 (45 additions, 21 deletions, 4 files changed)
Branch: slaclab/issue848-2ndfixattempt
Issues: #848
Labels: bug, core, client

Notes:

Description

2nd attempt to fix issue #848. Even after #861, still unable to load local pysmurf module from mounted volume in docker. Failing with this error:

cryo@smurf-srv24:~/docker/pysmurf/dev/v10.3.2_rfsoc$ ./run.sh 
cryo@smurf-srv24:/usr/local/src/pysmurf$ python3
Python 3.8.10 (default, Mar 18 2025, 20:04:55) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pysmurf
Traceback (most recent call last):
  File "/usr/local/src/pysmurf/python/pysmurf/__init__.py", line 26, in <module>
    from setuptools_scm import get_version
ModuleNotFoundError: No module named 'setuptools_scm'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/src/pysmurf/python/pysmurf/__init__.py", line 34, in <module>
    from pysmurf._version import __version__  # noqa: F401
ModuleNotFoundError: No module named 'pysmurf._version'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/src/pysmurf/python/pysmurf/__init__.py", line 38, in <module>
    raise RuntimeError(
RuntimeError: pysmurf is not correctly installed. Please install it with pip.

issue seems to be if fresh checkout of pysmurf mounted in the docker pip hasn't dynamically generated the _version.py file init.py looks for:

cryo@smurf-srv24:/usr/local/src/pysmurf$ more python/pysmurf/_version.py 
# file generated by setuptools-scm
# don't change, don't track in version control

__all__ = [
    "__version__",
    "__version_tuple__",
    "version",
    "version_tuple",
    "__commit_id__",
    "commit_id",
]

TYPE_CHECKING = False
if TYPE_CHECKING:
    from typing import Tuple
    from typing import Union

    VERSION_TUPLE = Tuple[Union[int, str], ...]
    COMMIT_ID = Union[str, None]
else:
    VERSION_TUPLE = object
    COMMIT_ID = object

version: str
__version__: str
__version_tuple__: VERSION_TUPLE
version_tuple: VERSION_TUPLE
commit_id: COMMIT_ID
__commit_id__: COMMIT_ID

__version__ = version = '10.3.2'
__version_tuple__ = version_tuple = (10, 3, 2)

__commit_id__ = commit_id = None

This adds a fallback to using git to ascertain the pysmurf version if no _version.py is available.

Function interfaces that changed

None.


Editable install broken in server docker.

Author: Shawn Henderson 20823858+swh76@users.noreply.github.com
Date: Mon Mar 30 20:11:21 2026 -0700
Pull: #861 (1 additions, 1 deletions, 1 files changed)
Branch: slaclab/fix-server-pysmurf-install
Labels: bug, core

Notes:

Description

After switch to editable install for pysmurf, works in client docker but doesn't in server docker. Server docker startup fails. Switching to same pip editable install command that seems to work in the client docker.

Tests done on this branch

Tested fix in server docker.

Function interfaces that changed

None.


Make pysmurf install editable in docker.

Author: Shawn Henderson 20823858+swh76@users.noreply.github.com
Date: Mon Mar 30 19:05:26 2026 -0700
Pull: #860 (10 additions, 2 deletions, 3 files changed)
Branch: slaclab/issue848
Issues: #848
Labels: bug, core, client

Notes:

Description

Should close issue #848.

Tests done on this branch

Test built server docker locally.

Function interfaces that changed

None.


Add sets and gets for iq streaming mode

Author: Shawn Henderson 20823858+swh76@users.noreply.github.com
Date: Mon Mar 30 10:47:51 2026 -0700
Pull: #859 (150 additions, 0 deletions, 1 files changed)
Branch: slaclab/add-setget-for-iq-stream-mode
Labels: enhancement, client

Notes:

Description

Adds four new routines, set_mode_stream, get_mode_stream, set_bay_sel_stream, and get_bay_sel_stream for enabling and configuring raw RF IQ streaming.

Function interfaces that changed

None.


Add support for timing debug registers

Author: Shawn Henderson 20823858+swh76@users.noreply.github.com
Date: Wed Mar 25 15:02:04 2026 -0700
Pull: #858 (126 additions, 2 deletions, 2 files changed)
Branch: slaclab/tpm/timing-debug
Labels: core, client, firmware-change

Notes:

  • bumps the FW version to 1.8.0
  • exposes registers to set timing debug modes

Tested on the B33 system.


v10.3.4

31 Mar 19:06
dc45cb9

Choose a tag to compare

What's Changed

  • Remove server docker local build flag by @swh76 in #863
  • Setuptools scm root fix by @swh76 in #864
  • Modestly reduces docker sizes by adding --no-cache-dir to pip installs. by @swh76 in #865

Full Changelog: v10.3.3...v10.3.4

v10.3.3

31 Mar 16:41
9419574

Choose a tag to compare

What's Changed

  • Resolve version using git if no _version.py available. by @swh76 in #862

Full Changelog: v10.3.2...v10.3.3

v10.3.2

31 Mar 03:11
ecc584e

Choose a tag to compare

What's Changed

  • Editable install broken in server docker. by @swh76 in #861

Full Changelog: v10.3.1...v10.3.2

v10.3.1

31 Mar 02:06
1015c98

Choose a tag to compare

What's Changed

  • Add sets and gets for iq streaming mode by @swh76 in #859
  • Make pysmurf install editable in docker. by @swh76 in #860

Full Changelog: v10.3.0...v10.3.1

v10.3.0

26 Mar 16:57
304ea87

Choose a tag to compare

Pull Requests Since v10.2.0

Client

Firmware-change

  1. #858 - Add support for timing debug registers

Core

Firmware-change

  1. #858 - Add support for timing debug registers

Pull Request Details

Add support for timing debug registers

Author: Shawn Henderson 20823858+swh76@users.noreply.github.com
Date: Wed Mar 25 15:02:04 2026 -0700
Pull: #858 (126 additions, 2 deletions, 2 files changed)
Branch: slaclab/tpm/timing-debug
Labels: core, client, firmware-change

Notes:

  • bumps the FW version to 1.8.0
  • exposes registers to set timing debug modes

Tested on the B33 system.


v10.2.0

08 Mar 09:15
e233c10

Choose a tag to compare

Tested successfully on uMUX SMB and SPB in SLAC Cooldown 57 ; 20260308_Zero_to_Hero.ipynb.gz.

What's Changed

  • IQ_mode should be False by default in read_stream_data! by @swh76 in #856

Full Changelog: v10.1.0...v10.2.0