[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"