deapi 5.3b4__tar.gz → 5.3b6__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 (116) hide show
  1. {deapi-5.3b4 → deapi-5.3b6}/.github/workflows/build.yaml +14 -17
  2. {deapi-5.3b4 → deapi-5.3b6}/CHANGES.rst +27 -0
  3. {deapi-5.3b4 → deapi-5.3b6}/PKG-INFO +6 -3
  4. {deapi-5.3b4 → deapi-5.3b6}/deapi/__init__.py +2 -1
  5. {deapi-5.3b4 → deapi-5.3b6}/deapi/buffer_protocols/pb_3_19_3.py +1 -0
  6. {deapi-5.3b4 → deapi-5.3b6}/deapi/buffer_protocols/pb_3_23_3.py +1 -0
  7. {deapi-5.3b4 → deapi-5.3b6}/deapi/client.py +394 -149
  8. {deapi-5.3b4 → deapi-5.3b6}/deapi/conf.py +0 -1
  9. {deapi-5.3b4 → deapi-5.3b6}/deapi/data_types.py +138 -0
  10. deapi-5.3b6/deapi/prop_dump.json +583 -0
  11. {deapi-5.3b4 → deapi-5.3b6}/deapi/simulated_server/fake_server.py +119 -14
  12. {deapi-5.3b4 → deapi-5.3b6}/deapi/simulated_server/initialize_server.py +39 -13
  13. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/conftest.py +41 -4
  14. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/05_swhwBinning.py +0 -1
  15. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/10_imageStatistics.py +21 -7
  16. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/test_legacy.py +2 -1
  17. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_client.py +51 -83
  18. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_fake_server/test_server.py +5 -2
  19. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_file_saving/test_file_loading_libertem.py +5 -1
  20. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_file_saving/test_file_loading_rsciio.py +1 -1
  21. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_file_saving/test_scan_pattern_saving.py +7 -6
  22. deapi-5.3b6/deapi/tests/test_scanning/test_continual_scanning.py +496 -0
  23. deapi-5.3b6/deapi/tests/test_scanning/test_virtual_image_buffers.py +277 -0
  24. deapi-5.3b6/deapi/tests/test_utils/__init__.py +0 -0
  25. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_utils/test_utils.py +27 -35
  26. deapi-5.3b6/deapi/version.py +22 -0
  27. {deapi-5.3b4 → deapi-5.3b6}/deapi.egg-info/PKG-INFO +6 -3
  28. {deapi-5.3b4 → deapi-5.3b6}/deapi.egg-info/SOURCES.txt +5 -0
  29. {deapi-5.3b4 → deapi-5.3b6}/deapi.egg-info/requires.txt +7 -2
  30. deapi-5.3b6/doc/_static/ScanPatterns.png +0 -0
  31. {deapi-5.3b4 → deapi-5.3b6}/doc/conf.py +1 -0
  32. {deapi-5.3b4 → deapi-5.3b6}/doc/reference/index.rst +8 -0
  33. deapi-5.3b6/doc/reference/scan_design.rst +727 -0
  34. {deapi-5.3b4 → deapi-5.3b6}/examples/live_imaging/bright_spot_intensity.py +0 -1
  35. {deapi-5.3b4 → deapi-5.3b6}/pyproject.toml +6 -4
  36. deapi-5.3b4/deapi/prop_dump.json +0 -570
  37. deapi-5.3b4/deapi/version.py +0 -4
  38. {deapi-5.3b4 → deapi-5.3b6}/.github/workflows/documentation.yaml +0 -0
  39. {deapi-5.3b4 → deapi-5.3b6}/.github/workflows/publish.yaml +0 -0
  40. {deapi-5.3b4 → deapi-5.3b6}/.github/workflows/test-publish.yaml +0 -0
  41. {deapi-5.3b4 → deapi-5.3b6}/.pre-commit-config.yaml +0 -0
  42. {deapi-5.3b4 → deapi-5.3b6}/LICENSE +0 -0
  43. {deapi-5.3b4 → deapi-5.3b6}/README.md +0 -0
  44. {deapi-5.3b4 → deapi-5.3b6}/deapi/Guide to use mamba.pdf +0 -0
  45. {deapi-5.3b4 → deapi-5.3b6}/deapi/buffer_protocols/__init__.py +0 -0
  46. {deapi-5.3b4 → deapi-5.3b6}/deapi/buffer_protocols/pb_2_3_0.py +0 -0
  47. {deapi-5.3b4 → deapi-5.3b6}/deapi/buffer_protocols/pb_3_11_4.py +0 -0
  48. {deapi-5.3b4 → deapi-5.3b6}/deapi/buffer_protocols/pb_3_6_1.py +0 -0
  49. {deapi-5.3b4 → deapi-5.3b6}/deapi/fake_data/__init__.py +0 -0
  50. {deapi-5.3b4 → deapi-5.3b6}/deapi/fake_data/base_fake_data.py +0 -0
  51. {deapi-5.3b4 → deapi-5.3b6}/deapi/fake_data/grains.py +0 -0
  52. {deapi-5.3b4 → deapi-5.3b6}/deapi/index.rst +0 -0
  53. {deapi-5.3b4 → deapi-5.3b6}/deapi/python_3_instruction.txt +0 -0
  54. {deapi-5.3b4 → deapi-5.3b6}/deapi/release_notes.txt +0 -0
  55. {deapi-5.3b4 → deapi-5.3b6}/deapi/service/de_service.py +0 -0
  56. {deapi-5.3b4 → deapi-5.3b6}/deapi/simulated_server/__init__.py +0 -0
  57. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/__init__.py +0 -0
  58. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/01_fps.py +0 -0
  59. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/02_hwRoisize.py +0 -0
  60. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/03_hwBinning.py +0 -0
  61. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/04_swBinning.py +0 -0
  62. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/06_patternPixel.py +0 -0
  63. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/07_reference.py +0 -0
  64. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/08_virtmask.py +0 -0
  65. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/09_scanRoi.py +0 -0
  66. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/__init__.py +0 -0
  67. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/func.py +0 -0
  68. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/original_tests/propertyName.py +0 -0
  69. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/speed_tests/__init__.py +0 -0
  70. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/speed_tests/test_internal_file_saving.py +0 -0
  71. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/speed_tests/test_movie_buffer_transfer.py +0 -0
  72. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_binning_rois/__init__.py +0 -0
  73. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_binning_rois/test_rois.py +0 -0
  74. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_examples.py +0 -0
  75. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_fake_server/__init__.py +0 -0
  76. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_file_saving/__init__.py +0 -0
  77. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_file_saving/test_h5ebsd.py +0 -0
  78. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_insitu/__init__.py +0 -0
  79. {deapi-5.3b4 → deapi-5.3b6}/deapi/tests/test_insitu/test_start_stop.py +0 -0
  80. {deapi-5.3b4/deapi/tests/test_utils → deapi-5.3b6/deapi/tests/test_scanning}/__init__.py +0 -0
  81. {deapi-5.3b4 → deapi-5.3b6}/deapi/utils.py +0 -0
  82. {deapi-5.3b4 → deapi-5.3b6}/deapi/wrappers.py +0 -0
  83. {deapi-5.3b4 → deapi-5.3b6}/deapi.egg-info/dependency_links.txt +0 -0
  84. {deapi-5.3b4 → deapi-5.3b6}/deapi.egg-info/entry_points.txt +0 -0
  85. {deapi-5.3b4 → deapi-5.3b6}/deapi.egg-info/top_level.txt +0 -0
  86. {deapi-5.3b4 → deapi-5.3b6}/doc/Makefile +0 -0
  87. {deapi-5.3b4 → deapi-5.3b6}/doc/_static/de_api_icon.svg +0 -0
  88. {deapi-5.3b4 → deapi-5.3b6}/doc/_templates/autosummary/base.rst +0 -0
  89. {deapi-5.3b4 → deapi-5.3b6}/doc/_templates/custom-attribute-template.rst +0 -0
  90. {deapi-5.3b4 → deapi-5.3b6}/doc/_templates/custom-class-template.rst +0 -0
  91. {deapi-5.3b4 → deapi-5.3b6}/doc/_templates/custom-function-template.rst +0 -0
  92. {deapi-5.3b4 → deapi-5.3b6}/doc/_templates/custom-module-template.rst +0 -0
  93. {deapi-5.3b4 → deapi-5.3b6}/doc/_templates/custrom-method-template.rst +0 -0
  94. {deapi-5.3b4 → deapi-5.3b6}/doc/changes.rst +0 -0
  95. {deapi-5.3b4 → deapi-5.3b6}/doc/help/dev_guide.rst +0 -0
  96. {deapi-5.3b4 → deapi-5.3b6}/doc/help/help.rst +0 -0
  97. {deapi-5.3b4 → deapi-5.3b6}/doc/help/index.rst +0 -0
  98. {deapi-5.3b4 → deapi-5.3b6}/doc/help/pyDEServer.rst +0 -0
  99. {deapi-5.3b4 → deapi-5.3b6}/doc/index.rst +0 -0
  100. {deapi-5.3b4 → deapi-5.3b6}/doc/intro.rst +0 -0
  101. {deapi-5.3b4 → deapi-5.3b6}/doc/make.bat +0 -0
  102. {deapi-5.3b4 → deapi-5.3b6}/examples/README.rst +0 -0
  103. {deapi-5.3b4 → deapi-5.3b6}/examples/live_imaging/README.rst +0 -0
  104. {deapi-5.3b4 → deapi-5.3b6}/examples/live_imaging/taking_an_image_every_minute.py +0 -0
  105. {deapi-5.3b4 → deapi-5.3b6}/examples/live_imaging/viewing_the_sensor.py +0 -0
  106. {deapi-5.3b4 → deapi-5.3b6}/examples/live_imaging/viewing_the_sensor_tem.py +0 -0
  107. {deapi-5.3b4 → deapi-5.3b6}/examples/references/README.rst +0 -0
  108. {deapi-5.3b4 → deapi-5.3b6}/examples/setting_parameters/README.rst +0 -0
  109. {deapi-5.3b4 → deapi-5.3b6}/examples/setting_parameters/setting_up_stem.py +0 -0
  110. {deapi-5.3b4 → deapi-5.3b6}/examples/virtual_imaging/README.rst +0 -0
  111. {deapi-5.3b4 → deapi-5.3b6}/examples/virtual_imaging/setting_virtual_masks.py +0 -0
  112. {deapi-5.3b4 → deapi-5.3b6}/examples/virtual_imaging/vdf_vbf.py +0 -0
  113. {deapi-5.3b4 → deapi-5.3b6}/examples/visualization/README.rst +0 -0
  114. {deapi-5.3b4 → deapi-5.3b6}/examples/visualization/creating_a_simple_dashboard.py +0 -0
  115. {deapi-5.3b4 → deapi-5.3b6}/examples/visualization/using_get_result.py +0 -0
  116. {deapi-5.3b4 → deapi-5.3b6}/setup.cfg +0 -0
