Client API¶

class molar.Client(cfg: molar.client_config.ClientConfig)[source]¶
property token¶
property headers¶
property me¶
request(url: str, method: str, params=None, json=None, data=None, headers=None, return_pandas_dataframe=False)[source]¶
authenticate()[source]¶
test_token()[source]¶
test_email(email: pydantic.networks.EmailStr)[source]¶
recover_password(email: pydantic.networks.EmailStr)[source]¶
reset_password(token: str, new_password: str)[source]¶
database_creation_request(superuser_fullname: str, alembic_revisions: List[str], database_name: Optional[str] = None)[source]¶
get_database_requests(return_pandas_dataframe=True)[source]¶
get_database_information(return_pandas_dataframe=True)[source]¶
approve_database(database_name: str)[source]¶
remove_database_request(database_name: str)[source]¶
remove_database(database_name)[source]¶
view_entries(database_name: Optional[str] = None)[source]¶
create_entry(type: str, data: Dict[str, Any])[source]¶
update_entry(uuid: uuid.UUID, type: str, data: Dict[str, Any])[source]¶
delete_entry(uuid: uuid.UUID, type: str)[source]¶
rollback(before: datetime.datetime)[source]¶
query_database(types: Union[str, List[str]], limit: Optional[int] = None, offset: Optional[int] = None, joins: Optional[Union[List[molar.backend.schemas.query.QueryJoin], molar.backend.schemas.query.QueryJoin]] = None, filters: Optional[Union[molar.backend.schemas.query.QueryFilter, molar.backend.schemas.query.QueryFilterList]] = None, order_by: Optional[Union[molar.backend.schemas.query.QueryOrderBy, List[molar.backend.schemas.query.QueryOrderBy]]] = None, aliases: Optional[Union[molar.backend.schemas.query.QueryAlias, List[molar.backend.schemas.query.QueryAlias]]] = None, return_pandas_dataframe=True)[source]¶
debug_query(types: Union[str, List[str]], limit: Optional[int] = None, offset: Optional[int] = None, joins: Optional[Union[List[molar.backend.schemas.query.QueryJoin], molar.backend.schemas.query.QueryJoin]] = None, filters: Optional[Union[molar.backend.schemas.query.QueryFilter, molar.backend.schemas.query.QueryFilterList]] = None, order_by: Optional[Union[molar.backend.schemas.query.QueryOrderBy, List[molar.backend.schemas.query.QueryOrderBy]]] = None, aliases: Optional[Union[molar.backend.schemas.query.QueryAlias, List[molar.backend.schemas.query.QueryAlias]]] = None, explain_analyze: bool = False)[source]¶
get_alembic_revisions(return_pandas_dataframe=True)[source]¶
alembic_upgrade(revision: str, database_name: Optional[str] = None)[source]¶
alembic_downgrade(revision: str, database_name: Optional[str] = None)[source]¶
get_users()[source]¶
get_user_by_email(email: pydantic.networks.EmailStr)[source]¶
add_user(email: pydantic.networks.EmailStr, password: str, is_active: bool = False, is_superuser: bool = False, full_name: Optional[str] = None)[source]¶
register_user(full_name: str, email: Optional[pydantic.networks.EmailStr] = None, password: Optional[str] = None)[source]¶
activate_user(email: pydantic.networks.EmailStr)[source]¶
deactivate_user(email: pydantic.networks.EmailStr)[source]¶
update_superuser_rights(email: pydantic.networks.EmailStr, is_superuser: bool)[source]¶
update_password(new_password: str)[source]¶
update_user(email: pydantic.networks.EmailStr, password: Optional[str] = None, is_active: Optional[bool] = False, is_superuser: bool = False, full_name: Optional[str] = None)[source]¶
delete_user(email: pydantic.networks.EmailStr)[source]¶
class molar.ClientConfig(email: str, password: str, database_name: str, log_level: str = 'INFO', server_url: str = 'http://localhost:8000', api_prefix: str = '/api/v1')[source]¶
email: str¶
password: str¶
database_name: str¶
log_level: str = 'INFO'¶
server_url: str = 'http://localhost:8000'¶
api_prefix: str = '/api/v1'¶
property base_url¶
static from_config_file(config_file: str, section_name: Optional[str] = None)[source]¶
to_config_file(config_file: str)[source]¶