# Path: beyond/errors.py
# class EopError(BeyondError):
#     """Eart Orientation Parameters error (lack of data)"""
# 
#     pass
# 
# class ConfigError(BeyondError):
#     pass


import logging
from pathlib import Path
from inspect import isclass
from pkg_resources import iter_entry_points
from ..config import config
from ..errors import EopError, ConfigError
        if isclass(cls._dbs[dbname]):
            # Instanciation
            try:
                cls._dbs[dbname] = cls._dbs[dbname]()
            except Exception as e:
                # Keep the exception in cache in order to not retry instanciation
                # every single time EopDb.db() is called, as instanciation
                # of database is generally a time consumming operation.
                # If it failed once, it will most probably fail again
                cls._dbs[dbname] = e

        if isinstance(cls._dbs[dbname], Exception):
            raise EopError("Problem at database instanciation") from cls._dbs[dbname]

        return cls._dbs[dbname]

    @classmethod
    def get(cls, mjd: float, dbname: str = None) -> Eop:
        """Retrieve Earth Orientation Parameters and timescales differences
        for a given date

        Args:
            mjd: Date expressed as Mean Julian Date
            dbname: Name of the database to use
        Return:
            Eop: Interpolated data for this particuliar MJD
        """

        try:
            value = cls.db(dbname)[mjd]

# Path: beyond/errors.py
# class EopError(BeyondError):
#     """Eart Orientation Parameters error (lack of data)"""
# 
#     pass
# 
# class ConfigError(BeyondError):
#     pass


# Path: beyond/dates/eop.py
import logging
from pathlib import Path
from inspect import isclass
from pkg_resources import iter_entry_points
from ..config import config
from ..errors import EopError, ConfigError

        if isclass(cls._dbs[dbname]):
            # Instanciation
            try:
                cls._dbs[dbname] = cls._dbs[dbname]()
            except Exception as e:
                # Keep the exception in cache in order to not retry instanciation
                # every single time EopDb.db() is called, as instanciation
                # of database is generally a time consumming operation.
                # If it failed once, it will most probably fail again
                cls._dbs[dbname] = e

        if isinstance(cls._dbs[dbname], Exception):
            raise EopError("Problem at database instanciation") from cls._dbs[dbname]

        return cls._dbs[dbname]

    @classmethod
    def get(cls, mjd: float, dbname: str = None) -> Eop:
        """Retrieve Earth Orientation Parameters and timescales differences
        for a given date

        Args:
            mjd: Date expressed as Mean Julian Date
            dbname: Name of the database to use
        Return:
            Eop: Interpolated data for this particuliar MJD
        """

        try:
            value = cls.db(dbname)[mjd]

        except (EopError, KeyError) as e: