aind_data_schema.utils package

Submodules

aind_data_schema.utils.diagrams module

Module to build diagrams of core models

aind_data_schema.utils.diagrams.save_all_core_model_diagrams(output_directory: Path | None = None) None

Save all the core model diagrams to a directory. :param output_directory: Location where to save the diagrams to. Default is current directory :type output_directory: Optional[Path]

Return type:

None

aind_data_schema.utils.diagrams.save_diagram(model: Type[BaseModel], output_directory: Path | None = None, filename: str | None = None) None

Save a BaseModel diagram to a directory. :param model: Model to create a diagram. For example,

from aind_data_schema.core.subject import Subject model = Subject

Parameters:
  • output_directory (Optional[Path]) – If None, will use current working directory.

  • filename (Optional[str]) – If None, will use model class name plus ‘.svg’

Return type:

None

aind_data_schema.utils.json_writer module

Utility method to write Pydantic schemas to JSON

class aind_data_schema.utils.json_writer.SchemaWriter(args: list)

Bases: object

Class to write Pydantic schemas to JSON

DEFAULT_FILE_PATH = '/home/docs/checkouts/readthedocs.org/user_builds/aind-data-schema/checkouts/latest/docs/source'
static get_schemas() Iterator[AindCoreModel]

Returns Iterator of AindCoreModel classes

write_to_json() None

Writes Pydantic models to JSON file.

aind_data_schema.utils.schema_version_bump module

Module to handle the schema_versions

class aind_data_schema.utils.schema_version_bump.SchemaVersionHandler(commit_message: str = '', json_schemas_location: Path = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/aind-data-schema/envs/latest/lib/python3.8/schemas'))

Bases: object

Class that manages semantic versioning of the schemas

run_job()

This method will compare the json schema generated by the core models to the json schema in the schemas folder, see which schemas have changed, increment the versions, and update the necessary files.

Module contents

Utility methods