Skip to content

Module neuroio.utility.v1

None

None

View Source
from typing.io import BinaryIO

from httpx import Response

from neuroio.base import APIBase, APIBaseAsync, APIBaseBase

from neuroio.constants import EntryResult

class UtilityBase(APIBaseBase):

    def get_url(self, key: str) -> str:

        return self.base_url + f"/v1/utility/{key}/"

class Impl(APIBase, UtilityBase):

    def compare(

        self, image1: BinaryIO, image2: BinaryIO, result: str = EntryResult.HA

    ) -> Response:

        files = {"image1": image1, "image2": image2}

        data = {"result": result}

        with self.get_client() as client:

            return client.post(

                url=self.get_url("compare"), data=data, files=files

            )

    def asm(self, image: BinaryIO) -> Response:

        files = {"image": image}

        with self.get_client() as client:

            return client.post(url=self.get_url("asm"), files=files)

class ImplAsync(APIBaseAsync, UtilityBase):

    async def compare(

        self, image1: BinaryIO, image2: BinaryIO, result: str = EntryResult.HA

    ) -> Response:

        files = {"image1": image1, "image2": image2}

        data = {"result": result}

        async with self.get_client() as client:

            return await client.post(

                url=self.get_url("compare"), data=data, files=files

            )

    async def asm(self, image: BinaryIO) -> Response:

        files = {"image": image}

        async with self.get_client() as client:

            return await client.post(url=self.get_url("asm"), files=files)

Classes

Impl

class Impl(
    settings: dict
)
View Source
class Impl(APIBase, UtilityBase):

    def compare(

        self, image1: BinaryIO, image2: BinaryIO, result: str = EntryResult.HA

    ) -> Response:

        files = {"image1": image1, "image2": image2}

        data = {"result": result}

        with self.get_client() as client:

            return client.post(

                url=self.get_url("compare"), data=data, files=files

            )

    def asm(self, image: BinaryIO) -> Response:

        files = {"image": image}

        with self.get_client() as client:

            return client.post(url=self.get_url("asm"), files=files)

Ancestors (in MRO)

  • neuroio.base.APIBase
  • abc.ABC
  • neuroio.base.Base
  • neuroio.utility.v1.UtilityBase
  • neuroio.base.APIBaseBase

Class variables

base_url

Methods

asm

def asm(
    self,
    image: <class 'BinaryIO'>
) -> httpx.Response
View Source
    def asm(self, image: BinaryIO) -> Response:

        files = {"image": image}

        with self.get_client() as client:

            return client.post(url=self.get_url("asm"), files=files)

compare

def compare(
    self,
    image1: <class 'BinaryIO'>,
    image2: <class 'BinaryIO'>,
    result: str = <EntryResult.HA: 'ha'>
) -> httpx.Response
View Source
    def compare(

        self, image1: BinaryIO, image2: BinaryIO, result: str = EntryResult.HA

    ) -> Response:

        files = {"image1": image1, "image2": image2}

        data = {"result": result}

        with self.get_client() as client:

            return client.post(

                url=self.get_url("compare"), data=data, files=files

            )

get_client

def get_client(
    self
) -> httpx.Client
View Source
    def get_client(self) -> Client:

        return Client(**self.settings)

get_url

def get_url(
    self,
    key: str
) -> str
View Source
    def get_url(self, key: str) -> str:

        return self.base_url + f"/v1/utility/{key}/"

ImplAsync

class ImplAsync(
    settings: dict
)
View Source
class ImplAsync(APIBaseAsync, UtilityBase):

    async def compare(

        self, image1: BinaryIO, image2: BinaryIO, result: str = EntryResult.HA

    ) -> Response:

        files = {"image1": image1, "image2": image2}

        data = {"result": result}

        async with self.get_client() as client:

            return await client.post(

                url=self.get_url("compare"), data=data, files=files

            )

    async def asm(self, image: BinaryIO) -> Response:

        files = {"image": image}

        async with self.get_client() as client:

            return await client.post(url=self.get_url("asm"), files=files)

Ancestors (in MRO)

  • neuroio.base.APIBaseAsync
  • abc.ABC
  • neuroio.base.Base
  • neuroio.utility.v1.UtilityBase
  • neuroio.base.APIBaseBase

Class variables

base_url

Methods

asm

def asm(
    self,
    image: <class 'BinaryIO'>
) -> httpx.Response
View Source
    async def asm(self, image: BinaryIO) -> Response:

        files = {"image": image}

        async with self.get_client() as client:

            return await client.post(url=self.get_url("asm"), files=files)

compare

def compare(
    self,
    image1: <class 'BinaryIO'>,
    image2: <class 'BinaryIO'>,
    result: str = <EntryResult.HA: 'ha'>
) -> httpx.Response
View Source
    async def compare(

        self, image1: BinaryIO, image2: BinaryIO, result: str = EntryResult.HA

    ) -> Response:

        files = {"image1": image1, "image2": image2}

        data = {"result": result}

        async with self.get_client() as client:

            return await client.post(

                url=self.get_url("compare"), data=data, files=files

            )

get_client

def get_client(
    self
) -> httpx.AsyncClient
View Source
    def get_client(self) -> AsyncClient:

        return AsyncClient(**self.settings)

get_url

def get_url(
    self,
    key: str
) -> str
View Source
    def get_url(self, key: str) -> str:

        return self.base_url + f"/v1/utility/{key}/"

UtilityBase

class UtilityBase(
    /,
    *args,
    **kwargs
)
View Source
class UtilityBase(APIBaseBase):

    def get_url(self, key: str) -> str:

        return self.base_url + f"/v1/utility/{key}/"

Ancestors (in MRO)

  • neuroio.base.APIBaseBase

Descendants

  • neuroio.utility.v1.Impl
  • neuroio.utility.v1.ImplAsync

Class variables

base_url

Methods

get_url

def get_url(
    self,
    key: str
) -> str
View Source
    def get_url(self, key: str) -> str:

        return self.base_url + f"/v1/utility/{key}/"