Skip to main content

research_town.dbs package

Submodules​

research_town.data module​

class research_town.data.Data(*, pk: str = None, project_name: str | None = None)​

Bases: BaseModel

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'pk': FieldInfo(annotation=str, required=False, default_factory=[lambda]), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

project_name : str | None​

class research_town.data.Idea(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], **extra_data: Any)​

Bases: Progress

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'content': FieldInfo(annotation=str, required=False, default=''), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

class research_town.data.IdeaBrainstormLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, idea_pk: str)​

Bases: Log

idea_pk : str​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'idea_pk': FieldInfo(annotation=str, required=True), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

class research_town.data.Insight(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], **extra_data: Any)​

Bases: Progress

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'content': FieldInfo(annotation=str, required=False, default=''), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

class research_town.data.LiteratureReviewLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, insight_pk: str | None = None)​

Bases: Log

insight_pk : str | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'insight_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

class research_town.data.Log(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str)​

Bases: Data

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

profile_pk : str​

timestep : int​

class research_town.data.MetaReview(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], proposal_pk: str | None = None, chair_pk: str | None = None, reviewer_pks: List[str] = [], author_pk: str | None = None, summary: str | None = None, strength: str | None = None, weakness: str | None = None, ethical_concern: str | None = None, decision: bool = False, **extra_data: Any)​

Bases: Progress

author_pk : str | None​

chair_pk : str | None​

decision : bool​

ethical_concern : str | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'author_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'chair_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'content': FieldInfo(annotation=str, required=False, default=''), 'decision': FieldInfo(annotation=bool, required=False, default=False), 'ethical_concern': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'proposal_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'reviewer_pks': FieldInfo(annotation=List[str], required=False, default=[]), 'strength': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'summary': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'weakness': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

proposal_pk : str | None​

reviewer_pks : List[str]​

strength : str | None​

summary : str | None​

weakness : str | None​

class research_town.data.MetaReviewWritingLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, metareview_pk: str)​

Bases: Log

metareview_pk : str​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'metareview_pk': FieldInfo(annotation=str, required=True), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

class research_town.data.Paper(*, pk: str = None, project_name: str | None = None, authors: List[str] = [], title: str, abstract: str, url: str | None = None, timestamp: int | None = None, sections: Dict[str, str] | None = None, table_captions: Dict[str, str] | None = None, figure_captions: Dict[str, str] | None = None, bibliography: Dict[str, str] | None = None, keywords: List[str] | None = None, domain: str | None = None, references: List[Dict[str, str]] | None = None, citation_count: int | None = 0, award: str | None = None, embed: Any | None = None)​

Bases: Data

abstract : str​

authors : List[str]​

award : str | None​

bibliography : Dict[str, str] | None​

citation_count : int | None​

domain : str | None​

embed : Any | None​

figure_captions : Dict[str, str] | None​

keywords : List[str] | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'abstract': FieldInfo(annotation=str, required=True), 'authors': FieldInfo(annotation=List[str], required=False, default=[]), 'award': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'bibliography': FieldInfo(annotation=Union[Dict[str, str], NoneType], required=False, default=None), 'citation_count': FieldInfo(annotation=Union[int, NoneType], required=False, default=0), 'domain': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'embed': FieldInfo(annotation=Union[Any, NoneType], required=False, default=None), 'figure_captions': FieldInfo(annotation=Union[Dict[str, str], NoneType], required=False, default=None), 'keywords': FieldInfo(annotation=Union[List[str], NoneType], required=False, default=None), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'references': FieldInfo(annotation=Union[List[Dict[str, str]], NoneType], required=False, default=None), 'sections': FieldInfo(annotation=Union[Dict[str, str], NoneType], required=False, default=None), 'table_captions': FieldInfo(annotation=Union[Dict[str, str], NoneType], required=False, default=None), 'timestamp': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'title': FieldInfo(annotation=str, required=True), 'url': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

references : List[Dict[str, str]] | None​

sections : Dict[str, str] | None​

table_captions : Dict[str, str] | None​

timestamp : int | None​

title : str​

url : str | None​

class research_town.data.Profile(*, pk: str = None, project_name: str | None = None, name: str, bio: str, collaborators: List[str] | None = [], institute: str | None = None, embed: Any | None = None, is_leader_candidate: bool | None = True, is_member_candidate: bool | None = True, is_reviewer_candidate: bool | None = True, is_chair_candidate: bool | None = True)​

