genie-python 26.2.0__tar.gz → 26.2.1__tar.gz

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 (88) hide show
  1. {genie_python-26.2.0 → genie_python-26.2.1}/.github/workflows/release.yml +3 -3
  2. {genie_python-26.2.0/src/genie_python.egg-info → genie_python-26.2.1}/PKG-INFO +1 -1
  3. genie_python-26.2.1/src/genie_python/_version.py +24 -0
  4. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie.py +9 -4
  5. {genie_python-26.2.0 → genie_python-26.2.1/src/genie_python.egg-info}/PKG-INFO +1 -1
  6. genie_python-26.2.0/src/genie_python/_version.py +0 -34
  7. {genie_python-26.2.0 → genie_python-26.2.1}/.git-blame-ignore-revs +0 -0
  8. {genie_python-26.2.0 → genie_python-26.2.1}/.gitattributes +0 -0
  9. {genie_python-26.2.0 → genie_python-26.2.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  10. {genie_python-26.2.0 → genie_python-26.2.1}/.github/dependabot.yml +0 -0
  11. {genie_python-26.2.0 → genie_python-26.2.1}/.github/workflows/documentation.yml +0 -0
  12. {genie_python-26.2.0 → genie_python-26.2.1}/.github/workflows/lint-and-test-nightly.yml +0 -0
  13. {genie_python-26.2.0 → genie_python-26.2.1}/.github/workflows/lint_and_test.yml +0 -0
  14. {genie_python-26.2.0 → genie_python-26.2.1}/.gitignore +0 -0
  15. {genie_python-26.2.0 → genie_python-26.2.1}/LICENSE +0 -0
  16. {genie_python-26.2.0 → genie_python-26.2.1}/README.md +0 -0
  17. {genie_python-26.2.0 → genie_python-26.2.1}/doc/conf.py +0 -0
  18. {genie_python-26.2.0 → genie_python-26.2.1}/doc/genie_python.rst +0 -0
  19. {genie_python-26.2.0 → genie_python-26.2.1}/pyproject.toml +0 -0
  20. {genie_python-26.2.0 → genie_python-26.2.1}/ruff.toml +0 -0
  21. {genie_python-26.2.0 → genie_python-26.2.1}/setup.cfg +0 -0
  22. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/.pylintrc +0 -0
  23. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/__init__.py +0 -0
  24. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/block_names.py +0 -0
  25. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/channel_access_exceptions.py +0 -0
  26. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_advanced.py +0 -0
  27. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_alerts.py +0 -0
  28. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_api_setup.py +0 -0
  29. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_blockserver.py +0 -0
  30. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_cachannel_wrapper.py +0 -0
  31. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_change_cache.py +0 -0
  32. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_dae.py +0 -0
  33. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_epics_api.py +0 -0
  34. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_experimental_data.py +0 -0
  35. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_logging.py +0 -0
  36. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_p4p_wrapper.py +0 -0
  37. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_plot.py +0 -0
  38. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_pre_post_cmd_manager.py +0 -0
  39. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_pv_connection_protocol.py +0 -0
  40. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_script_checker.py +0 -0
  41. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_script_generator.py +0 -0
  42. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_simulate.py +0 -0
  43. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_simulate_impl.py +0 -0
  44. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_startup.py +0 -0
  45. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_toggle_settings.py +0 -0
  46. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_wait_for_move.py +0 -0
  47. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/genie_waitfor.py +0 -0
  48. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/matplotlib_backend/__init__.py +0 -0
  49. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/matplotlib_backend/ibex_websocket_backend.py +0 -0
  50. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/mysql_abstraction_layer.py +0 -0
  51. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/scanning_instrument_pylint_plugin.py +0 -0
  52. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/testing_utils/__init__.py +0 -0
  53. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/testing_utils/script_checker.py +0 -0
  54. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/typings/CaChannel/CaChannel.pyi +0 -0
  55. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/typings/CaChannel/__init__.pyi +0 -0
  56. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/typings/CaChannel/_version.pyi +0 -0
  57. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/typings/CaChannel/ca.pyi +0 -0
  58. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/utilities.py +0 -0
  59. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python/version.py +0 -0
  60. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python.egg-info/SOURCES.txt +0 -0
  61. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python.egg-info/dependency_links.txt +0 -0
  62. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python.egg-info/requires.txt +0 -0
  63. {genie_python-26.2.0 → genie_python-26.2.1}/src/genie_python.egg-info/top_level.txt +0 -0
  64. {genie_python-26.2.0 → genie_python-26.2.1}/tests/__init__.py +0 -0
  65. {genie_python-26.2.0 → genie_python-26.2.1}/tests/py3_test_genie_experimental_data.py +0 -0
  66. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_block_names.py +0 -0
  67. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_genie.py +0 -0
  68. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_genie_alerts.py +0 -0
  69. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_genie_api_setup.py +0 -0
  70. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_genie_blockserver_tests.py +0 -0
  71. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_genie_change_cache.py +0 -0
  72. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_genie_dae.py +0 -0
  73. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_genie_epics_api.py +0 -0
  74. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_genie_wait_for_move.py +0 -0
  75. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_genie_waitfor.py +0 -0
  76. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_matplotlib_backend.py +0 -0
  77. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_mysql_abstraction_layer.py +0 -0
  78. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_script_checker.py +0 -0
  79. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_script_generator.py +0 -0
  80. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_scripts/error.py +0 -0
  81. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_scripts/error_for_script_checker.py +0 -0
  82. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_scripts/test.py +0 -0
  83. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_scripts/valid.py +0 -0
  84. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_scripts/valid_python_2.py +0 -0
  85. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_scripts/valid_to_import.py +0 -0
  86. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_simulation.py +0 -0
  87. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_utilities.py +0 -0
  88. {genie_python-26.2.0 → genie_python-26.2.1}/tests/test_utils_with_unicode_literals.py +0 -0
@@ -26,7 +26,7 @@ jobs:
26
26
  - name: Build a binary wheel and a source tarball
27
27
  run: python3 -m build
28
28
  - name: Store the distribution packages
29
- uses: actions/upload-artifact@v6
29
+ uses: actions/upload-artifact@v7
30
30
  with:
31
31
  name: python-package-distributions
32
32
  path: dist/
@@ -43,7 +43,7 @@ jobs:
43
43
  id-token: write # IMPORTANT: mandatory for trusted publishing
44
44
  steps:
45
45
  - name: Download all the dists
46
- uses: actions/download-artifact@v7
46
+ uses: actions/download-artifact@v8
47
47
  with:
48
48
  name: python-package-distributions
49
49
  path: dist/
@@ -62,7 +62,7 @@ jobs:
62
62
 
63
63
  steps:
64
64
  - name: Download all the dists
65
- uses: actions/download-artifact@v7
65
+ uses: actions/download-artifact@v8
66
66
  with:
67
67
  name: python-package-distributions
68
68
  path: dist/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: genie_python
3
- Version: 26.2.0
3
+ Version: 26.2.1
4
4
  Summary: Instrument control & scripting for the ISIS Neutron & Muon source
5
5
  Author-email: ISIS Experiment Controls <ISISExperimentControls@stfc.ac.uk>
6
6
  Maintainer-email: ISIS Experiment Controls <ISISExperimentControls@stfc.ac.uk>
@@ -0,0 +1,24 @@
1
+ # file generated by vcs-versioning
2
+ # don't change, don't track in version control
3
+ from __future__ import annotations
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "__version_tuple__",
8
+ "version",
9
+ "version_tuple",
10
+ "__commit_id__",
11
+ "commit_id",
12
+ ]
13
+
14
+ version: str
15
+ __version__: str
16
+ __version_tuple__: tuple[int | str, ...]
17
+ version_tuple: tuple[int | str, ...]
18
+ commit_id: str | None
19
+ __commit_id__: str | None
20
+
21
+ __version__ = version = '26.2.1'
22
+ __version_tuple__ = version_tuple = (26, 2, 1)
23
+
24
+ __commit_id__ = commit_id = 'g0781cca87'
@@ -43,7 +43,7 @@ from genie_python.utilities import ( # noqa E402
43
43
  )
