wikidata.client — Client session

class wikidata.client.Client(base_url: str = 'https://www.wikidata.org/', opener: ~urllib.request.OpenerDirector | None = None, datavalue_decoder: Decoder | ~typing.Callable[[Client, str, ~typing.Mapping[str, object]], object] | None = None, entity_type_guess: bool = True, cache_policy: ~wikidata.cache.CachePolicy = <wikidata.cache.NullCachePolicy object>, repr_string: str | None = None, user_agent: str = 'WikidataClientPython (https://github.com/dahlia/wikidata; hong@minhee.org)')

Wikidata client session.

Parameters:

Added in version 0.5.0: The cache_policy option.

Changed in version 0.3.0: The meaning of base_url parameter changed. It originally meant https://www.wikidata.org/wiki/ which contained the trailing path wiki/, but now it means only https://www.wikidata.org/.

Added in version 0.2.0: The entity_type_guess option.

cache_policy: CachePolicy = <wikidata.cache.NullCachePolicy object>

(CachePolicy) A caching policy for API calls.

Added in version 0.5.0.

datavalue_decoder = None

(Union[Decoder, Callable[[Client, str, Mapping[str, object]], object]]) The function to decode the given datavalue. It’s typically an instance of Decoder or its subclass.

decode_datavalue(datatype: str, datavalue: Mapping[str, object]) object

Decode the given datavalue using the configured datavalue_decoder.

Added in version 0.3.0.

entity_type_guess = True

(bool) Whether to guess type of Entity from its id for less HTTP requests.

Added in version 0.2.0.

get(entity_id: EntityId, load: bool = False) Entity

Get a Wikidata entity by its EntityId.

Parameters:
  • entity_id – The id of the Entity to find.

  • load (bool) – Eager loading on True. Lazy loading (False) by default.

Returns:

The found entity.

Return type:

Entity

Added in version 0.3.0: The load option.

guess_entity_type(entity_id: EntityId) EntityType | None

Guess EntityType from the given EntityId. It could return None when it fails to guess.

Note

It always fails to guess when entity_type_guess is configued to False.

Returns:

The guessed EntityId, or None if it fails to guess.

Return type:

Optional[EntityType]

Added in version 0.2.0.

wikidata.client.WIKIDATA_BASE_URL = 'https://www.wikidata.org/'

(str) The default base_url of Client constructor.

Changed in version 0.3.0: As the meaning of Client constructor’s base_url parameter, it now became to https://www.wikidata.org/ from https://www.wikidata.org/wiki/ (which contained the trailing path wiki/).