Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
201a1d2
Initial toml file
tacaswell Aug 26, 2025
990bc17
Regenerate with current versions
tacaswell Aug 26, 2025
ff0d5db
Initial packages required to get profile to import
tacaswell Aug 28, 2025
f5953c4
Add hdf5 plugins and standardize Python pinning
tacaswell Sep 3, 2025
8e49d81
update lockfile
tacaswell Sep 3, 2025
821071a
Update lock file
tacaswell Sep 4, 2025
325930e
update core pins
tacaswell Sep 4, 2025
9582133
regenerate lock
tacaswell Sep 4, 2025
881dc26
Update versions
tacaswell Sep 4, 2025
943cfcc
Adding more third-party floors
tacaswell Sep 4, 2025
58f02bf
MNT: fix invalid escape codes
tacaswell Sep 5, 2025
f4b9695
Remove accidental 'default' environment
tacaswell Sep 5, 2025
d20b070
MNT: update ophyd-async and pull more from CF
tacaswell Sep 9, 2025
176c734
Manage envs when lanuching terminal
tacaswell Oct 22, 2025
a1daa36
Update and regenerate lock
tacaswell Oct 22, 2025
e586005
MNT: change from deprecated section name
tacaswell Nov 7, 2025
c9d1371
Update pixi.toml for new packages
tacaswell Nov 7, 2025
b159198
BLD: update lock file
tacaswell Nov 7, 2025
6ba857c
Add pvxslibs
tacaswell Nov 17, 2025
4c3fce5
Update pixi.toml for new packages
tacaswell Nov 17, 2025
833f101
ENH: switch ophyd-async for conda-forge
tacaswell Nov 24, 2025
94a1d52
MNT: ignore PYTHONPATH when launching terminal
tacaswell Nov 24, 2025
f46e83a
update bluesky and databroker pins
tacaswell Nov 25, 2025
6eb9995
regenerate lock
tacaswell Nov 25, 2025
76ee288
regenerate lock
tacaswell Nov 25, 2025
085b6c1
REL: update pixi.toml for 2026C2 pinnings
tacaswell Apr 17, 2026
a71db6a
REL: update pixi.lock for 2026C2 pinnings
tacaswell Apr 17, 2026
f9e2257
New metadata location
May 12, 2026
fbd6779
use stepper instead of piezo for bs
dalekreitler-bnl May 19, 2026
4002158
more blurring needed for rot pin edge det
dalekreitler-bnl May 23, 2026
f9ad2bc
updated pin7 pre-aligned setting for 2026-2
dalekreitler-bnl May 23, 2026
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: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# SCM syntax highlighting & preventing 3-way merges
pixi.lock merge=binary linguist-language=YAML linguist-generated=true
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,6 @@ target/

