table_fields
sc_crawler.table_fields
#
Enumerations, JSON nested data objects & other helper classes used in sc_crawler.tables.
HashableDict
#
Bases: dict
A dict that can be hashed by its JSON representation.
Useful for typehinting dict-type table columns that are primary
keys (which need to be hashable for SQLAlchemy ORM). See
sc_crawler.table_fields.HashableJSON class for the related sa_type
.
Source code in sc_crawler/table_fields.py
HashableJSON
#
Bases: TypeDecorator
Alternative JSON SQLAlchemy column representation, which can be hashed.
Source code in sc_crawler/table_fields.py
Json
#
Bases: BaseModel
Custom base SQLModel class that supports dumping as JSON.
Source code in sc_crawler/table_fields.py
Status
#
Last known status of a resource, e.g. active or inactive.
Source code in sc_crawler/table_fields.py
Cpu
#
Bases: Json
CPU details.
Source code in sc_crawler/table_fields.py
manufacturer
class-attribute
instance-attribute
#
The manufacturer of the processor, e.g. Intel or AMD.
family
class-attribute
instance-attribute
#
The product line/family of the processor, e.g. Xeon, Core i7, Ryzen 9.
model
class-attribute
instance-attribute
#
The model number of the processor, e.g. 9750H.
capabilities
class-attribute
instance-attribute
#
List of CPU flag/features/capabilities, e.g. MMX, Intel SGX etc.
bugs
class-attribute
instance-attribute
#
List of known bugs, e.g. cpu_meltdown spectre_v1.
Gpu
#
Bases: Json
GPU accelerator details.
Source code in sc_crawler/table_fields.py
manufacturer
instance-attribute
#
The manufacturer/brand of the GPU accelerator, e.g. Nvidia or AMD.
family
class-attribute
instance-attribute
#
The model family/architecture of the GPU accelerator.
graphics_clock
class-attribute
instance-attribute
#
GPU core clock speed (Mhz).
sm_clock
class-attribute
instance-attribute
#
Streaming Multiprocessor clock speed (Mhz).
StorageType
#
Type of a storage, e.g. HDD or SSD.
Source code in sc_crawler/table_fields.py
NETWORK
class-attribute
instance-attribute
#
Storage over network, e.g. using NFS.
Disk
#
Bases: Json
Disk definition based on size and storage type.
Source code in sc_crawler/table_fields.py
TrafficDirection
#
Direction of the network traffic.
Source code in sc_crawler/table_fields.py
CpuAllocation
#
CPU allocation methods at cloud vendors.
Source code in sc_crawler/table_fields.py
CpuArchitecture
#
CPU architectures.
Source code in sc_crawler/table_fields.py
DdrGeneration
#
Generation of the DDR SDRAM.
Source code in sc_crawler/table_fields.py
Allocation
#
Server allocation options.
Source code in sc_crawler/table_fields.py
PriceUnit
#
Supported units for the price tables.
Source code in sc_crawler/table_fields.py
PriceTier
#
Bases: Json
Price tier definition.
As standard JSON does not support Inf, NaN etc values, those should be passed as string, e.g. for the upper bound.
See float_inf_to_str for converting an infinite numeric value into "Infinity".
Source code in sc_crawler/table_fields.py
lower
instance-attribute
#
Lower bound of pricing tier, e.g. 100 GB. Unit is defined in the parent object.
upper
instance-attribute
#
Upper bound of pricing tier, e.g. 1 TB. Unit is defined in the parent object.
price
instance-attribute
#
Price in the pricing tier. Currency is defined in the parent object.