xcc.Settings¶
- class Settings(_env_file: Optional[Union[str, os.PathLike, List[Union[str, os.PathLike]], Tuple[Union[str, os.PathLike], ...]]] = '<object object>', _env_file_encoding: Optional[str] = None, _env_nested_delimiter: Optional[str] = None, _secrets_dir: Optional[Union[str, os.PathLike]] = None, *, REFRESH_TOKEN: Optional[str] = None, ACCESS_TOKEN: Optional[str] = None, HOST: str = 'platform.xanadu.ai', PORT: int = 443, TLS: bool = True)[source]¶
Bases:
pydantic.env_settings.BaseSettings
Represents the configuration for connecting to the Xanadu Cloud.
The location where this configuration is saved depends on the current operating system. Specifically,
Windows:
C:\Users\%USERNAME%\AppData\Local\Xanadu\xanadu-cloud\.env
MacOS:
/home/$USER/Library/Application\ Support/xanadu-cloud/.env
Linux:
/home/$USER/.config/xanadu-cloud/.env
Example:
The following example shows how to use the
Settings
class to load and save a Xanadu Cloud configuration. To begin, loading a configuration is as simple as instantiating a settings object:>>> import xcc >>> settings = xcc.Settings() >>> settings REFRESH_TOKEN=None ACCESS_TOKEN=None HOST='platform.xanadu.ai' PORT=443 TLS=True
Now, individual options can be accessed or assigned through their corresponding attribute:
>>> settings.PORT 443 >>> settings.PORT = 80 >>> settings.PORT 80
Note
Several aggregate representations of options are also available, such as
>>> settings.dict() {'REFRESH_TOKEN': None, 'ACCESS_TOKEN': None, ..., 'TLS': True} >>> settings.json() '{"REFRESH_TOKEN": null, "ACCESS_TOKEN": null, ..., "TLS": true}'
Finally, saving a configuration can be done by invoking
Settings.save()
:>>> settings.save()
Attributes
JWT refresh token that can be used to fetch access tokens from the Xanadu Cloud.
JWT access token that can be used to authenticate requests to the Xanadu Cloud.
Hostname of the Xanadu Cloud server.
Port of the Xanadu Cloud server.
Whether to use HTTPS for requests to the Xanadu Cloud.
- REFRESH_TOKEN: Optional[str]¶
JWT refresh token that can be used to fetch access tokens from the Xanadu Cloud.
- ACCESS_TOKEN: Optional[str]¶
JWT access token that can be used to authenticate requests to the Xanadu Cloud.
- HOST: str¶
Hostname of the Xanadu Cloud server.
- PORT: int¶
Port of the Xanadu Cloud server.
- TLS: bool¶
Whether to use HTTPS for requests to the Xanadu Cloud.
Methods
construct
([_fields_set])Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data.
copy
(*[, include, exclude, update, deep])Duplicate a model, optionally choose which fields to include, exclude and change.
dict
(*[, include, exclude, by_alias, ...])Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
from_orm
(obj)json
(*[, include, exclude, by_alias, ...])Generate a JSON representation of the model, include and exclude arguments as per dict().
parse_file
(path, *[, content_type, ...])parse_obj
(obj)parse_raw
(b, *[, content_type, encoding, ...])save
()Saves the current settings to the .env file.
schema
([by_alias, ref_template])schema_json
(*[, by_alias, ref_template])update_forward_refs
(**localns)Try to update ForwardRefs on fields based on this Model, globalns and localns.
validate
(value)- classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) Model ¶
Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values
- copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) Model ¶
Duplicate a model, optionally choose which fields to include, exclude and change.
- Parameters
include – fields to include in new model
exclude – fields to exclude from new model, as with values this takes precedence over include
update – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data
deep – set to True to make a deep copy of the model
- Returns
new model instance
- dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny ¶
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- classmethod from_orm(obj: Any) Model ¶
- json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) unicode ¶
Generate a JSON representation of the model, include and exclude arguments as per dict().
encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().
- classmethod parse_file(path: Union[str, pathlib.Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: pydantic.parse.Protocol = None, allow_pickle: bool = False) Model ¶
- classmethod parse_obj(obj: Any) Model ¶
- classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: pydantic.parse.Protocol = None, allow_pickle: bool = False) Model ¶
- classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') DictStrAny ¶
- classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) unicode ¶
- classmethod update_forward_refs(**localns: Any) None ¶
Try to update ForwardRefs on fields based on this Model, globalns and localns.
- classmethod validate(value: Any) Model ¶