#Ipython Notebook
.ipynb_checkpoints
# pixi environments
.pixi/*
!.pixi/config.toml
10,243 changes: 10,243 additions & 0 deletions pixi.lock

Large diffs are not rendered by default.

62 changes: 62 additions & 0 deletions pixi.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
[workspace]
channels = ["conda-forge"]
name = "amx-profile-collection"
platforms = ["linux-64"]
version = "2026.2.0"

[system-requirements]
libc = "2.17"

[feature.profile.dependencies]
bluesky-base = "==1.15.0"
bluesky-queueserver = "*"
matplotlib-base= ">=3.10"
networkx = ">=3.4.2,<4"
nslsii = "==0.11.8"
numpy = "*"
ophyd = ">=1.11.0"
pyepics = "*"
python = ">=3.12,<3.13"
semver = ">=3.0.4,<4"
tiled-client = "==0.2.9"

mxtools = ">=1.0.4,<2"
hdf5-external-filter-plugins = ">=0.1.0,<0.2"
blosc-hdf5-plugin = ">=1.0.1,<2"
databroker = "==2.0.0"
epicscorelibs = ">=7.0.7.99.1.1,<8"
bluesky-tiled-plugins = "==2.0.2"
ophyd-async = ">=0.13.7,<0.14"



[feature.profile.pypi-dependencies]
pvxslibs = ">=1.3.2, <2"


[feature.qs.dependencies]
bluesky-queueserver = "*"
bluesky-httpserver = "*"

[feature.qs.tasks]
# This section needs some development work to understand the best way to
# thread the required configuration through both the task and files checked into
# the profile. These will interact with the ansible roles for pushing out the
# systemd units
qs-backend = "start-re-manager --profile-dir=."
qs-server = "uvicorn --host localhost --port 60610 bluesky_httpserver.server:app"


[feature.terminal.dependencies]
ipython = ">=9.5.0"
pyside6 = "*"
numpy = ">2"


[feature.terminal.tasks]
start = "unset SESSION_MANAGER PYTHONPATH && MPLBACKEND=qtagg ipython --profile-dir=."
pvs = "ipython --profile-dir=. -c 'get_pv_types(); exit()'"

[environments]
terminal = {features=["profile", "terminal"], solve-group="profile"}
qs = {features=["profile", "qs"], solve-group="profile"}
13 changes: 8 additions & 5 deletions startup/00-base.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,15 +67,18 @@ def wait_for_connection(self, timeout=DEFAULT_CONNECTION_TIMEOUT):
except ImportError:
pass

uri = "info.amx.nsls2.bnl.gov"
#uri = "info.amx.nsls2.bnl.gov"
# # Provide an endstation prefix, if needed, with a trailing "-"
new_md = RedisJSONDict(redis.Redis(uri), prefix="")
BEAMLINE_ID = 'amx'
#new_md = RedisJSONDict(redis.Redis(uri), prefix="")
#BEAMLINE_ID = 'amx'

nslsii.configure_base(get_ipython().user_ns, 'amx', bec=True, pbar=False,
publish_documents_with_kafka=True)
publish_documents_with_kafka=True,
redis_ssl=True,
redis_port=6380,
redis_url='xf17id1-amx-redis1.nsls2.bnl.gov')

RE.md = new_md
#RE.md = new_md

# Disable plots via BestEffortCallback:
bec.disable_plots()
Expand Down
4 changes: 2 additions & 2 deletions startup/10-motors.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,8 @@ class ShutterTranslation(Device):

class BeamStop(Device):
fx = Cpt(EpicsMotor, "-Ax:FX}Mtr")
fy = Cpt(EpicsMotor, "-Ax:FY}Mtr")

#fy = Cpt(EpicsMotor, "-Ax:FY}Mtr")
y = Cpt(EpicsMotor, "-Ax:Y}Mtr")

class Attenuator(Device):
a1 = Cpt(EpicsMotor, "-Ax:1}Mtr")
Expand Down
2 changes: 1 addition & 1 deletion startup/27-custom_plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class JPEGPluginWithFileStore(JPEGPlugin, FileStoreJPEG):
@register_plugin
class CVPlugin(PluginBase):
_default_suffix = "CV1:"
_suffix_re = "CV1\d:"
_suffix_re = r"CV1\d:"
_default_read_attrs = ["outputs"]
func_sets = DDC_EpicsSignal(
*[(f"func_set{k}", f"CompVisionFunction{k}") for k in range(1, 4)]
Expand Down
2 changes: 1 addition & 1 deletion startup/96-rot_axis_alignment.py
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ def _update_stage_sigs(self, *args, **kwargs):
("cv1.func_sets.func_set3", "User Function"),
("cv1.inputs.input1", 42),
("cv1.inputs.input2", 15),
("cv1.inputs.input3", 7),
("cv1.inputs.input3", 9),
("cv1.inputs.input4", 5),
]
)
Expand Down
2 changes: 1 addition & 1 deletion startup/97-plan_development.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

alignment_pins = {
'pin_1': {'general_puck_pos': 1, 'start': (5760, 961, -216)},
'pin_7': {'general_puck_pos': 7, 'start': (5630, 567, -35)}
'pin_7': {'general_puck_pos': 7, 'start': (4757, 830, 750)}
}


Expand Down