Bases: Data

bio : str​

collaborators : List[str] | None​

embed : Any | None​

institute : str | None​

is_chair_candidate : bool | None​

is_leader_candidate : bool | None​

is_member_candidate : bool | None​

is_reviewer_candidate : bool | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'bio': FieldInfo(annotation=str, required=True), 'collaborators': FieldInfo(annotation=Union[List[str], NoneType], required=False, default=[]), 'embed': FieldInfo(annotation=Union[Any, NoneType], required=False, default=None), 'institute': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'is_chair_candidate': FieldInfo(annotation=Union[bool, NoneType], required=False, default=True), 'is_leader_candidate': FieldInfo(annotation=Union[bool, NoneType], required=False, default=True), 'is_member_candidate': FieldInfo(annotation=Union[bool, NoneType], required=False, default=True), 'is_reviewer_candidate': FieldInfo(annotation=Union[bool, NoneType], required=False, default=True), 'name': FieldInfo(annotation=str, required=True), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

name : str​

class research_town.data.Progress(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [])​

Bases: Data

content : str​

eval_score : List[int] | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'content': FieldInfo(annotation=str, required=False, default=''), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

class research_town.data.Proposal(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], q1: str | None = None, q2: str | None = None, q3: str | None = None, q4: str | None = None, q5: str | None = None, abstract: str = '', title: str | None = None, conference: str | None = None, **extra_data: Any)​

Bases: Progress

abstract : str​

conference : str | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'abstract': FieldInfo(annotation=str, required=False, default=''), 'conference': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'content': FieldInfo(annotation=str, required=False, default=''), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'q1': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'q2': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'q3': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'q4': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'q5': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'title': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

q1 : str | None​

q2 : str | None​

q3 : str | None​

q4 : str | None​

q5 : str | None​

title : str | None​

class research_town.data.ProposalWritingLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, proposal_pk: str)​

Bases: Log

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'proposal_pk': FieldInfo(annotation=str, required=True), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

proposal_pk : str​

class research_town.data.Rebuttal(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], proposal_pk: str | None = None, reviewer_pk: str | None = None, author_pk: str | None = None, **extra_data: Any)​

Bases: Progress

author_pk : str | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'author_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'content': FieldInfo(annotation=str, required=False, default=''), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'proposal_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'reviewer_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

proposal_pk : str | None​

reviewer_pk : str | None​

class research_town.data.RebuttalWritingLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, rebuttal_pk: str)​

Bases: Log

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'rebuttal_pk': FieldInfo(annotation=str, required=True), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

rebuttal_pk : str​

class research_town.data.Review(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], proposal_pk: str | None = None, reviewer_pk: str | None = None, summary: str | None = None, strength: str | None = None, weakness: str | None = None, ethical_concern: str | None = None, score: int | None = None, **extra_data: Any)​

Bases: Progress

ethical_concern : str | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'content': FieldInfo(annotation=str, required=False, default=''), 'ethical_concern': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'proposal_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'reviewer_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'score': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'strength': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'summary': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'weakness': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

proposal_pk : str | None​

reviewer_pk : str | None​

score : int | None​

strength : str | None​

summary : str | None​

weakness : str | None​

class research_town.data.ReviewWritingLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, review_pk: str)​

Bases: Log

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'review_pk': FieldInfo(annotation=str, required=True), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

review_pk : str​

research_town.dbs.db_base module​

class research_town.dbs.db_base.BaseDB(data_class: Type[T], load_file_path: str | None = None)​

Bases: Generic[T]

add(data: T) → None​

delete(pk: str) → bool​

get(**conditions: str | int | float | List[int] | None) → List[T]​

load_from_json(save_path: str, with_embed: bool = False, class_name: str | None = None) → None​

load_from_pkl(save_path: str, class_name: str | None = None) → None​

save_to_json(save_path: str, with_embed: bool = False, class_name: str | None = None) → None​

save_to_pkl(save_path: str, class_name: str | None = None) → None​

set_project_name(project_name: str) → None​

update(pk: str, updates: Dict[str, Any]) → bool​

research_town.dbs.db_complex module​

class research_town.dbs.db_complex.ComplexDB(classes_to_register: List[Any], load_file_path: str | None = None)​

Bases: object

add(data: T) → None​

delete(data_class: Type[T], **conditions: str | int | float) → int​

get(data_class: Type[T], **conditions: str | int | float) → List[T]​

load_from_json(load_path: str, with_embed: bool = False) → None​

load_from_pkl(load_path: str, with_embed: bool = False) → None​

register_class(data_class: Any) → None​

save_to_json(save_path: str, with_embed: bool = False) → None​

save_to_pkl(save_path: str) → None​

set_project_name(project_name: str) → None​

update(data_class: Type[T], updates: Dict[str, Any], **conditions: str | int | float) → int​

research_town.dbs.db_log module​

class research_town.dbs.db_log.LogDB(load_file_path: str | None = None)​

Bases: ComplexDB

research_town.dbs.db_paper module​

class research_town.dbs.db_paper.PaperDB(load_file_path: str | None = None)​

Bases: BaseDB[Paper]

match(query: str, papers: List[Paper], num: int = 1) → List[Paper]​

pull_papers(num: int, domain: str) → None​

transform_to_embed() → None​

research_town.dbs.db_profile module​

class research_town.dbs.db_profile.ProfileDB(load_file_path: str | None = None)​

Bases: BaseDB[Profile]

match(query: str, profiles: List[Profile], num: int = 1) → List[Profile]​

match_chair_profiles(proposal: Proposal, chair_num: int = 1) → List[Profile]​

match_leader_profiles(query: str, leader_num: int = 1) → List[Profile]​

match_member_profiles(leader: Profile, member_num: int = 1) → List[Profile]​

match_reviewer_profiles(proposal: Proposal, reviewer_num: int = 1) → List[Profile]​

pull_profiles(agent_names: List[str], config: Config) → None​

reset_role_availability() → None​

search_profiles(condition: Dict[str, Any], query: str, num: int, update_fields: Dict[str, bool]) → List[Profile]​

transform_to_embed() → None​

research_town.dbs.db_progress module​

class research_town.dbs.db_progress.ProgressDB(load_file_path: str | None = None)​

Bases: ComplexDB

Module contents​

class research_town.dbs.BaseDB(data_class: Type[T], load_file_path: str | None = None)​

Bases: Generic[T]

add(data: T) → None​

delete(pk: str) → bool​

get(**conditions: str | int | float | List[int] | None) → List[T]​

load_from_json(save_path: str, with_embed: bool = False, class_name: str | None = None) → None​

load_from_pkl(save_path: str, class_name: str | None = None) → None​

save_to_json(save_path: str, with_embed: bool = False, class_name: str | None = None) → None​

save_to_pkl(save_path: str, class_name: str | None = None) → None​

set_project_name(project_name: str) → None​

update(pk: str, updates: Dict[str, Any]) → bool​

class research_town.dbs.Idea(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], **extra_data: Any)​

Bases: Progress

content : str​

eval_score : List[int] | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'content': FieldInfo(annotation=str, required=False, default=''), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

project_name : str | None​

class research_town.dbs.IdeaBrainstormLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, idea_pk: str)​

Bases: Log

idea_pk : str​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'idea_pk': FieldInfo(annotation=str, required=True), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

profile_pk : str​

project_name : str | None​

timestep : int​

class research_town.dbs.Insight(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], **extra_data: Any)​

Bases: Progress

content : str​

eval_score : List[int] | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'content': FieldInfo(annotation=str, required=False, default=''), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

project_name : str | None​

class research_town.dbs.LiteratureReviewLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, insight_pk: str | None = None)​

Bases: Log

insight_pk : str | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'insight_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

profile_pk : str​

project_name : str | None​

timestep : int​

class research_town.dbs.Log(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str)​

Bases: Data

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

profile_pk : str​

project_name : str | None​

timestep : int​

class research_town.dbs.LogDB(load_file_path: str | None = None)​

Bases: ComplexDB

class research_town.dbs.MetaReview(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], proposal_pk: str | None = None, chair_pk: str | None = None, reviewer_pks: List[str] = [], author_pk: str | None = None, summary: str | None = None, strength: str | None = None, weakness: str | None = None, ethical_concern: str | None = None, decision: bool = False, **extra_data: Any)​

Bases: Progress

author_pk : str | None​

chair_pk : str | None​

content : str​

decision : bool​

ethical_concern : str | None​

eval_score : List[int] | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'author_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'chair_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'content': FieldInfo(annotation=str, required=False, default=''), 'decision': FieldInfo(annotation=bool, required=False, default=False), 'ethical_concern': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'proposal_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'reviewer_pks': FieldInfo(annotation=List[str], required=False, default=[]), 'strength': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'summary': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'weakness': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

project_name : str | None​

proposal_pk : str | None​

reviewer_pks : List[str]​

strength : str | None​

summary : str | None​

weakness : str | None​

class research_town.dbs.MetaReviewWritingLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, metareview_pk: str)​

Bases: Log

metareview_pk : str​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'metareview_pk': FieldInfo(annotation=str, required=True), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

profile_pk : str​

project_name : str | None​

timestep : int​

class research_town.dbs.Paper(*, pk: str = None, project_name: str | None = None, authors: List[str] = [], title: str, abstract: str, url: str | None = None, timestamp: int | None = None, sections: Dict[str, str] | None = None, table_captions: Dict[str, str] | None = None, figure_captions: Dict[str, str] | None = None, bibliography: Dict[str, str] | None = None, keywords: List[str] | None = None, domain: str | None = None, references: List[Dict[str, str]] | None = None, citation_count: int | None = 0, award: str | None = None, embed: Any | None = None)​

Bases: Data

abstract : str​

authors : List[str]​

award : str | None​

bibliography : Dict[str, str] | None​

citation_count : int | None​

domain : str | None​

embed : Any | None​

figure_captions : Dict[str, str] | None​

keywords : List[str] | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'abstract': FieldInfo(annotation=str, required=True), 'authors': FieldInfo(annotation=List[str], required=False, default=[]), 'award': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'bibliography': FieldInfo(annotation=Union[Dict[str, str], NoneType], required=False, default=None), 'citation_count': FieldInfo(annotation=Union[int, NoneType], required=False, default=0), 'domain': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'embed': FieldInfo(annotation=Union[Any, NoneType], required=False, default=None), 'figure_captions': FieldInfo(annotation=Union[Dict[str, str], NoneType], required=False, default=None), 'keywords': FieldInfo(annotation=Union[List[str], NoneType], required=False, default=None), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'references': FieldInfo(annotation=Union[List[Dict[str, str]], NoneType], required=False, default=None), 'sections': FieldInfo(annotation=Union[Dict[str, str], NoneType], required=False, default=None), 'table_captions': FieldInfo(annotation=Union[Dict[str, str], NoneType], required=False, default=None), 'timestamp': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'title': FieldInfo(annotation=str, required=True), 'url': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

project_name : str | None​

references : List[Dict[str, str]] | None​

sections : Dict[str, str] | None​

table_captions : Dict[str, str] | None​

timestamp : int | None​

title : str​

url : str | None​

class research_town.dbs.PaperDB(load_file_path: str | None = None)​

Bases: BaseDB[Paper]

match(query: str, papers: List[Paper], num: int = 1) → List[Paper]​

pull_papers(num: int, domain: str) → None​

transform_to_embed() → None​

class research_town.dbs.Profile(*, pk: str = None, project_name: str | None = None, name: str, bio: str, collaborators: List[str] | None = [], institute: str | None = None, embed: Any | None = None, is_leader_candidate: bool | None = True, is_member_candidate: bool | None = True, is_reviewer_candidate: bool | None = True, is_chair_candidate: bool | None = True)​

Bases: Data

bio : str​

collaborators : List[str] | None​

embed : Any | None​

institute : str | None​

is_chair_candidate : bool | None​

is_leader_candidate : bool | None​

is_member_candidate : bool | None​

is_reviewer_candidate : bool | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'bio': FieldInfo(annotation=str, required=True), 'collaborators': FieldInfo(annotation=Union[List[str], NoneType], required=False, default=[]), 'embed': FieldInfo(annotation=Union[Any, NoneType], required=False, default=None), 'institute': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'is_chair_candidate': FieldInfo(annotation=Union[bool, NoneType], required=False, default=True), 'is_leader_candidate': FieldInfo(annotation=Union[bool, NoneType], required=False, default=True), 'is_member_candidate': FieldInfo(annotation=Union[bool, NoneType], required=False, default=True), 'is_reviewer_candidate': FieldInfo(annotation=Union[bool, NoneType], required=False, default=True), 'name': FieldInfo(annotation=str, required=True), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

name : str​

pk : str​

project_name : str | None​

class research_town.dbs.ProfileDB(load_file_path: str | None = None)​

Bases: BaseDB[Profile]

match(query: str, profiles: List[Profile], num: int = 1) → List[Profile]​