@@ -9,26 +9,25 @@ env:
9
9
  MPLBACKEND: agg
10
10
 
11
11
  jobs:
12
- build-with-pip:
12
+ build-with-uv:
13
13
  name: ${{ matrix.os }}-py${{ matrix.python-version }}${{ matrix.LABEL }}
14
14
  runs-on: ${{ matrix.os }}
15
- timeout-minutes: 15
15
+ timeout-minutes: 20
16
16
  strategy:
17
17
  fail-fast: false
18
18
  matrix:
19
19
  os: [ubuntu-latest, windows-latest, macos-latest]
20
- python-version: ["3.11", "3.12"]
20
+ python-version: ["3.12", "3.13"]
21
21
  include:
22
22
  - os: ubuntu-latest
23
- python-version: 3.11
24
-
23
+ python-version: "3.11"
25
24
  DEPENDENCIES: protobuf==5.26.0
26
25
  LABEL: -oldest
27
26
  steps:
28
- - uses: actions/checkout@v3
27
+ - uses: actions/checkout@v4
29
28
 
30
- - name: Set up Python ${{ matrix.python-version }}
31
- uses: actions/setup-python@v4
29
+ - name: Install uv
30
+ uses: astral-sh/setup-uv@v5
32
31
  with:
33
32
  python-version: ${{ matrix.python-version }}
