From fb0004c8d2f9d06ccbbc9380b122a30e66d51e03 Mon Sep 17 00:00:00 2001 From: Seb Date: Fri, 6 Dec 2024 16:11:52 +0100 Subject: [PATCH] Renamed package and clients to match Sectra's nomenclature; moved client in contrib/python_modules/ --- .../sectra_dpat_client}/.bandit.yml | 0 .../sectra_dpat_client}/.gitignore | 0 .../sectra_dpat_client/Makefile | 14 ++++++ .../sectra_dpat_client}/README.md | 46 +++++++++---------- .../extra_requirements.txt | 0 .../sectra_dpat_client}/requirements.txt | 0 .../sectra_dpat_client/__init__.py | 1 + .../sectra_dpat_client}/ai/__init__.py | 2 +- .../sectra_dpat_client}/ai/client.py | 36 +++++++-------- .../ai/schemas/__init__.py | 0 .../sectra_dpat_client}/ai/schemas/common.py | 0 .../sectra_dpat_client}/ai/schemas/image.py | 0 .../sectra_dpat_client}/ai/schemas/info.py | 0 .../ai/schemas/invocation.py | 4 +- .../ai/schemas/registration.py | 0 .../sectra_dpat_client}/ai/schemas/results.py | 4 +- .../sectra_dpat_client}/errors.py | 4 +- .../sectra_dpat_client}/helpers.py | 2 +- .../sectra_dpat_client}/qido/__init__.py | 2 +- .../sectra_dpat_client}/qido/client.py | 18 ++++---- .../sectra_dpat_client}/qido/schemas.py | 2 +- .../sectra_dpat_client}/setup.cfg | 2 +- .../sectra_dpat_client}/setup.py | 4 +- ids7client/python/Makefile | 14 ------ ids7client/python/ids7client/__init__.py | 1 - 25 files changed, 78 insertions(+), 78 deletions(-) rename {ids7client/python => contrib/python_modules/sectra_dpat_client}/.bandit.yml (100%) rename {ids7client/python => contrib/python_modules/sectra_dpat_client}/.gitignore (100%) create mode 100644 contrib/python_modules/sectra_dpat_client/Makefile rename {ids7client/python => contrib/python_modules/sectra_dpat_client}/README.md (76%) rename {ids7client/python => contrib/python_modules/sectra_dpat_client}/extra_requirements.txt (100%) rename {ids7client/python => contrib/python_modules/sectra_dpat_client}/requirements.txt (100%) create mode 100644 contrib/python_modules/sectra_dpat_client/sectra_dpat_client/__init__.py rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/ai/__init__.py (95%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/ai/client.py (81%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/ai/schemas/__init__.py (100%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/ai/schemas/common.py (100%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/ai/schemas/image.py (100%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/ai/schemas/info.py (100%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/ai/schemas/invocation.py (95%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/ai/schemas/registration.py (100%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/ai/schemas/results.py (95%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/errors.py (77%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/helpers.py (93%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/qido/__init__.py (69%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/qido/client.py (77%) rename {ids7client/python/ids7client => contrib/python_modules/sectra_dpat_client/sectra_dpat_client}/qido/schemas.py (98%) rename {ids7client/python => contrib/python_modules/sectra_dpat_client}/setup.cfg (95%) rename {ids7client/python => contrib/python_modules/sectra_dpat_client}/setup.py (89%) delete mode 100644 ids7client/python/Makefile delete mode 100644 ids7client/python/ids7client/__init__.py diff --git a/ids7client/python/.bandit.yml b/contrib/python_modules/sectra_dpat_client/.bandit.yml similarity index 100% rename from ids7client/python/.bandit.yml rename to contrib/python_modules/sectra_dpat_client/.bandit.yml diff --git a/ids7client/python/.gitignore b/contrib/python_modules/sectra_dpat_client/.gitignore similarity index 100% rename from ids7client/python/.gitignore rename to contrib/python_modules/sectra_dpat_client/.gitignore diff --git a/contrib/python_modules/sectra_dpat_client/Makefile b/contrib/python_modules/sectra_dpat_client/Makefile new file mode 100644 index 0000000..22024d6 --- /dev/null +++ b/contrib/python_modules/sectra_dpat_client/Makefile @@ -0,0 +1,14 @@ +SHELL=bash + +.PHONY: format +format: + isort .; + black . + +.PHONY: lint +lint: + flake8 sectra_dpat_client/ + bandit -c .bandit.yml -r sectra_dpat_client/ + isort --check sectra_dpat_client/ + black sectra_dpat_client/ --check --diff + mypy sectra_dpat_client/ diff --git a/ids7client/python/README.md b/contrib/python_modules/sectra_dpat_client/README.md similarity index 76% rename from ids7client/python/README.md rename to contrib/python_modules/sectra_dpat_client/README.md index 24696c7..00062b0 100644 --- a/ids7client/python/README.md +++ b/contrib/python_modules/sectra_dpat_client/README.md @@ -1,8 +1,8 @@ -# Python Client for Sectra IDS7 PACS +# Python Client for Sectra DPAT PACS ## Introduction -This python package aims to facilite the development of AI applications integrated in Sectra IDS7 PACS. +This python package aims to facilite the development of AI applications integrated in Sectra DPAT PACS. Please note that for now, not every feature is implemented but the package can easily be enriched: @@ -11,22 +11,22 @@ Please note that for now, not every feature is implemented but the package can e ### What it implements -* A client for the IDS7 AI API (`IDS7AIClient`) -* A client for the IDS7 QIDO API (`IDS7QidoClient`) -* A set of pydantic models to encapsulate and validate data sent and received from IDS7 +* A client for the DPAT AI API (`DPATAIClient`) +* A client for the DPAT QIDO API (`DPATQidoClient`) +* A set of pydantic models to encapsulate and validate data sent and received from DPAT ### What it does not implement, but might, at some point -* A server to receive analysis requests from IDS7 +* A server to receive analysis requests from DPAT ## Installation -To install ids7client (until it is published in pypi): +To install sectra_dpat_client (until it is published in pypi): ```pip install .``` -To install ids7client with development dependencies (linting and formating, see below): +To install sectra_dpat_client with development dependencies (linting and formating, see below): ```pip install ./[dev]``` @@ -37,16 +37,16 @@ Before using the client, make sure you have access to a valid authentication tok ### Example 1: Retrieve image information ```python -from ids7client.ai import IDS7AIClient +from sectra_dpat_client.ai import DPATAIClient -# Callback info, sent by IDS7 in the request +# Callback info, sent by DPAT in the request callback_url = "https://sectrapacs.com" callback_token = "abc" -# Slide id, sent by IDS7 in the request +# Slide id, sent by DPAT in the request slide_id = "blabla" -client = IDS7AIClient( +client = DPATAIClient( url=callback_url, token=callback_token ) @@ -60,7 +60,7 @@ image_info = client.get_image_info(slide_id, extended=True, phi=True) The following code creates a result payload that can be sent as response to display a frame on the whole slide and a label telling the user that the analysis is pending. ```python -from ids7client.ai import ( +from sectra_dpat_client.ai import ( ResultContent, ResultType, PrimitiveItem, @@ -71,7 +71,7 @@ from ids7client.ai import ( Result ) -# Slide id, sent by IDS7 in the request +# Slide id, sent by DPAT in the request slide_id = "blabla" data = ResultContent( @@ -112,17 +112,17 @@ result = Result( ### Example 3: Retrieving patient, request and exam id ```python -from IDS7Client.ai import IDS7AIClient -from IDS7Client.qido import IDS7QidoClient, DicomCodes +from sectra_dpat_client.ai import DPATAIClient +from sectra_dpat_client.qido import DPATQidoClient, DicomCodes -# Callback info, sent by IDS7 in the request +# Callback info, sent by DPAT in the request callback_url = "https://sectrapacs.com" callback_token = "abc" -# Slide id, sent by IDS7 in the request +# Slide id, sent by DPAT in the request slide_id = "blabla" -ai_client = IDS7AIClient( +ai_client = DPATAIClient( url=callback_url, token=callback_token ) @@ -131,7 +131,7 @@ ai_client = IDS7AIClient( image_info = client.get_image_info(slide_id, extended=True, phi=True) # Instanciates QIDO client with provided url, username and password -qido_client = IDS7QidoClient(qido_url, qido_username, qido_password) +qido_client = DPATQidoClient(qido_url, qido_username, qido_password) # Retrieve study from QIDO API study = qido_client.find_one_study(studyInstanceUid=data.study_id) @@ -144,9 +144,9 @@ exam_id = study.get_value_as_string(DicomCodes.EXAM_ID) ### Error handling and retries -Any request to the IDS7 server is retried 5 times with exponential delays if there is a connection error. Any other error is not handled by the clients. +Any request to the DPAT server is retried 5 times with exponential delays if there is a connection error. Any other error is not handled by the clients. -Clients raise `IDS7RequestError` if the IDS7 server returns an error status code (e.g., 400, 404, 500, etc.). The error includes the returned status code, text and the requested path. +Clients raise `DPATRequestError` if the DPAT server returns an error status code (e.g., 400, 404, 500, etc.). The error includes the returned status code, text and the requested path. ## Code quality @@ -171,4 +171,4 @@ One can lint the code using the following command: * HL7 API client * More detailed data validation (e.g., min and max lengths of arrays) -* Missing IDS7 endpoints \ No newline at end of file +* Missing DPAT endpoints \ No newline at end of file diff --git a/ids7client/python/extra_requirements.txt b/contrib/python_modules/sectra_dpat_client/extra_requirements.txt similarity index 100% rename from ids7client/python/extra_requirements.txt rename to contrib/python_modules/sectra_dpat_client/extra_requirements.txt diff --git a/ids7client/python/requirements.txt b/contrib/python_modules/sectra_dpat_client/requirements.txt similarity index 100% rename from ids7client/python/requirements.txt rename to contrib/python_modules/sectra_dpat_client/requirements.txt diff --git a/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/__init__.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/__init__.py new file mode 100644 index 0000000..46caa32 --- /dev/null +++ b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/__init__.py @@ -0,0 +1 @@ +from .errors import DPATRequestError diff --git a/ids7client/python/ids7client/ai/__init__.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/__init__.py similarity index 95% rename from ids7client/python/ids7client/ai/__init__.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/__init__.py index b40c3c8..56ac7cb 100644 --- a/ids7client/python/ids7client/ai/__init__.py +++ b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/__init__.py @@ -1,4 +1,4 @@ -from .client import IDS7AIClient +from .client import DPATAIClient from .schemas import ( Action, ApplicationInfo, diff --git a/ids7client/python/ids7client/ai/client.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/client.py similarity index 81% rename from ids7client/python/ids7client/ai/client.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/client.py index b26506c..070fdf9 100644 --- a/ids7client/python/ids7client/ai/client.py +++ b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/client.py @@ -3,37 +3,37 @@ import requests -from ids7client.errors import IDS7RequestError -from ids7client.helpers import JSONPayload, connection_retry +from sectra_dpat_client.errors import DPATRequestError +from sectra_dpat_client.helpers import JSONPayload, connection_retry from .schemas import ApplicationInfo, ImageInfo, Result, ResultResponse logger = logging.getLogger(__name__) -class IDS7AIClient: - """Class managing connection and requests to IDS7 server AI API. +class DPATAIClient: + """Class managing connection and requests to DPAT server AI API. Args: - url (str): URL of the IDS7 server + url (str): URL of the DPAT server token (str): Callback token app_id (str): Registered application id Attributes: - ids7_version (ApplicationInfo): Versions of the IDS7 server + dpat_version (ApplicationInfo): Versions of the DPAT server """ - __slots__ = ("_url", "_token", "ids7_version", "_headers", "_app_id") + __slots__ = ("_url", "_token", "dpat_version", "_headers", "_app_id") def __init__(self, url: str, token: str, app_id: str) -> None: self._url = url self._token = token self._app_id = app_id self._headers = {"Authorization": f"Bearer {token}"} - self.ids7_version = self._retrieve_ids7_versions() + self.dpat_version = self._retrieve_dpat_versions() - def _retrieve_ids7_versions(self) -> ApplicationInfo: - """Retrieves the versions of IDS7 from the server.""" + def _retrieve_dpat_versions(self) -> ApplicationInfo: + """Retrieves the versions of DPAT from the server.""" versions = ApplicationInfo(**cast(dict, self._get("/info"))) self._headers.update( @@ -46,19 +46,19 @@ def _retrieve_ids7_versions(self) -> ApplicationInfo: @connection_retry() def _get(self, path: str, **kwargs) -> JSONPayload: - """Runs a GET request to IDS7. Named args are query parameters.""" + """Runs a GET request to DPAT. Named args are query parameters.""" url = f"{self._url}{path}" resp = requests.get(url, params=kwargs, headers=self._headers) if resp.status_code != 200: - raise IDS7RequestError(resp.status_code, resp.text, path) + raise DPATRequestError(resp.status_code, resp.text, path) return resp.json() @connection_retry() def _post( self, path: str, payload: JSONPayload, parse_response: bool = True ) -> Optional[JSONPayload]: - """Runs a POST request to IDS7. + """Runs a POST request to DPAT. Args: path (str): Request path @@ -72,7 +72,7 @@ def _post( url = f"{self._url}{path}" resp = requests.post(url, json=payload, headers=self._headers) if resp.status_code != 201: - raise IDS7RequestError(resp.status_code, resp.text, path) + raise DPATRequestError(resp.status_code, resp.text, path) if parse_response: return resp.json() return None @@ -81,7 +81,7 @@ def _post( def _put( self, path: str, values: JSONPayload, parse_response: bool = True ) -> Optional[JSONPayload]: - """Runs a PUT request to IDS7. + """Runs a PUT request to DPAT. Args: path (str): Request path @@ -95,7 +95,7 @@ def _put( url = f"{self._url}{path}" resp = requests.put(url, json=values, headers=self._headers) if resp.status_code != 200: - raise IDS7RequestError(resp.status_code, resp.text, path) + raise DPATRequestError(resp.status_code, resp.text, path) if parse_response: return resp.json() return None @@ -124,13 +124,13 @@ def get_image_info( return ImageInfo(**cast(dict, self._get(path, **params))) def create_results(self, results: Result) -> ResultResponse: - """Creates a result in IDS7. + """Creates a result in DPAT. Args: results (Result): Results payload Returns: - ResultResponse: Parsed IDS7 response. + ResultResponse: Parsed DPAT response. """ path = f"/applications/{self._app_id}/results" resp = self._post(path, results.model_dump()) diff --git a/ids7client/python/ids7client/ai/schemas/__init__.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/__init__.py similarity index 100% rename from ids7client/python/ids7client/ai/schemas/__init__.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/__init__.py diff --git a/ids7client/python/ids7client/ai/schemas/common.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/common.py similarity index 100% rename from ids7client/python/ids7client/ai/schemas/common.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/common.py diff --git a/ids7client/python/ids7client/ai/schemas/image.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/image.py similarity index 100% rename from ids7client/python/ids7client/ai/schemas/image.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/image.py diff --git a/ids7client/python/ids7client/ai/schemas/info.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/info.py similarity index 100% rename from ids7client/python/ids7client/ai/schemas/info.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/info.py diff --git a/ids7client/python/ids7client/ai/schemas/invocation.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/invocation.py similarity index 95% rename from ids7client/python/ids7client/ai/schemas/invocation.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/invocation.py index 1c4ddf4..840bf04 100644 --- a/ids7client/python/ids7client/ai/schemas/invocation.py +++ b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/invocation.py @@ -61,7 +61,7 @@ class InvocationBase(BaseModel): class Invocation(InvocationBase): - """Model for invocations from IDS7.""" + """Model for invocations from DPAT.""" action: Action input: Optional[Union[CreateInput, ResultResponse]] = None @@ -74,6 +74,6 @@ def validate_input(self) -> "Invocation": class ImageNotification(InvocationBase): - """Model for new image notification from IDS7.""" + """Model for new image notification from DPAT.""" imageInfo: ImageInfo diff --git a/ids7client/python/ids7client/ai/schemas/registration.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/registration.py similarity index 100% rename from ids7client/python/ids7client/ai/schemas/registration.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/registration.py diff --git a/ids7client/python/ids7client/ai/schemas/results.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/results.py similarity index 95% rename from ids7client/python/ids7client/ai/schemas/results.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/results.py index 7a6d6ba..ae7abc1 100644 --- a/ids7client/python/ids7client/ai/schemas/results.py +++ b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/ai/schemas/results.py @@ -105,7 +105,7 @@ class Attachment(BaseModel): class Result(BaseModel): - """Schema for result posting in IDS7 server.""" + """Schema for result posting in DPAT server.""" slideId: str displayResult: str @@ -116,7 +116,7 @@ class Result(BaseModel): class ResultResponse(Result): - """Schema for result retrieval from IDS7 server.""" + """Schema for result retrieval from DPAT server.""" id: int versionId: str diff --git a/ids7client/python/ids7client/errors.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/errors.py similarity index 77% rename from ids7client/python/ids7client/errors.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/errors.py index 3c88297..ae463be 100644 --- a/ids7client/python/ids7client/errors.py +++ b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/errors.py @@ -1,5 +1,5 @@ -class IDS7RequestError(Exception): - """Exception raised when a request to IDS7 has failed.""" +class DPATRequestError(Exception): + """Exception raised when a request to DPAT has failed.""" __slots__ = ("status_code", "text", "path") diff --git a/ids7client/python/ids7client/helpers.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/helpers.py similarity index 93% rename from ids7client/python/ids7client/helpers.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/helpers.py index d1fdd3b..efc74bf 100644 --- a/ids7client/python/ids7client/helpers.py +++ b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/helpers.py @@ -19,7 +19,7 @@ def _request(*args, **kwargs): except ConnectionError: delay = 2**trial logger.warning( - "IDS7 connection error trial %s/5, retrying in %ss", + "DPAT connection error trial %s/5, retrying in %ss", trial, delay, ) diff --git a/ids7client/python/ids7client/qido/__init__.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/qido/__init__.py similarity index 69% rename from ids7client/python/ids7client/qido/__init__.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/qido/__init__.py index a1e7954..efdb042 100644 --- a/ids7client/python/ids7client/qido/__init__.py +++ b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/qido/__init__.py @@ -1,2 +1,2 @@ -from .client import IDS7QidoClient +from .client import DPATQidoClient from .schemas import NAMES_TO_DICOM_CODES, DicomCodes, DicomObject, DicomValue diff --git a/ids7client/python/ids7client/qido/client.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/qido/client.py similarity index 77% rename from ids7client/python/ids7client/qido/client.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/qido/client.py index 65e836e..ce2010c 100644 --- a/ids7client/python/ids7client/qido/client.py +++ b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/qido/client.py @@ -4,8 +4,8 @@ import requests from requests.auth import HTTPBasicAuth -from ids7client.errors import IDS7RequestError -from ids7client.helpers import JSONPayload, connection_retry +from sectra_dpat_client.errors import DPATRequestError +from sectra_dpat_client.helpers import JSONPayload, connection_retry from .schemas import NAMES_TO_DICOM_CODES, DicomObject @@ -27,11 +27,11 @@ def _make_query_params(**kwargs) -> Dict[str, Any]: return params -class IDS7QidoClient: - """Class managing connection and requests to IDS7 server. +class DPATQidoClient: + """Class managing connection and requests to DPAT server. Args: - url (str): URL of the IDS7 Qido API + url (str): URL of the DPAT Qido API username (str): API username password (str): API password """ @@ -47,11 +47,11 @@ def __init__(self, url: str, username: str, password: str) -> None: @connection_retry() def _get(self, path: str, **kwargs) -> JSONPayload: - """Runs a GET request to IDS7. Named args are query parameters.""" + """Runs a GET request to DPAT. Named args are query parameters.""" resp = requests.get(path, params=kwargs, auth=self._auth) if resp.status_code != 200: - raise IDS7RequestError(resp.status_code, resp.text, path) + raise DPATRequestError(resp.status_code, resp.text, path) return resp.json() def find_all_studies(self, **kwargs) -> List[DicomObject]: @@ -66,9 +66,9 @@ def find_one_study(self, **kwargs) -> DicomObject: """Finds one study matching query. Raises: - IDS7RequestError: If no study was found. + DPATRequestError: If no study was found. """ studies = self.find_all_studies(**kwargs) if not studies: - raise IDS7RequestError(404, "No study found", "") + raise DPATRequestError(404, "No study found", "") return studies[0] diff --git a/ids7client/python/ids7client/qido/schemas.py b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/qido/schemas.py similarity index 98% rename from ids7client/python/ids7client/qido/schemas.py rename to contrib/python_modules/sectra_dpat_client/sectra_dpat_client/qido/schemas.py index 579a9d6..c6d7edb 100644 --- a/ids7client/python/ids7client/qido/schemas.py +++ b/contrib/python_modules/sectra_dpat_client/sectra_dpat_client/qido/schemas.py @@ -6,7 +6,7 @@ @unique class DicomCodes(str, Enum): - """Enum for IDS7 dicom codes.""" + """Enum for DPAT dicom codes.""" PATIENT_ID = "00100020" EXAM_ID = "00200010" diff --git a/ids7client/python/setup.cfg b/contrib/python_modules/sectra_dpat_client/setup.cfg similarity index 95% rename from ids7client/python/setup.cfg rename to contrib/python_modules/sectra_dpat_client/setup.cfg index 9ae4b0c..71d8b02 100644 --- a/ids7client/python/setup.cfg +++ b/contrib/python_modules/sectra_dpat_client/setup.cfg @@ -1,6 +1,6 @@ [isort] profile = black -known_first_party = ids7client +known_first_party = sectra_dpat_client [darglint] strictness = long diff --git a/ids7client/python/setup.py b/contrib/python_modules/sectra_dpat_client/setup.py similarity index 89% rename from ids7client/python/setup.py rename to contrib/python_modules/sectra_dpat_client/setup.py index dea1f42..65ac1a4 100644 --- a/ids7client/python/setup.py +++ b/contrib/python_modules/sectra_dpat_client/setup.py @@ -17,10 +17,10 @@ def _load_requirements(req_file: str): setup( - name="ids7client", + name="sectra_dpat_client", version=__version__, author="Primaa", - description="Client for Sectra IDS7 server", + description="Client for Sectra DPAT server", install_requires=_load_requirements("requirements.txt"), extras_require={"dev": _load_requirements("extra_requirements.txt")}, packages=find_packages(), diff --git a/ids7client/python/Makefile b/ids7client/python/Makefile deleted file mode 100644 index 9acd0cb..0000000 --- a/ids7client/python/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -SHELL=bash - -.PHONY: format -format: - isort .; - black . - -.PHONY: lint -lint: - flake8 ids7client/ - bandit -c .bandit.yml -r ids7client/ - isort --check ids7client/ - black ids7client/ --check --diff - mypy ids7client/ diff --git a/ids7client/python/ids7client/__init__.py b/ids7client/python/ids7client/__init__.py deleted file mode 100644 index 22753e6..0000000 --- a/ids7client/python/ids7client/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .errors import IDS7RequestError