src.api.adapters.repositories.tle_repository module

class src.api.adapters.repositories.tle_repository.AbstractTLERepository[source]

Bases: ABC

__init__()[source]
_abc_impl = <_abc._abc_data object>
abstract _add(satellite: TLE)[source]
abstract _get_adjacent_tles(id: str, id_type: str, epoch: datetime) list[TLE][source]
abstract _get_all_for_date_range_by_satellite_name(satellite_name: str, start_date: datetime | None, end_date: datetime | None) list[TLE][source]
abstract _get_all_for_date_range_by_satellite_number(satellite_number: str, start_date: datetime | None, end_date: datetime | None) list[TLE][source]
abstract _get_all_tles_at_epoch(epoch_date: datetime, page: int, per_page: int, format: str, constellation: str | None = None, data_source_limit: str | None = None, use_generated_tles: bool = False) tuple[list[TLE], int, str][source]
abstract _get_closest_by_satellite_name(satellite_name: str, epoch: datetime, data_source: str) TLE | None[source]
abstract _get_closest_by_satellite_number(satellite_number: str, epoch: datetime, data_source: str) TLE | None[source]
abstract _get_nearest_tle(id: str, id_type: str, epoch: datetime) TLE | None[source]
abstract _get_tles_around_epoch(id: str, id_type: str, epoch: datetime, count_before: int, count_after: int) list[TLE][source]
add(tle: TLE)[source]
get_adjacent_tles(id: str, id_type: str, epoch: datetime) list[TLE][source]
get_all_for_date_range_by_satellite_name(satellite_name: str, start_date: datetime | None, end_date: datetime | None) list[TLE][source]
get_all_for_date_range_by_satellite_number(satellite_number: str, start_date: datetime | None, end_date: datetime | None) list[TLE][source]
get_all_tles_at_epoch(epoch_date: datetime, page: int, per_page: int, format: str, constellation: str | None = None, data_source_limit: str | None = None, use_generated_tles: bool = False) tuple[list[TLE], int, str][source]
get_closest_by_satellite_name(satellite_name: str, epoch: datetime, data_source: str) TLE | None[source]
get_closest_by_satellite_number(satellite_number: str, epoch: datetime, data_source: str) TLE | None[source]
get_nearest_tle(id: str, id_type: str, epoch: datetime) TLE | None[source]
get_tles_around_epoch(id: str, id_type: str, epoch: datetime, count_before: int, count_after: int) list[TLE][source]
class src.api.adapters.repositories.tle_repository.SqlAlchemyTLERepository[source]

Bases: AbstractTLERepository

__init__(session)[source]
_abc_impl = <_abc._abc_data object>
_add(tle: TLE)[source]
_get_adjacent_tles(id: str, id_type: str, epoch: datetime) list[TLE][source]
_get_all_for_date_range_by_satellite_name(satellite_name: str, start_date: datetime | None, end_date: datetime | None) list[TLE][source]
_get_all_for_date_range_by_satellite_number(satellite_number: str, start_date: datetime | None, end_date: datetime | None) list[TLE][source]
_get_all_tles_at_epoch(epoch_date: datetime, page: int, per_page: int, format: str, constellation: str | None = None, data_source_limit: str | None = None, use_generated_tles: bool = False) tuple[list[TLE], int, str][source]
_get_all_tles_at_epoch_experimental(epoch_date: datetime, page: int, per_page: int, format: str, constellation: str | None = None, data_source: str | None = None) tuple[list[TLE], int, str][source]
_get_closest_by_satellite_name(satellite_name: str, epoch: datetime, data_source: str) TLE | None[source]
_get_closest_by_satellite_number(satellite_number: str, epoch: datetime, data_source: str) TLE | None[source]
_get_correct_satellite_id_at_tle_epoch(id: str, id_type: str, epoch: datetime) int | None[source]
_get_nearest_tle(id: str, id_type: str, epoch: datetime) TLE | None[source]
_get_tles_around_epoch(id: str, id_type: str, epoch: datetime, count_before: int, count_after: int) list[TLE][source]
static _to_domain(orm_tle) TLE | None[source]
static _to_orm(domain_tle) TLEDb[source]
static batch_serialize_tles(tles: list[TLE]) list[dict[str, Any]][source]

Efficiently serialize a batch of TLEs for caching. Much faster than serializing one by one, especially for large datasets.

Parameters:

tles – List of TLE objects to serialize

Returns:

List of serialized TLE dictionaries

static deserialize_tles(serialized_tles: list[dict[str, Any]]) list[TLE][source]

Convert serialized TLE dictionaries from the cache back into domain TLE objects.

Parameters:

serialized_tles – List of serialized TLE dictionaries from the cache

Returns:

List of TLE domain objects