(self, **kwargs)
| 384 | return self.__columns__.keys() |
| 385 | |
| 386 | def with_types(self, **kwargs) -> type[Schema]: |
| 387 | columns: dict[str, ColumnDefinition] = { |
| 388 | col.name: col.to_definition() for col in self.__columns__.values() |
| 389 | } |
| 390 | for name, dtype in kwargs.items(): |
| 391 | if name not in columns: |
| 392 | raise ValueError( |
| 393 | f"Schema.with_types() argument name has to be an existing column name, received f{name}." |
| 394 | ) |
| 395 | columns[name] = dataclasses.replace(columns[name], dtype=dt.wrap(dtype)) |
| 396 | |
| 397 | return schema_builder(columns=columns, id_dtype=self.id.dtype) |
| 398 | |
| 399 | def without(self, *args: str | expr.ColumnReference) -> type[Schema]: |
| 400 | columns: dict[str, ColumnDefinition] = { |
no test coverage detected