@startuml classes_colorized
set namespaceSeparator none
class "Ancestor" as data.clientmodule_test.Ancestor #77AADD {
  attr : str
  cls_member
  get_value()
  set_value(value)
}
class "<color:red>CustomException</color>" as data.suppliermodule_test.CustomException #77AADD {
}
class "DoNothing" as data.suppliermodule_test.DoNothing #77AADD {
}
class "DoNothing2" as data.suppliermodule_test.DoNothing2 #77AADD {
}
class "DoSomething" as data.suppliermodule_test.DoSomething #77AADD {
  my_int : Optional[int]
  my_int_2 : Optional[int]
  my_string : str
  do_it(new_int: int) -> int
}
class "Interface" as data.suppliermodule_test.Interface #77AADD {
  {abstract}get_value()
  {abstract}set_value(value)
}
class "NullablePatterns" as data.nullable_pattern.NullablePatterns #77AADD {
  {abstract}return_nullable_1() -> int | None
  {abstract}return_nullable_2() -> Optional[int]
}
class "PropertyPatterns" as data.property_pattern.PropertyPatterns #77AADD {
  prop1
  prop2
}
class "Specialization" as data.clientmodule_test.Specialization #77AADD {
  TYPE : str
  relation
  relation2
  top : str
  from_value(value: int)
  increment_value() -> None
  transform_value(value: int) -> int
}
data.clientmodule_test.Specialization --|> data.clientmodule_test.Ancestor
data.suppliermodule_test.DoNothing --* data.clientmodule_test.Ancestor : cls_member
data.suppliermodule_test.DoNothing --* data.clientmodule_test.Specialization : relation
data.suppliermodule_test.DoNothing2 --o data.clientmodule_test.Specialization : relation2
@enduml