match_chair_profiles(proposal: Proposal, chair_num: int = 1) → List[Profile]​

match_leader_profiles(query: str, leader_num: int = 1) → List[Profile]​

match_member_profiles(leader: Profile, member_num: int = 1) → List[Profile]​

match_reviewer_profiles(proposal: Proposal, reviewer_num: int = 1) → List[Profile]​

pull_profiles(agent_names: List[str], config: Config) → None​

reset_role_availability() → None​

search_profiles(condition: Dict[str, Any], query: str, num: int, update_fields: Dict[str, bool]) → List[Profile]​

transform_to_embed() → None​

class research_town.dbs.Progress(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [])​

Bases: Data

content : str​

eval_score : List[int] | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'content': FieldInfo(annotation=str, required=False, default=''), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

project_name : str | None​

class research_town.dbs.ProgressDB(load_file_path: str | None = None)​

Bases: ComplexDB

class research_town.dbs.Proposal(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], q1: str | None = None, q2: str | None = None, q3: str | None = None, q4: str | None = None, q5: str | None = None, abstract: str = '', title: str | None = None, conference: str | None = None, **extra_data: Any)​

Bases: Progress

abstract : str​

conference : str | None​

content : str​

eval_score : List[int] | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'abstract': FieldInfo(annotation=str, required=False, default=''), 'conference': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'content': FieldInfo(annotation=str, required=False, default=''), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'q1': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'q2': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'q3': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'q4': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'q5': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'title': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

project_name : str | None​

q1 : str | None​

q2 : str | None​

q3 : str | None​

q4 : str | None​

q5 : str | None​

title : str | None​

class research_town.dbs.ProposalWritingLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, proposal_pk: str)​

Bases: Log

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'proposal_pk': FieldInfo(annotation=str, required=True), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

profile_pk : str​

project_name : str | None​

proposal_pk : str​

timestep : int​

class research_town.dbs.Rebuttal(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], proposal_pk: str | None = None, reviewer_pk: str | None = None, author_pk: str | None = None, **extra_data: Any)​

Bases: Progress

author_pk : str | None​

content : str​

eval_score : List[int] | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'author_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'content': FieldInfo(annotation=str, required=False, default=''), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'proposal_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'reviewer_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

project_name : str | None​

proposal_pk : str | None​

reviewer_pk : str | None​

class research_town.dbs.RebuttalWritingLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, rebuttal_pk: str)​

Bases: Log

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'rebuttal_pk': FieldInfo(annotation=str, required=True), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

profile_pk : str​

project_name : str | None​

rebuttal_pk : str​

timestep : int​

class research_town.dbs.Review(*, pk: str = None, project_name: str | None = None, content: str = '', eval_score: List[int] | None = [], proposal_pk: str | None = None, reviewer_pk: str | None = None, summary: str | None = None, strength: str | None = None, weakness: str | None = None, ethical_concern: str | None = None, score: int | None = None, **extra_data: Any)​

Bases: Progress

content : str​

ethical_concern : str | None​

eval_score : List[int] | None​

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= 'extra': 'allow' *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'content': FieldInfo(annotation=str, required=False, default=''), 'ethical_concern': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'eval_score': FieldInfo(annotation=Union[List[int], NoneType], required=False, default=[]), 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'proposal_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'reviewer_pk': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'score': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'strength': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'summary': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'weakness': FieldInfo(annotation=Union[str, NoneType], required=False, default=None) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

project_name : str | None​

proposal_pk : str | None​

reviewer_pk : str | None​

score : int | None​

strength : str | None​

summary : str | None​

weakness : str | None​

class research_town.dbs.ReviewWritingLog(*, pk: str = None, project_name: str | None = None, timestep: int = 0, profile_pk: str, review_pk: str)​

Bases: Log

model_computed_fields : ClassVar[dict[str, ComputedFieldInfo]] *= *​

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config : ClassVar[ConfigDict] *= *​

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields : ClassVar[dict[str, FieldInfo]] *= 'pk': FieldInfo(annotation=str, required=False, default_factory= lambda ), 'profile_pk': FieldInfo(annotation=str, required=True), 'project_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'review_pk': FieldInfo(annotation=str, required=True), 'timestep': FieldInfo(annotation=int, required=False, default=0) *​

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model._fields_ from Pydantic V1.

pk : str​

profile_pk : str​

project_name : str | None​

review_pk : str​

timestep : int​