34
33
 
@@ -45,34 +44,32 @@ jobs:
45
44
  shell: python
46
45
 
47
46
  - name: Install dependencies and package
48
- shell: bash
49
47
  run: |
50
- pip install -U -e .'[tests]'
48
+ uv sync --extra tests
51
49
 
52
50
  - name: Install oldest supported versions
53
51
  if: contains(matrix.LABEL, 'oldest')
54
52
  run: |
55
- pip install ${{ matrix.DEPENDENCIES }}
53
+ uv pip install ${{ matrix.DEPENDENCIES }}
56
54
 
57
55
  - name: Display Python, pip and package versions
58
56
  run: |
59
- python -V
60
- pip -V
61
- pip list
57
+ uv run python -V
58
+ uv pip list
62
59
 
63
60
  - name: Run docstring tests
64
61
  continue-on-error: true
65
62
  run: |
66
- pytest --doctest-modules --doctest-continue-on-failure --ignore-glob=deapi/tests deapi
63
+ uv run pytest --doctest-modules --doctest-continue-on-failure --ignore-glob=deapi/tests deapi
67
64
 
68
65
  - name: Run tests
69
66
  run: |
70
- pytest --cov=. --cov-report=xml
67
+ uv run pytest --timeout=60 --cov=. --cov-report=xml
71
68
 
72
69
  - name: Generate line coverage
73
70
  if: ${{ matrix.os == 'ubuntu-latest' }}
74
71
  run: |
75
- coverage report --show-missing
72
+ uv run coverage report --show-missing
76
73
 
77
74
  - name: Upload coverage to Codecov
