class CVE(VertexBase): """Information about a CVE.""" advisory = VertexProperty(properties.String) cve_name = VertexProperty(properties.String, default=None) cve_id = VertexProperty(properties.String) version_range = VertexProperty(properties.String)
class PackageVersionBase(VertexBase): """Package-version vertex in the graph representing any versioned package.""" ecosystem = VertexProperty(properties.String) package_name = VertexProperty(properties.String) package_version = VertexProperty(properties.String) index = VertexProperty(properties.String)
class RPMPackageVersion(PackageVersionBase): """RPM-specific package version.""" release = VertexProperty(properties.String) epoch = VertexProperty(properties.String) arch = VertexProperty(properties.String) src = VertexProperty(properties.Boolean) package_identifier = VertexProperty(properties.String)
class PythonPackageIndex(VertexBase): """Representation of a Python package Index. Fields are compatible with Thoth's Source class (the implicit ones are omitted). """ url = VertexProperty(properties.String) warehouse_api_url = VertexProperty(properties.String, default=None) verify_ssl = VertexProperty(properties.Boolean, default=True)
class HardwareInformation(VertexBase): """Hardware specification and propertires.""" cpu_vendor = VertexProperty(properties.String) cpu_model_name = VertexProperty(properties.String) cpu_model = VertexProperty(properties.Integer) cpu_family = VertexProperty(properties.Integer) cpu_cores = VertexProperty(properties.Integer) gpu_vendor = VertexProperty(properties.String) gpu_model_name = VertexProperty(properties.String) gpu_cores = VertexProperty(properties.Integer) gpu_memory_size = VertexProperty(properties.Integer) ram_size = VertexProperty(properties.Integer)
class HardwareInformation(VertexBase): """Hardware specification and propertires.""" # cpu_vendor = VertexProperty(properties.String) cpu_model_name = VertexProperty(properties.String) cpu_model = VertexProperty(properties.Integer) cpu_family = VertexProperty(properties.Integer) cpu_cores = VertexProperty(properties.Integer) cpu_physical_cpus = VertexProperty(properties.Integer) # TODO: provide once we will have them available from Amun. # gpu_vendor = VertexProperty(properties.String) # gpu_model_name = VertexProperty(properties.String) # gpu_cores = VertexProperty(properties.Integer) # gpu_memory_size = VertexProperty(properties.Integer) ram_size = VertexProperty(properties.Integer)
class EcosystemSolver(VertexBase): """Solver used to resolve dependencies within ecosystem.""" solver_name = VertexProperty(properties.String) solver_version = VertexProperty(properties.String)
class RuntimeEnvironment(VertexBase): """Environment such as container image which consists of various packages.""" runtime_environment_name = VertexProperty(properties.String)
class RPMRequirement(VertexBase): """Requirement of an RPM as stated in a spec file.""" rpm_requirement_name = VertexProperty(properties.String)
class Package(VertexBase): """Package vertex in the graph representing a package without version.""" ecosystem = VertexProperty(properties.String) package_name = VertexProperty(properties.String)
class SoftwareStackObservation(VertexBase): """Observations we have about the given stack based on run on a specific hardware.""" performance_index = VertexProperty(properties.Float) observation_document_id = VertexProperty(properties.String, db_name='document_id')
class SoftwareStack(VertexBase): """A software stack crated by packages in specific versions.""" installable = VertexProperty(properties.Boolean, default=True)
class DebPackageVersion(PackageVersionBase): """Debian-specific package version.""" epoch = VertexProperty(properties.String) arch = VertexProperty(properties.String)
class PythonArtifact(VertexBase): """A Python artifact as placed on a source package index.""" #artifact_name = VertexProperty(properties.String) artifact_hash_sha256 = VertexProperty(properties.String)
class BuildObservation(VertexBase): """Observations we have about the given stack on runtime on some specific hardware.""" inspection_document_id = VertexProperty(properties.String, db_name='document_id')