Module insanonym_utils.models

Expand source code
from typing import List, Literal, Union, Optional
from numpy import NaN
from pydantic import BaseModel, DirectoryPath, FilePath, Field


class Column(BaseModel):
    name: str
    column_type: Literal['int', 'str', 'datetime64[ns]', 'float', 'int64']
    #column_type: str

class FileModel(BaseModel):
    name: str
    path: FilePath

class DeleteOptions(BaseModel):
    columns: List[str]
    alias: str = NaN

class DeleteAlgorithm(BaseModel):
    name: Literal['delete']
    options: DeleteOptions

class DeleteIdOptions(BaseModel):
    column: str
    ids: List[int]
    alias: str = 'DEL'

class DeleteIdAlgorithm(BaseModel):
    name: Literal['delete_ids']
    options: DeleteIdOptions

class DisturbOptions(BaseModel):
    column: str
    parameter: float

class DisturbAlgorithm(BaseModel):
    name: Literal['disturb']
    options: DisturbOptions

class PseudoOptions(BaseModel):
    column: str

class PseudoAlgorithm(BaseModel):
    name: Literal['pseudo']
    options: PseudoOptions

class CustomAlgorithm(BaseModel):
    name: str
    options: Optional[dict]

class Exporter(BaseModel):
    output_name: str
    output_format: Literal['csv', 'json']

class FileConfigModel(BaseModel):
    name: str
    path: DirectoryPath
    columns: List[Column] = Field(..., description= "Columns of submitted file")
    columns_delimiter: Literal['\t', '\n'] = '\t'
    algorithms: List[Union[
        DeleteAlgorithm,
        DeleteIdAlgorithm,
        DisturbAlgorithm, 
        PseudoAlgorithm,
        CustomAlgorithm
    ]]
    file_type: Literal['csv', 'json']
    export: bool = True
    export_rules: Exporter

Classes

class Column (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class Column(BaseModel):
    name: str
    column_type: Literal['int', 'str', 'datetime64[ns]', 'float', 'int64']
    #column_type: str

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var column_type : Literal['int', 'str', 'datetime64[ns]', 'float', 'int64']
var name : str
class CustomAlgorithm (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class CustomAlgorithm(BaseModel):
    name: str
    options: Optional[dict]

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var name : str
var options : Optional[dict]
class DeleteAlgorithm (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class DeleteAlgorithm(BaseModel):
    name: Literal['delete']
    options: DeleteOptions

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var name : Literal['delete']
var optionsDeleteOptions
class DeleteIdAlgorithm (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class DeleteIdAlgorithm(BaseModel):
    name: Literal['delete_ids']
    options: DeleteIdOptions

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var name : Literal['delete_ids']
var optionsDeleteIdOptions
class DeleteIdOptions (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class DeleteIdOptions(BaseModel):
    column: str
    ids: List[int]
    alias: str = 'DEL'

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var alias : str
var column : str
var ids : List[int]
class DeleteOptions (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class DeleteOptions(BaseModel):
    columns: List[str]
    alias: str = NaN

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var alias : str
var columns : List[str]
class DisturbAlgorithm (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class DisturbAlgorithm(BaseModel):
    name: Literal['disturb']
    options: DisturbOptions

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var name : Literal['disturb']
var optionsDisturbOptions
class DisturbOptions (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class DisturbOptions(BaseModel):
    column: str
    parameter: float

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var column : str
var parameter : float
class Exporter (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class Exporter(BaseModel):
    output_name: str
    output_format: Literal['csv', 'json']

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var output_format : Literal['csv', 'json']
var output_name : str
class FileConfigModel (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class FileConfigModel(BaseModel):
    name: str
    path: DirectoryPath
    columns: List[Column] = Field(..., description= "Columns of submitted file")
    columns_delimiter: Literal['\t', '\n'] = '\t'
    algorithms: List[Union[
        DeleteAlgorithm,
        DeleteIdAlgorithm,
        DisturbAlgorithm, 
        PseudoAlgorithm,
        CustomAlgorithm
    ]]
    file_type: Literal['csv', 'json']
    export: bool = True
    export_rules: Exporter

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var algorithms : List[Union[DeleteAlgorithmDeleteIdAlgorithmDisturbAlgorithmPseudoAlgorithmCustomAlgorithm]]
var columns : List[Column]
var columns_delimiter : Literal['\t', '\n']
var export : bool
var export_rulesExporter
var file_type : Literal['csv', 'json']
var name : str
var path : pydantic.types.DirectoryPath
class FileModel (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class FileModel(BaseModel):
    name: str
    path: FilePath

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var name : str
var path : pydantic.types.FilePath
class PseudoAlgorithm (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class PseudoAlgorithm(BaseModel):
    name: Literal['pseudo']
    options: PseudoOptions

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var name : Literal['pseudo']
var optionsPseudoOptions
class PseudoOptions (**data: Any)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Expand source code
class PseudoOptions(BaseModel):
    column: str

Ancestors

  • pydantic.main.BaseModel
  • pydantic.utils.Representation

Class variables

var column : str