78
75
  if: ${{ always() }}
@@ -4,6 +4,33 @@ Changelog
4
4
  *********
5
5
 
6
6
  This document describes the changes in the DEAPI library.
7
+ 5.3.beta6
8
+ =========
9
+ - Fixed invalid property errors and bugs in set_binning
10
+ - Updated get_property_specifications
11
+ - Do not automatically set attributes.windowWidth and attributes.windowHeight
12
+ - Return pattern index for get_result and get_virtual_image_buffer
13
+
14
+ 5.3.beta5
15
+ =========
16
+ - Modify gain acquisition
17
+
18
+ 5.3.beta4
19
+ =========
20
+ - Add GetEvent functionality to client.py
21
+ - Fixed bug in set_binning
22
+
23
+ 5.3.beta3
24
+ =========
25
+ - Fix the problem that the set_binning function could not set HW binning to 1
26
+
27
+ 5.3.beta2
28
+ =========
29
+ - Add access register
30
+
31
+ 5.3.beta1
32
+ =========
33
+ - Create a Result Class to handle Result + Histogram
7
34
 
8
35
  5.3.beta0
9
36
  =========
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deapi
3
- Version: 5.3b4
3
+ Version: 5.3b6
4
4
  Summary: API for DE Server
5
5
  Author: Direct Electron
6
6
  Project-URL: Bug Reports, https://github.com/directelectron/deapi/issues
@@ -21,12 +21,13 @@ Classifier: Topic :: Scientific/Engineering
21
21
  Requires-Python: >=3.8
22
22
  License-File: LICENSE
23
23
  Requires-Dist: numpy>=1.20.0
24
- Requires-Dist: protobuf
24
+ Requires-Dist: protobuf>=3.20.0
25
25
  Requires-Dist: pillow
26
26
  Requires-Dist: matplotlib
27
27
  Requires-Dist: scipy
28
28
  Requires-Dist: scikit-image
29
29
  Requires-Dist: sympy
30
+ Requires-Dist: pywin32; platform_system == "Windows"
30
31
  Provides-Extra: tests
31
32
  Requires-Dist: pytest-instafail; extra == "tests"
32
33
  Requires-Dist: pytest-mpl; extra == "tests"
@@ -36,12 +37,14 @@ Requires-Dist: pytest>=3.6; extra == "tests"
36
37
  Requires-Dist: setuptools_scm; extra == "tests"
37
38
  Requires-Dist: pytest-cov; extra == "tests"
38
39
  Requires-Dist: pytest-xprocess; extra == "tests"
39
- Requires-Dist: libertem; extra == "tests"
40
+ Requires-Dist: pytest-timeout; extra == "tests"
40
41
  Requires-Dist: hyperspy; extra == "tests"
42
+ Requires-Dist: psutil; extra == "tests"
41
43
  Provides-Extra: service
42
44
  Requires-Dist: pyqt6; extra == "service"
43
45
  Provides-Extra: doc
44
46
  Requires-Dist: sphinx; extra == "doc"
45
47
  Requires-Dist: pydata_sphinx_theme; extra == "doc"
46
48
  Requires-Dist: sphinx-gallery; extra == "doc"
49
+ Requires-Dist: sphinx-tabs; extra == "doc"
47
50
  Dynamic: license-file
@@ -7,6 +7,7 @@ from deapi.data_types import (
7
7
  DataType,
8
8
  MovieBufferStatus,
9
9
  MovieBufferInfo,
10
+ VirtualImageInfo,
10
11
  VirtualMask,
11
12
  ContrastStretchType,
12
13
  Attributes,
@@ -15,7 +16,6 @@ from deapi.data_types import (
15
16
  PropertyCollection,
16
17
  )
17
18
 
18
-
19
19
  __all__ = [
20
20
  "Client",
21
21
  "__version__",
@@ -24,6 +24,7 @@ __all__ = [
24
24
  "DataType",
25
25
  "MovieBufferStatus",
26
26
  "MovieBufferInfo",
27
+ "VirtualImageInfo",
27
28
  "VirtualMask",
28
29
  "ContrastStretchType",
29
30
  "Attributes",
@@ -2,6 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: DE.proto
4
4
  """Generated protocol buffer code."""
5
+
5
6
  from google.protobuf import descriptor as _descriptor
6
7
  from google.protobuf import descriptor_pool as _descriptor_pool
7
8
  from google.protobuf import message as _message
@@ -2,6 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: DE.proto
4
4
  """Generated protocol buffer code."""
5
+
5
6
  from google.protobuf import descriptor as _descriptor
6
7
  from google.protobuf import descriptor_pool as _descriptor_pool
7
8
  from google.protobuf import symbol_database as _symbol_database