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/stable/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/stable/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