colour_datasets.Community#

class colour_datasets.Community(data: Dict, configuration: colour_datasets.records.configuration.Configuration | None = None)[source]#

Bases: collections.abc.Mapping

Define an object storing a Zenodo community data.

Parameters
  • data (Dict) – Zenodo community data.

  • configuration (Configuration | None) – Colour - Datasets configuration.

Return type

None

Attributes

Methods

Examples

>>> community_data = json_open(
...     "https://zenodo.org/api/communities/colour-science-datasets"
... )
>>> records_data = json_open(
...     "https://zenodo.org/api/records/?q=communities:"
...     "colour-science-datasets"
... )
>>> community = Community(
...     {
...         "community": community_data,
...         "records": records_data,
...     }
... )

# Doctests skip for Python 2.x compatibility. >>> community[“3245883”].title # doctest: +SKIP ‘Camera Spectral Sensitivity Database - Jiang et al. (2013)’

property data: Dict#

Getter property for the Zenodo community data.

Returns

Zenodo community data.

Return type

dict

property configuration: colour_datasets.records.configuration.Configuration#

Getter property for the Colour - Datasets configuration.

Returns

Colour - Datasets configuration.

Return type

colour_datasets.Configuration

property repository: str#

Getter property for the Zenodo community local repository.

Returns

Zenodo community local repository.

Return type

str

property records: Dict#

Getter property for the Zenodo community records.

Returns

Zenodo community records.

Return type

dict

static from_id(id_: str, configuration: colour_datasets.records.configuration.Configuration | None = None, retries: int = 3) colour_datasets.records.zenodo.Community[source]#

colour_datasets.Community class factory that builds an instance using given Zenodo community id.

Parameters
Returns

Zenodo community data.

Return type

colour_datasets.Community

Examples

>>> community = Community.from_id("colour-science-datasets-tests")

# Doctests skip for Python 2.x compatibility. >>> community[“3245883”].title # doctest: +SKIP ‘Camera Spectral Sensitivity Database - Jiang et al. (2013)’

synced() bool[source]#

Return whether the Zenodo community data is synced to the local repository.

Returns

Whether the Zenodo community data is synced to the local repository.

Return type

bool

Examples

>>> from colour_datasets.utilities import suppress_stdout
>>> community = Community.from_id("colour-science-datasets-tests")
>>> with suppress_stdout():
...     community.pull()  
...
>>> community.synced()  
True
>>> community.remove()
>>> community.synced()
False
pull(use_urls_txt_file: bool = True, retries: int = 3)[source]#

Pull the Zenodo community data to the local repository.

Parameters
  • use_urls_txt_file (bool) – Whether to use the urls.txt file: if such a file is present in a Zenodo record data, the urls it defines take precedence over the record data files. The later will be used in the eventuality where the urls are not available.

  • retries (int) – Number of retries in case where a networking error occurs or the MD5 hash is not matching.

Examples

>>> from colour_datasets.utilities import suppress_stdout
>>> community = Community.from_id("colour-science-datasets-tests")
>>> community.remove()
>>> with suppress_stdout():
...     community.pull()  
...
>>> community.synced()  
True
remove()[source]#

Remove the Zenodo community data local repository.

Examples

>>> from colour_datasets.utilities import suppress_stdout
>>> community = Community.from_id("colour-science-datasets-tests")
>>> with suppress_stdout():
...     community.pull()  
...
>>> community.remove()
>>> community.synced()
False