From d89013234b984e325b6acf8e47a30703a3aac16a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 17 May 2026 11:45:43 +0000 Subject: [PATCH 1/4] Initial plan From dcfe292cfcfd99508fcee39a1b77d170145933bc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 17 May 2026 11:48:17 +0000 Subject: [PATCH 2/4] docs: deprecate fork in favor of upstream PyPI release Agent-Logs-Url: https://github.com/danionella/PyVCAM/sessions/38eee508-95f1-4967-98d8-3d635aeb1835 Co-authored-by: bjudkewitz <18418343+bjudkewitz@users.noreply.github.com> --- README.md | 24 ++++++++++++------ docs/CheetSheet.txt | 2 +- docs/PyVCAM Wrapper.md | 6 ++++- src/pyvcam/__init__.py | 11 ++++++++ .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 431 bytes .../test_deprecated_fork.cpython-312.pyc | Bin 0 -> 2101 bytes tests/test_deprecated_fork.py | 24 ++++++++++++++++++ 7 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 src/pyvcam/__pycache__/__init__.cpython-312.pyc create mode 100644 tests/__pycache__/test_deprecated_fork.cpython-312.pyc create mode 100644 tests/test_deprecated_fork.py diff --git a/README.md b/README.md index a825f99..10b5051 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ -# PyVCAM Wrapper - -PyVCAM Wrapper is a Python3.X wrapper for the PVCAM SDK. +# PyVCAM Wrapper + +> This fork is deprecated. Photometrics has since incorporated the live-mode +> queue fix from PR #45 while closing issue #35, so downstream users should +> install the maintained upstream package from PyPI instead of using this fork. + +PyVCAM Wrapper is a Python3.X wrapper for the PVCAM SDK. ## Getting Started Follow the instructions below to get PyVCAM up and running on your machine for development and testing. @@ -14,10 +18,14 @@ Follow the instructions below to get PyVCAM up and running on your machine for d * PyVCAM was developed and tested using Microsoft Windows 10/64-bit. The build package also supports Linux, but testing has been minimal. -### Installing -When you are ready to install the wrapper use your command prompt to navigate into the directory that contains -setup.py and run ```python setup.py install``` - +### Installing +Use the maintained upstream release from Photometrics instead of installing this +fork from source: + +```bash +python -m pip install --upgrade PyVCAM +``` + ### How to use the wrapper #### Create Camera Example @@ -50,4 +58,4 @@ cam.speed_table_index = 0 cam.gain = 1 ``` -More information on how to use this wrapper and how it works can be found [here](https://github.com/Photometrics/PyVCAM/blob/master/docs/PyVCAM%20Wrapper.md). +More information on how to use this wrapper and how it works can be found [here](https://github.com/Photometrics/PyVCAM/blob/master/docs/PyVCAM%20Wrapper.md). diff --git a/docs/CheetSheet.txt b/docs/CheetSheet.txt index 2fa0a75..5602f2a 100644 --- a/docs/CheetSheet.txt +++ b/docs/CheetSheet.txt @@ -1,5 +1,5 @@ [[Installation]] -python setup.py install +python -m pip install --upgrade PyVCAM [[Camera Class]] diff --git a/docs/PyVCAM Wrapper.md b/docs/PyVCAM Wrapper.md index 46b1baa..3f3a8ab 100644 --- a/docs/PyVCAM Wrapper.md +++ b/docs/PyVCAM Wrapper.md @@ -1,4 +1,8 @@ -# PyVCAM Wrapper +# PyVCAM Wrapper + +> This fork is deprecated. Photometrics has since incorporated the live-mode +> queue fix from PR #45 while closing issue #35, so downstream users should +> install the maintained upstream package from PyPI instead of using this fork. - [PyVCAM Wrapper](#pyvcam-wrapper) * [src](#src) diff --git a/src/pyvcam/__init__.py b/src/pyvcam/__init__.py index e69de29..50302d9 100644 --- a/src/pyvcam/__init__.py +++ b/src/pyvcam/__init__.py @@ -0,0 +1,11 @@ +"""Local fork deprecation notice for PyVCAM.""" + +from warnings import warn + + +warn( + "This fork of PyVCAM is deprecated. Install the maintained " + "Photometrics release from PyPI instead.", + DeprecationWarning, + stacklevel=2, +) diff --git a/src/pyvcam/__pycache__/__init__.cpython-312.pyc b/src/pyvcam/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1c23d48ac1fa8ef0f4b7d29082517a54bc82e499 GIT binary patch literal 431 zcmYLG%}N6?5KgkY{llVo5WMBO9(He@L=e3cRC*AFUP4GxH+DBE*|ep75ud@IH}M5@ zPl9;p$x1-s|?xPcwkXl>hVx9Z-Jw literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_deprecated_fork.cpython-312.pyc b/tests/__pycache__/test_deprecated_fork.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f3e3d21b507b5957e5dfef0e36e178a08d979aa GIT binary patch literal 2101 zcmbtVO>7%Q6rS0&*PD%`j3z!HajLjPN+D9X@W$(nLt>!_#`es6 z^WJ>#XWl&j6bNVt#^G08sj7s~Z-Q}$w?!O$3&aMpkcHDI=Bzk|o4gd0nyVa>o2w`0 zkr2VDCaMeMtVG$y4wdTtr$lhut*w-PR%S^9uxZI_-3Z0HB=iolJnP8v5;^t4S?z7v z*^70Ta9DXNn8l~UGM5>R#~q9^J z3z!_W)5-UFz#$C>N4S{D-6mW!nXtA@3xulXeDWFx>HsyDMs0t@M_AH}Te+TgCfRH8r#^`MO3M z{@%*<^7YD6d1-U*fmQR5HTnkXeW7Y!=%J_9H@T0bz{E~}Lw~uh4_Ec!2Z@>@BX_rfB09`-*iK%sjvM4bf6sgx&QL_ z^3JtK^w0m@bQ;G=}) z(omIfiju6&sA$?;U4|1g@MIjzufv{WNO*IkPB|t0799gtbTM`lrhOS>yodBX)U$`Q zJ=6=|eFb&D^vOu&V)^1{cXqX4T?}R~ P!dUgf*dIu6O{0GUCIhel literal 0 HcmV?d00001 diff --git a/tests/test_deprecated_fork.py b/tests/test_deprecated_fork.py new file mode 100644 index 0000000..d035ed4 --- /dev/null +++ b/tests/test_deprecated_fork.py @@ -0,0 +1,24 @@ +import importlib +import pathlib +import sys +import unittest +import warnings + + +SRC_DIR = pathlib.Path(__file__).resolve().parents[1] / "src" + + +class DeprecatedForkTests(unittest.TestCase): + def test_import_warns_to_use_upstream_release(self): + sys.path.insert(0, str(SRC_DIR)) + try: + sys.modules.pop("pyvcam", None) + with warnings.catch_warnings(record=True) as caught: + warnings.simplefilter("always") + importlib.import_module("pyvcam") + finally: + sys.modules.pop("pyvcam", None) + sys.path.remove(str(SRC_DIR)) + + self.assertTrue(caught) + self.assertIn("Photometrics release from PyPI", str(caught[0].message)) From fa7897235a1351e0e68732971e9fd54cb1b209ef Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 17 May 2026 11:48:38 +0000 Subject: [PATCH 3/4] chore: ignore generated python cache files Agent-Logs-Url: https://github.com/danionella/PyVCAM/sessions/38eee508-95f1-4967-98d8-3d635aeb1835 Co-authored-by: bjudkewitz <18418343+bjudkewitz@users.noreply.github.com> --- .gitignore | 2 ++ src/pyvcam/__pycache__/__init__.cpython-312.pyc | Bin 431 -> 0 bytes .../test_deprecated_fork.cpython-312.pyc | Bin 2101 -> 0 bytes 3 files changed, 2 insertions(+) delete mode 100644 src/pyvcam/__pycache__/__init__.cpython-312.pyc delete mode 100644 tests/__pycache__/test_deprecated_fork.cpython-312.pyc diff --git a/.gitignore b/.gitignore index f8ec13f..0b5cb05 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ build dist pyvcam.egg-info +__pycache__/ +*.py[cod] diff --git a/src/pyvcam/__pycache__/__init__.cpython-312.pyc b/src/pyvcam/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 1c23d48ac1fa8ef0f4b7d29082517a54bc82e499..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 431 zcmYLG%}N6?5KgkY{llVo5WMBO9(He@L=e3cRC*AFUP4GxH+DBE*|ep75ud@IH}M5@ zPl9;p$x1-s|?xPcwkXl>hVx9Z-Jw diff --git a/tests/__pycache__/test_deprecated_fork.cpython-312.pyc b/tests/__pycache__/test_deprecated_fork.cpython-312.pyc deleted file mode 100644 index 3f3e3d21b507b5957e5dfef0e36e178a08d979aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2101 zcmbtVO>7%Q6rS0&*PD%`j3z!HajLjPN+D9X@W$(nLt>!_#`es6 z^WJ>#XWl&j6bNVt#^G08sj7s~Z-Q}$w?!O$3&aMpkcHDI=Bzk|o4gd0nyVa>o2w`0 zkr2VDCaMeMtVG$y4wdTtr$lhut*w-PR%S^9uxZI_-3Z0HB=iolJnP8v5;^t4S?z7v z*^70Ta9DXNn8l~UGM5>R#~q9^J z3z!_W)5-UFz#$C>N4S{D-6mW!nXtA@3xulXeDWFx>HsyDMs0t@M_AH}Te+TgCfRH8r#^`MO3M z{@%*<^7YD6d1-U*fmQR5HTnkXeW7Y!=%J_9H@T0bz{E~}Lw~uh4_Ec!2Z@>@BX_rfB09`-*iK%sjvM4bf6sgx&QL_ z^3JtK^w0m@bQ;G=}) z(omIfiju6&sA$?;U4|1g@MIjzufv{WNO*IkPB|t0799gtbTM`lrhOS>yodBX)U$`Q zJ=6=|eFb&D^vOu&V)^1{cXqX4T?}R~ P!dUgf*dIu6O{0GUCIhel From 21c2d0a9a732f47cc120b21cd031619365853220 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 17 May 2026 11:49:19 +0000 Subject: [PATCH 4/4] test: harden deprecation warning assertion Agent-Logs-Url: https://github.com/danionella/PyVCAM/sessions/38eee508-95f1-4967-98d8-3d635aeb1835 Co-authored-by: bjudkewitz <18418343+bjudkewitz@users.noreply.github.com> --- tests/test_deprecated_fork.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_deprecated_fork.py b/tests/test_deprecated_fork.py index d035ed4..50bd141 100644 --- a/tests/test_deprecated_fork.py +++ b/tests/test_deprecated_fork.py @@ -20,5 +20,5 @@ def test_import_warns_to_use_upstream_release(self): sys.modules.pop("pyvcam", None) sys.path.remove(str(SRC_DIR)) - self.assertTrue(caught) + self.assertGreater(len(caught), 0) self.assertIn("Photometrics release from PyPI", str(caught[0].message))