summaryrefslogtreecommitdiff
path: root/pyproject.toml
diff options
context:
space:
mode:
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml96
1 files changed, 73 insertions, 23 deletions
diff --git a/pyproject.toml b/pyproject.toml
index a835307..486d2f6 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,23 +1,73 @@
-[build-system]
-requires = ["setuptools"]
-build-backend = "setuptools.build_meta"
-
-[project]
-name = "picostream"
-version = "0.2.0"
-dependencies = [
- "numpy",
- "loguru",
- "picosdk",
- "h5py",
- "pyqtgraph",
- "numba",
- "click",
-]
-
-
-[tool.setuptools]
-packages = ["picostream"] # List the package names directly
-
-[project.scripts]
-picostream = "picostream.main:main"
+[project]
+name = "picostream"
+version = "1.0.0"
+description = "High-speed dual-channel data acquisition for PicoScope 5000a series"
+readme = "README.md"
+requires-python = ">=3.10"
+dependencies = [
+ "labdaemon>=1.0.0",
+ "numpy",
+ "numba",
+ "PyQt6>=6.0.0",
+ "pyqtgraph>=0.13.0",
+ "loguru>=0.6.0",
+ "zarr>=2.16.0",
+ "vispy>=0.14.0",
+ "picosdk",
+]
+
+[dependency-groups]
+dev = [
+ "pyinstaller",
+ "pytest>=7.0.0",
+ "pytest-cov",
+ "ruff>=0.1.0",
+ "pyright>=1.1.0",
+ "snakeviz>=2.2.0",
+]
+
+[tool.pyright]
+# Type checking rules to disable for FFI libraries and external tools
+# reportAttributeAccessIssue: ctypes/FFI library attributes (picosdk SDK)
+# reportOptionalSubscript: ctypes functions that can return None
+# reportOptionalMemberAccess: FFI methods with optional returns
+# reportCallIssue: calling possibly-None FFI function results
+# reportOptionalOperand: arithmetic on possibly-None FFI results
+reportAttributeAccessIssue = false
+reportOptionalSubscript = false
+reportOptionalMemberAccess = false
+reportCallIssue = false
+reportOptionalOperand = false
+
+exclude = [
+ "picostream/test_buffered_stream.py",
+ "picostream/test_live_plotter.py",
+ "picostream/test_zarr_writer.py",
+ "picostream/tests/",
+ "picostream/v0_backup/",
+]
+
+[tool.coverage.run]
+source = ["picostream"]
+omit = [
+ "picostream/tests/",
+ "picostream/v0_backup/**",
+]
+
+[tool.coverage.report]
+exclude_lines = [
+ "pragma: no cover",
+ "def __repr__",
+ "if TYPE_CHECKING:",
+ "raise NotImplementedError",
+ "if __name__ == .__main__.:",
+]
+
+[tool.setuptools]
+packages = ["picostream"]
+
+[project.scripts]
+picostream = "picostream.main:main"
+
+[project.urls]
+Repository = "https://github.com/yourusername/picostream"