44
44
  from genie_python.version import VERSION # noqa E402
45
45
 
46
- PVBaseValue = bool | int | float | str
46
+ PVBaseValue = bool | int | float | str | bytes
47
47
  PVValue = PVBaseValue | list[PVBaseValue] | npt.NDArray | None # pyright: ignore
48
48
  # because we don't want to make PVValue generic
49
49
 
@@ -1475,7 +1475,6 @@ def load_script(name: str, check_script: bool = True, warnings_as_error: bool =
1475
1475
  full_name = get_correct_filepath_existing(name)
1476
1476
  except Exception:
1477
1477
  # Try with default script directory prepended
1478
-
1479
1478
  full_name = get_correct_filepath_existing(os.path.join(get_user_script_dir(), name))
1480
1479
  except Exception:
1481
1480
  raise Exception("Script file was not found (%s)" % get_correct_path(name))
@@ -1559,7 +1558,10 @@ def __load_module(name: str, directory: str) -> types.ModuleType:
1559
1558
  """
1560
1559
  spec = importlib.util.find_spec(name, directory)
1561
1560
  if spec is None:
1562
- raise ValueError(f"Cannot find spec for module {name} in {directory}")
1561
+ raise ValueError(
1562
+ f"Cannot find spec for module {name} in {directory}. "
1563
+ f"Check that the module name is correct (note: module names are case sensitive)."
1564
+ )
1563
1565
  module = importlib.util.module_from_spec(spec)
1564
1566
 
1565
1567
  err_msg = (
@@ -1579,7 +1581,10 @@ def __load_module(name: str, directory: str) -> types.ModuleType:
1579
1581
 
1580
1582
  module_location = str(module_file)
1581
1583
 
1582
- if os.path.normpath(os.path.dirname(module_location)) != os.path.normpath(directory):
1584
+ if (
1585
+ os.path.normpath(os.path.dirname(module_location)).lower()
1586
+ != os.path.normpath(directory).lower()
1587
+ ):
1583
1588
  raise ValueError(err_msg)
1584
1589
 
1585
1590
  sys.modules[name] = module
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: genie_python
3
- Version: 26.2.0
3
+ Version: 26.2.1
4
4
  Summary: Instrument control & scripting for the ISIS Neutron & Muon source
5
5
  Author-email: ISIS Experiment Controls <ISISExperimentControls@stfc.ac.uk>
6
6
  Maintainer-email: ISIS Experiment Controls <ISISExperimentControls@stfc.ac.uk>
@@ -1,34 +0,0 @@
1
- # file generated by setuptools-scm
2
- # don't change, don't track in version control
3
-
4
- __all__ = [
5
- "__version__",
6
- "__version_tuple__",
7
- "version",
8
- "version_tuple",
9
- "__commit_id__",
10
- "commit_id",
11
- ]
12
-
13
- TYPE_CHECKING = False
14
- if TYPE_CHECKING:
15
- from typing import Tuple
16
- from typing import Union
17
-
18
- VERSION_TUPLE = Tuple[Union[int, str], ...]
19
- COMMIT_ID = Union[str, None]
20
- else:
21
- VERSION_TUPLE = object
22
- COMMIT_ID = object
23
-
24
- version: str
25
- __version__: str
26
- __version_tuple__: VERSION_TUPLE
27
- version_tuple: VERSION_TUPLE
28
- commit_id: COMMIT_ID
29
- __commit_id__: COMMIT_ID
30
-
31
- __version__ = version = '26.2.0'
32
- __version_tuple__ = version_tuple = (26, 2, 0)
33
-
34
- __commit_id__ = commit_id = 'g4a4b13072'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes