Skip to content

Instantly share code, notes, and snippets.

@flash1293
Last active January 9, 2024 17:02
Show Gist options
  • Save flash1293/1715af681eacfd7d487b3fd1b510f284 to your computer and use it in GitHub Desktop.
Save flash1293/1715af681eacfd7d487b3fd1b510f284 to your computer and use it in GitHub Desktop.
airbyte-lib cache / sync result digram
---
title: airbyte_lib
---
classDiagram
VenvExecutor <|-- Executor
PathExecutor <|-- Executor
class Executor{
+execute(args: List[str]) IO[str]
+ensure_installation()
+ConnectorMetadata connector
}
Executor --> ConnectorMetadata
class ConnectorMetadata{
+name
+version
}
Source --> Executor
class Source{
+install()
+uninstall()
+get_available_streams() List[str]
+set_config(config)
+check()
+read(selected_streams: List[str], cache?: Cache, full_refresh?: bool) ReadResult
+get_records(stream: str) LazyDataset
}
class Cache{
+get_sql_engine() sqlalchemy.Engine
+get_records(stream: str) CachedDataset
+streams: Dict[str, CachedDataset]
}
Cache --> CachedDataset
class ReadResult{
-streams: Dict[str, CachedDataset]
+cache: Cache
+success: bool
+records_synced: int
+get_records(stream: str) CachedDataset
+get_new_records(stream: str) LazyDataset
}
ReadResult --> CachedDataset
ReadResult --> Cache
class CachedDataset{
+get_sql_table() sqlalchemy.Table
}
class LazyDataset{
}
class Dataset{
+__iter__() Iterable[Dict[str, Any]]
+to_pandas() pandas.DataFrame
}
CachedDataset <|-- Dataset
LazyDataset <|-- Dataset
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment