nbs-bl 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. nbs_bl/__init__.py +15 -0
  2. nbs_bl/beamline.py +450 -0
  3. nbs_bl/configuration.py +838 -0
  4. nbs_bl/detectors.py +89 -0
  5. nbs_bl/devices/__init__.py +12 -0
  6. nbs_bl/devices/detectors.py +154 -0
  7. nbs_bl/devices/motors.py +242 -0
  8. nbs_bl/devices/sampleholders.py +360 -0
  9. nbs_bl/devices/shutters.py +120 -0
  10. nbs_bl/devices/slits.py +51 -0
  11. nbs_bl/gGrEqns.py +171 -0
  12. nbs_bl/geometry/__init__.py +0 -0
  13. nbs_bl/geometry/affine.py +197 -0
  14. nbs_bl/geometry/bars.py +189 -0
  15. nbs_bl/geometry/frames.py +534 -0
  16. nbs_bl/geometry/linalg.py +138 -0
  17. nbs_bl/geometry/polygons.py +56 -0
  18. nbs_bl/help.py +126 -0
  19. nbs_bl/hw.py +270 -0
  20. nbs_bl/load.py +113 -0
  21. nbs_bl/motors.py +19 -0
  22. nbs_bl/planStatus.py +5 -0
  23. nbs_bl/plans/__init__.py +8 -0
  24. nbs_bl/plans/batches.py +174 -0
  25. nbs_bl/plans/conditions.py +77 -0
  26. nbs_bl/plans/flyscan_base.py +180 -0
  27. nbs_bl/plans/groups.py +55 -0
  28. nbs_bl/plans/maximizers.py +423 -0
  29. nbs_bl/plans/metaplans.py +179 -0
  30. nbs_bl/plans/plan_stubs.py +246 -0
  31. nbs_bl/plans/preprocessors.py +160 -0
  32. nbs_bl/plans/scan_base.py +58 -0
  33. nbs_bl/plans/scan_decorators.py +524 -0
  34. nbs_bl/plans/scans.py +145 -0
  35. nbs_bl/plans/suspenders.py +87 -0
  36. nbs_bl/plans/time_estimation.py +168 -0
  37. nbs_bl/plans/xas.py +123 -0
  38. nbs_bl/printing.py +221 -0
  39. nbs_bl/qt/models/beamline.py +11 -0
  40. nbs_bl/qt/models/energy.py +53 -0
  41. nbs_bl/qt/widgets/energy.py +225 -0
  42. nbs_bl/queueserver.py +249 -0
  43. nbs_bl/redisDevice.py +96 -0
  44. nbs_bl/run_engine.py +63 -0
  45. nbs_bl/samples.py +130 -0
  46. nbs_bl/settings.py +68 -0
  47. nbs_bl/shutters.py +39 -0
  48. nbs_bl/sim/__init__.py +2 -0
  49. nbs_bl/sim/config/polphase.nc +0 -0
  50. nbs_bl/sim/energy.py +403 -0
  51. nbs_bl/sim/manipulator.py +14 -0
  52. nbs_bl/sim/utils.py +36 -0
  53. nbs_bl/startup.py +27 -0
  54. nbs_bl/status.py +114 -0
  55. nbs_bl/tests/__init__.py +0 -0
  56. nbs_bl/tests/modify_regions.py +160 -0
  57. nbs_bl/tests/test_frames.py +99 -0
  58. nbs_bl/tests/test_panels.py +69 -0
  59. nbs_bl/utils.py +235 -0
  60. nbs_bl-0.2.0.dist-info/METADATA +71 -0
  61. nbs_bl-0.2.0.dist-info/RECORD +64 -0
  62. nbs_bl-0.2.0.dist-info/WHEEL +4 -0
  63. nbs_bl-0.2.0.dist-info/entry_points.txt +2 -0
  64. nbs_bl-0.2.0.dist-info/licenses/LICENSE +13 -0
@@ -0,0 +1,71 @@
1
+ Metadata-Version: 2.4
2
+ Name: nbs-bl
3
+ Version: 0.2.0
4
+ Summary: NBS Beamline Framework
5
+ Project-URL: homepage, https://github.com/xraygui/nbs-bl
6
+ Author-email: Charles Titus <ctitus@bnl.gov>
7
+ License-File: LICENSE
8
+ Keywords: beamline,bluesky,nsls-ii
9
+ Classifier: Intended Audience :: Science/Research
10
+ Classifier: License :: Public Domain
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Requires-Python: >=3.9
14
+ Requires-Dist: bluesky
15
+ Requires-Dist: bluesky-queueserver
16
+ Requires-Dist: databroker>=2.0.0b67
17
+ Requires-Dist: ipython
18
+ Requires-Dist: nbs-core>=0.1
19
+ Requires-Dist: numpy
20
+ Requires-Dist: numpydoc
21
+ Requires-Dist: ophyd
22
+ Requires-Dist: redis-json-dict
23
+ Requires-Dist: tomli; python_version < '3.11'
24
+ Description-Content-Type: text/markdown
25
+
26
+ # NSLS-II Beamline Support Library
27
+
28
+ A Python library for beamline operation and control at NSLS-II, providing configuration management, device control, and scan plans.
29
+
30
+ ## Features
31
+
32
+ - TOML-based beamline configuration system
33
+ - Device control and monitoring
34
+ - Scan plans and utilities
35
+ - Simulation capabilities for offline testing
36
+ - Integration with Bluesky/Ophyd ecosystem
37
+
38
+ ## Installation
39
+
40
+ ```bash
41
+ # Clone the repository
42
+ git clone https://github.com/xraygui/nbs-bl.git
43
+ cd nbs-bl
44
+
45
+ # Install in development mode
46
+ pip install -e .
47
+ ```
48
+
49
+ ## Dependencies
50
+
51
+ - Python 3.8+
52
+ - Bluesky
53
+ - Ophyd
54
+ - NumPy
55
+ - nbs-core
56
+
57
+ ## Documentation
58
+
59
+ Documentation is available at [https://nbs-bl.readthedocs.io](https://nbs-bl.readthedocs.io)
60
+
61
+ ## Configuration
62
+
63
+ The library uses TOML configuration files to define beamline devices and settings:
64
+ - `beamline.toml`: General beamline configuration
65
+ - `devices.toml`: Device-specific configuration
66
+
67
+ See the [configuration reference](https://nbs-bl.readthedocs.io/configuration_reference.html) for detailed documentation.
68
+
69
+ ## License
70
+
71
+ This project is licensed under the BSD 3-Clause License - see the [LICENSE](LICENSE) file for details.
@@ -0,0 +1,64 @@
1
+ nbs_bl/__init__.py,sha256=L6YdoI4Fn6jg6fWl76pNXkWJ3_pu-msrFH3rxY4y5AY,329
2
+ nbs_bl/beamline.py,sha256=1fGrJLOl7ZJgEBOPk9Zye2KJLrSOpJCCbQ4TNwvtGZc,14836
3
+ nbs_bl/configuration.py,sha256=h6NnLp4xvDTbhL_N8wwr5ldKY4ITC9iDnz3wmZUA7A4,26610
4
+ nbs_bl/detectors.py,sha256=ID2LW3lN1GOejCFBlHo9Q4T9aQb_FK15oCnpJJcj2Rw,2159
5
+ nbs_bl/gGrEqns.py,sha256=N56e_KTJIZkyno9Zecn2ofD3tnb1xZ9mcBHTiSJx5lU,7206
6
+ nbs_bl/help.py,sha256=xDAHH1spoL2hfZUhytKLha45EZ7KvJSbgKbWWjOzcMU,3746
7
+ nbs_bl/hw.py,sha256=w_9c0cM8A47DNVoLh2wMkQ-lWia7SLAH2djGha7zYcE,9680
8
+ nbs_bl/load.py,sha256=mipfp5LkBczTkspqZF-vLJjSq0F9haizkmcpsRP31oI,2941
9
+ nbs_bl/motors.py,sha256=vStAto0P2xS1nbc22kfNHGrD0n0iu64UI5UtsmbdMEY,555
10
+ nbs_bl/planStatus.py,sha256=ti2AaYA3QvBhneDis9BKMfdH2_D-sli-5RgMk4FJdBs,142
11
+ nbs_bl/printing.py,sha256=zQOnmK8KN6NlzbrrA7Fkm7SWBdD9c9I64YeQQFu5uh8,5241
12
+ nbs_bl/queueserver.py,sha256=eBg3mlQTUZOJObUXt7MYlUI-KwFtsuxIgiFVSUJa628,7348
13
+ nbs_bl/redisDevice.py,sha256=dV8npj2Y4hYwFdUWWmNPDgT4bHKUQz8YNeN7P7jC7NE,3226
14
+ nbs_bl/run_engine.py,sha256=Xcp9T1bC7RYzGjjoYSRXcv0KoJmqtvFkcb2ZitIRatk,1490
15
+ nbs_bl/samples.py,sha256=0eKRJZApXV6H8TYFEhTD2yKm7_p9zaowWBSR1Tmasvs,3623
16
+ nbs_bl/settings.py,sha256=TdstL-ld69S6zcxKPFvYw1FFlypeAP-5FwZSBLr0wsw,1400
17
+ nbs_bl/shutters.py,sha256=OjdlzlfMzU2HaiW9_BqRl-8_Z5BmPPmOuTBmnvyTYi8,1052
18
+ nbs_bl/startup.py,sha256=ILXO9ECzCtaeNjpPZTfPRFHd_Yoh7ZmMCb1w0fRgF4g,679
19
+ nbs_bl/status.py,sha256=0IIS-tY5KPnXn0F_kIy-suWmK6tqRQyoqZdVwCnHFoI,2849
20
+ nbs_bl/utils.py,sha256=kvMjgKCXMxjIOAiYoDGUKZUIw-AvsafgoXahf2PjglQ,7010
21
+ nbs_bl/devices/__init__.py,sha256=sz1L0DXhGrSBTBejOw2fOBedXg_XtKZLWfi_5nqpeKg,315
22
+ nbs_bl/devices/detectors.py,sha256=NiKUEq9sPHSJm6NgSsfwPs4473bdBcyzA_jrxbTf6Yo,5150
23
+ nbs_bl/devices/motors.py,sha256=1tUxW0AAN-WcAlDo35oIjAJwCrzc1w0BLSEKE8l224c,8221
24
+ nbs_bl/devices/sampleholders.py,sha256=HzNvrUXMnSjHS4as_kcW8tWbBgqc70putEBaJZBaJN0,13445
25
+ nbs_bl/devices/shutters.py,sha256=FKO0N9DmjpTzjVeRNdi6CpuzCk568j3HCH8zdFmBeH4,3925
26
+ nbs_bl/devices/slits.py,sha256=kb4ZvevJrr_YS4V65K7HCum24QmIKvLaLzb3coZKfaA,2152
27
+ nbs_bl/geometry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ nbs_bl/geometry/affine.py,sha256=9KEfm5HvdxJO_yZ4iQltXrpzlQGbqUqX-ZCCST2ICLo,5826
29
+ nbs_bl/geometry/bars.py,sha256=8k3lf1NLsPakYNR-_MpNP1aUtNhIH7kcE55v0JiLnpg,5912
30
+ nbs_bl/geometry/frames.py,sha256=ETBhqvm9D60Dma2Q5jEn_O5HUy_yGcHXmUV25-0Gjqs,16757
31
+ nbs_bl/geometry/linalg.py,sha256=2iDb4JqgMa8j5dbrWAAYwSXDbyq8gcBGGHwT5jSmPUo,2841
32
+ nbs_bl/geometry/polygons.py,sha256=slAMitFUOlKm-sn49JwZA9vKsg8Zm8eODaC1bwNlvz4,1252
33
+ nbs_bl/plans/__init__.py,sha256=FdBvdQgxDdWTUC3l1yiifyG_sMwU-Aqa5AYlgLx7vbM,218
34
+ nbs_bl/plans/batches.py,sha256=5PtsugybegB-JjAeEnm7V22bMOcJxfVWG27bAs_7KVc,5393
35
+ nbs_bl/plans/conditions.py,sha256=RMc7R3IdoNdvAPIZr8Dx7jCizhhTOQDV9VO8qJUZmdc,1666
36
+ nbs_bl/plans/flyscan_base.py,sha256=w1_Oy1yKvmCrRSAey3yKKSV8XRl4RSkTozwdBwgMmh4,5629
37
+ nbs_bl/plans/groups.py,sha256=21xiV_5_vhAIx6oO4CLEVqCCJ1ZuAtwOONtdR2h65Bg,1609
38
+ nbs_bl/plans/maximizers.py,sha256=mBMvrMUitVUNR1ch-EpecpYn0V1xjcDkWdZWn4vsOuU,13798
39
+ nbs_bl/plans/metaplans.py,sha256=5wTr5TMV-tSAq3aPNSojEJ6BjSndvvdSOaK2KquYL80,5219
40
+ nbs_bl/plans/plan_stubs.py,sha256=23aRv8oLMxfCVn9jgEkyDxrdQJjvoV7JAGC4yXiKeyA,6994
41
+ nbs_bl/plans/preprocessors.py,sha256=qUnQisJasGKZZmVisnX7tb4SS-8uwAsAJ3er895bfYk,4657
42
+ nbs_bl/plans/scan_base.py,sha256=q2_YLCEBT39UdHm20RkTdeG8OcAoGu5Mxi4Hyst9jss,2229
43
+ nbs_bl/plans/scan_decorators.py,sha256=ehmzbyoU4Ld2Kmx-DBHR0GJg_koK7ElCLu9TYCR4AKM,16115
44
+ nbs_bl/plans/scans.py,sha256=iErg7xckjbqUI3DlWBd2QCFthxyCe2Wzrb3N70dhrWM,4332
45
+ nbs_bl/plans/suspenders.py,sha256=JQWt07o8R8wFVzjkKtYhkrrJXujs0Rtdvy3Er-OYEPs,2885
46
+ nbs_bl/plans/time_estimation.py,sha256=u40I6P51ySSaXdb-mqdl3UMdlZ2PDhlXWC7QHq_FLmY,4931
47
+ nbs_bl/plans/xas.py,sha256=i31uhpoJ3P4Y_pnyait0VWpIooSg6khbiIxWY7rY8sY,3818
48
+ nbs_bl/qt/models/beamline.py,sha256=PUYXUkShx3XS6kYrdFZzzccsFjSit5RBP3I-JYCU3ws,410
49
+ nbs_bl/qt/models/energy.py,sha256=z3_g8UXGw4Xj1r9b2554Bh94k0uqOT5u2iSlAOkqsZg,1460
50
+ nbs_bl/qt/widgets/energy.py,sha256=YeQXBxp29TS_YVLgmHKpAr-Jc7RDAEFS1HJndcIGlJQ,7760
51
+ nbs_bl/sim/__init__.py,sha256=UZ9yiwTvtx0Rv5Ypqu_RoR5soNI65nBQxtA7tLEGgUs,64
52
+ nbs_bl/sim/energy.py,sha256=-Mw7HHrjDMyOH-hxgA1bz4vCjdNvzGmP-8yfeK8m5lc,13356
53
+ nbs_bl/sim/manipulator.py,sha256=4WwrSBzIAjOlExctPdwnGkXs4Gt9qTq4LQuTPu-1T7k,534
54
+ nbs_bl/sim/utils.py,sha256=eVzxb21i_4WT3mu6kqSeD300eTHMO94mi7DLMFNRvnM,1117
55
+ nbs_bl/sim/config/polphase.nc,sha256=Hu0aYJ4NOgfHepyXs-0kNSrbGVh3-JDK9RioyxWYtrU,624
56
+ nbs_bl/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
+ nbs_bl/tests/modify_regions.py,sha256=OoY0cndFuffAM3oicL6hcH4UADlYIyJ0sku08BBOq_4,4490
58
+ nbs_bl/tests/test_frames.py,sha256=p0RpAL7T7_Q7DQnlc5P2TQ7SLbiJWijsHzGSkchWsWg,3036
59
+ nbs_bl/tests/test_panels.py,sha256=66Xhfonwhr8-O9LQneDricg71X5lBMZ5f1WmQaD_xrY,2465
60
+ nbs_bl-0.2.0.dist-info/METADATA,sha256=_sMLQbCw2_qjEGAXOTlFt-lwbD51sxY2jUJ7n1Cd1zc,1928
61
+ nbs_bl-0.2.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
62
+ nbs_bl-0.2.0.dist-info/entry_points.txt,sha256=H1M93MsVKucXf6mBFiSnyFetkGERq2Uiti6cGz8ohLk,54
63
+ nbs_bl-0.2.0.dist-info/licenses/LICENSE,sha256=ICdbdLm_mtXdM6ItExNyqZRhmz1yUXwWdG4uvumFhHc,1879
64
+ nbs_bl-0.2.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [nbs_bl.plan_loaders]
2
+ xas = nbs_bl.plans.xas:load_xas
@@ -0,0 +1,13 @@
1
+ NIST Software Licensing Statement
2
+
3
+
4
+
5
+ NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software.
6
+
7
+
8
+
9
+ NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE.
10
+
11
+
12
+
13
+ You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States.