diff --git a/generate_protos b/generate_protos index e56e185..bc7a3aa 100755 --- a/generate_protos +++ b/generate_protos @@ -6,9 +6,9 @@ do python -m grpc_tools.protoc \ --proto_path=./schema/ \ - --python_out=python_not_for_dunedaq/ \ - --grpc_python_out=python_not_for_dunedaq/ \ - --mypy_out=python_not_for_dunedaq/ \ + --python_out=src/ \ + --grpc_python_out=src/ \ + --mypy_out=src/ \ ${FILE} # FILE_NAME=$(basename -- "$FILE") @@ -25,8 +25,8 @@ do python -m grpc_tools.protoc \ --proto_path=./schema/ \ - --python_out=python_not_for_dunedaq/ \ - --mypy_out=python_not_for_dunedaq/ \ + --python_out=src/ \ + --mypy_out=src/ \ ${FILE} # FILE_NAME=$(basename -- "$FILE") diff --git a/pyproject.toml b/pyproject.toml index 02678d3..3255c18 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,43 +4,47 @@ build-backend = "setuptools.build_meta" [project] name = "druncschema" +description = "Schema definitions and compilation script for drunc" +version = "0.11.3" +readme = "docs/README.md" requires-python = ">=3.10" -dynamic = ["version", "readme"] dependencies = [ - "grpcio==1.68.0", - "grpcio-status==1.68.0", - "grpcio-tools==1.68.0", - "googleapis-common-protos==1.66.0" + "click", + "grpcio", + "grpcio-status", + "grpcio-tools", + "googleapis-common-protos", + "rich", ] authors = [ {name = "Pierre Lasorak", email = "p.lasorak@imperial.ac.uk"}, {name = "Pawel Plesniak", email = "pawel.plesniak15@imperial.ac.uk"}, {name = "Claudia Su", email = "claudia.su@physics.ox.ac.uk"} ] -description = "Schema definitions and compilation script for drunc" [project.optional-dependencies] -dev = ["ruff", "pre-commit", "pytest", "mypy-protobuf", "types-protobuf"] +dev = ["ruff", "pre-commit", "pytest", "pytest-cov", "mypy-protobuf", "types-protobuf"] [project.urls] Documentation = "https://dune-daq-sw.readthedocs.io/en/latest/packages/daq-release/team_repos/?h=druncschema" Repository = "https://github.com/DUNE-DAQ/druncschema" -[project.scripts] -druncschema-generate-protos = "druncschema.apps.__main_generate_protos__:main" +[tool.setuptools.packages.find] +where = ["src"] -[tool.setuptools.dynamic] -version = {attr = "druncschema.__version__"} -readme = {file = ["docs/README.md"]} +[tool.pytest.ini_options] +addopts = "-v --tb=short --cov=druncschema --cov=src/druncschema tests/" + +[tool.coverage.run] +source = ["druncschema"] +omit = ["tests/*", "scripts/*"] -[tool.setuptools.packages.find] -where = ["python_not_for_dunedaq"] [tool.ruff] exclude = [ - "python_not_for_dunedaq/druncschema.egg-info", - "python_not_for_dunedaq/*/*_pb2.py*", - "python_not_for_dunedaq/*/*_pb2_grpc.py", + "src/druncschema.egg-info", + "src/druncschema/*_pb2.py*", + "src/druncschema/*_pb2_grpc.py", ] [tool.ruff.lint] @@ -51,5 +55,6 @@ select = [ "I", # isort "UP", # pyupgrade "RUF", # ruff-specific rules + "R", # refactoring suggestions ] pydocstyle.convention = "google" diff --git a/python_not_for_dunedaq/druncschema/apps/__init__.py b/python_not_for_dunedaq/druncschema/apps/__init__.py deleted file mode 100644 index ad38309..0000000 --- a/python_not_for_dunedaq/druncschema/apps/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""app package for druncschema.""" \ No newline at end of file diff --git a/python_not_for_dunedaq/druncschema/apps/__main_generate_protos__.py b/scripts/generate_protos.py old mode 100644 new mode 100755 similarity index 97% rename from python_not_for_dunedaq/druncschema/apps/__main_generate_protos__.py rename to scripts/generate_protos.py index 19c721a..f335b4c --- a/python_not_for_dunedaq/druncschema/apps/__main_generate_protos__.py +++ b/scripts/generate_protos.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + """Defines command to compile *.proto files. Compiles buffers into @@ -196,10 +198,10 @@ def main( ) log.exception(e) - druncschema_root = files("druncschema").parents[1] + druncschema_root = Path(f'{os.environ["DBT_AREA_ROOT"]}/sourcecode/druncschema') log.debug(f"Found druncschema directory at {druncschema_root}") - output_dir = druncschema_root / "python_not_for_dunedaq/" + output_dir = druncschema_root / "src/" log.debug(f"Set output directory as {output_dir}") source_path = druncschema_root.parents[1] / "env.sh" @@ -225,3 +227,5 @@ def main( clean, do_not_compile ) + +main() diff --git a/python_not_for_dunedaq/druncschema/__init__.py b/src/druncschema/__init__.py similarity index 86% rename from python_not_for_dunedaq/druncschema/__init__.py rename to src/druncschema/__init__.py index 4d176e4..571ad55 100644 --- a/python_not_for_dunedaq/druncschema/__init__.py +++ b/src/druncschema/__init__.py @@ -1,2 +1 @@ # This directory is _NOT_ to be used for dune daq, this is solely when one wants to run standalone without any dunedaq dependency. -__version__='0.11.3' diff --git a/python_not_for_dunedaq/druncschema/authoriser_pb2.py b/src/druncschema/authoriser_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/authoriser_pb2.py rename to src/druncschema/authoriser_pb2.py diff --git a/python_not_for_dunedaq/druncschema/authoriser_pb2.pyi b/src/druncschema/authoriser_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/authoriser_pb2.pyi rename to src/druncschema/authoriser_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/authoriser_pb2_grpc.py b/src/druncschema/authoriser_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/authoriser_pb2_grpc.py rename to src/druncschema/authoriser_pb2_grpc.py diff --git a/python_not_for_dunedaq/druncschema/broadcast_pb2.py b/src/druncschema/broadcast_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/broadcast_pb2.py rename to src/druncschema/broadcast_pb2.py diff --git a/python_not_for_dunedaq/druncschema/broadcast_pb2.pyi b/src/druncschema/broadcast_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/broadcast_pb2.pyi rename to src/druncschema/broadcast_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/broadcast_pb2_grpc.py b/src/druncschema/broadcast_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/broadcast_pb2_grpc.py rename to src/druncschema/broadcast_pb2_grpc.py diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.py b/src/druncschema/controller_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/controller_pb2.py rename to src/druncschema/controller_pb2.py diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.pyi b/src/druncschema/controller_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/controller_pb2.pyi rename to src/druncschema/controller_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py b/src/druncschema/controller_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/controller_pb2_grpc.py rename to src/druncschema/controller_pb2_grpc.py diff --git a/python_not_for_dunedaq/druncschema/description_pb2.py b/src/druncschema/description_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/description_pb2.py rename to src/druncschema/description_pb2.py diff --git a/python_not_for_dunedaq/druncschema/description_pb2.pyi b/src/druncschema/description_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/description_pb2.pyi rename to src/druncschema/description_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/description_pb2_grpc.py b/src/druncschema/description_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/description_pb2_grpc.py rename to src/druncschema/description_pb2_grpc.py diff --git a/python_not_for_dunedaq/druncschema/generic_pb2.py b/src/druncschema/generic_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/generic_pb2.py rename to src/druncschema/generic_pb2.py diff --git a/python_not_for_dunedaq/druncschema/generic_pb2.pyi b/src/druncschema/generic_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/generic_pb2.pyi rename to src/druncschema/generic_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/generic_pb2_grpc.py b/src/druncschema/generic_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/generic_pb2_grpc.py rename to src/druncschema/generic_pb2_grpc.py diff --git a/python_not_for_dunedaq/druncschema/opmon/FSM_pb2.py b/src/druncschema/opmon/FSM_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/opmon/FSM_pb2.py rename to src/druncschema/opmon/FSM_pb2.py diff --git a/python_not_for_dunedaq/druncschema/opmon/FSM_pb2.pyi b/src/druncschema/opmon/FSM_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/opmon/FSM_pb2.pyi rename to src/druncschema/opmon/FSM_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/opmon/FSM_pb2_grpc.py b/src/druncschema/opmon/FSM_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/opmon/FSM_pb2_grpc.py rename to src/druncschema/opmon/FSM_pb2_grpc.py diff --git a/python_not_for_dunedaq/druncschema/opmon/__init__.py b/src/druncschema/opmon/__init__.py similarity index 100% rename from python_not_for_dunedaq/druncschema/opmon/__init__.py rename to src/druncschema/opmon/__init__.py diff --git a/python_not_for_dunedaq/druncschema/opmon/generic_pb2.py b/src/druncschema/opmon/generic_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/opmon/generic_pb2.py rename to src/druncschema/opmon/generic_pb2.py diff --git a/python_not_for_dunedaq/druncschema/opmon/generic_pb2.pyi b/src/druncschema/opmon/generic_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/opmon/generic_pb2.pyi rename to src/druncschema/opmon/generic_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/opmon/generic_pb2_grpc.py b/src/druncschema/opmon/generic_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/opmon/generic_pb2_grpc.py rename to src/druncschema/opmon/generic_pb2_grpc.py diff --git a/python_not_for_dunedaq/druncschema/opmon/process_manager_pb2.py b/src/druncschema/opmon/process_manager_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/opmon/process_manager_pb2.py rename to src/druncschema/opmon/process_manager_pb2.py diff --git a/python_not_for_dunedaq/druncschema/opmon/process_manager_pb2.pyi b/src/druncschema/opmon/process_manager_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/opmon/process_manager_pb2.pyi rename to src/druncschema/opmon/process_manager_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/opmon/process_manager_pb2_grpc.py b/src/druncschema/opmon/process_manager_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/opmon/process_manager_pb2_grpc.py rename to src/druncschema/opmon/process_manager_pb2_grpc.py diff --git a/python_not_for_dunedaq/druncschema/process_manager_pb2.py b/src/druncschema/process_manager_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/process_manager_pb2.py rename to src/druncschema/process_manager_pb2.py diff --git a/python_not_for_dunedaq/druncschema/process_manager_pb2.pyi b/src/druncschema/process_manager_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/process_manager_pb2.pyi rename to src/druncschema/process_manager_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/process_manager_pb2_grpc.py b/src/druncschema/process_manager_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/process_manager_pb2_grpc.py rename to src/druncschema/process_manager_pb2_grpc.py diff --git a/python_not_for_dunedaq/druncschema/py.typed b/src/druncschema/py.typed similarity index 100% rename from python_not_for_dunedaq/druncschema/py.typed rename to src/druncschema/py.typed diff --git a/python_not_for_dunedaq/druncschema/request_response_pb2.py b/src/druncschema/request_response_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/request_response_pb2.py rename to src/druncschema/request_response_pb2.py diff --git a/python_not_for_dunedaq/druncschema/request_response_pb2.pyi b/src/druncschema/request_response_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/request_response_pb2.pyi rename to src/druncschema/request_response_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/request_response_pb2_grpc.py b/src/druncschema/request_response_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/request_response_pb2_grpc.py rename to src/druncschema/request_response_pb2_grpc.py diff --git a/python_not_for_dunedaq/druncschema/session_manager_pb2.py b/src/druncschema/session_manager_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/session_manager_pb2.py rename to src/druncschema/session_manager_pb2.py diff --git a/python_not_for_dunedaq/druncschema/session_manager_pb2.pyi b/src/druncschema/session_manager_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/session_manager_pb2.pyi rename to src/druncschema/session_manager_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/session_manager_pb2_grpc.py b/src/druncschema/session_manager_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/session_manager_pb2_grpc.py rename to src/druncschema/session_manager_pb2_grpc.py diff --git a/python_not_for_dunedaq/druncschema/token_pb2.py b/src/druncschema/token_pb2.py similarity index 100% rename from python_not_for_dunedaq/druncschema/token_pb2.py rename to src/druncschema/token_pb2.py diff --git a/python_not_for_dunedaq/druncschema/token_pb2.pyi b/src/druncschema/token_pb2.pyi similarity index 100% rename from python_not_for_dunedaq/druncschema/token_pb2.pyi rename to src/druncschema/token_pb2.pyi diff --git a/python_not_for_dunedaq/druncschema/token_pb2_grpc.py b/src/druncschema/token_pb2_grpc.py similarity index 100% rename from python_not_for_dunedaq/druncschema/token_pb2_grpc.py rename to src/druncschema/token_pb2_grpc.py