datamaestro 1.4.4__py3-none-any.whl → 1.5.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,3 @@
1
- from abc import abstractmethod
2
1
  import logging
3
2
  from pathlib import Path
4
3
  from typing import Any, Dict
@@ -26,7 +25,6 @@ class Base(Config):
26
25
  """Download the dataset"""
27
26
  self.__datamaestro_dataset__.download()
28
27
 
29
- @abstractmethod
30
28
  def prepare(self, *args, **kwargs):
31
29
  """Prepare the dataset"""
32
30
  self.__datamaestro_dataset__.prepare()
@@ -272,7 +272,7 @@ class DatasetWrapper(AbstractDataset):
272
272
  annotations (otherwise, derive from `AbstractDataset`).
273
273
  """
274
274
 
275
- def __init__(self, annotation, t: type):
275
+ def __init__(self, annotation: "dataset", t: type):
276
276
  self.config = None
277
277
  self.repository: Optional[Repository] = None
278
278
  self.t = t
@@ -290,6 +290,7 @@ class DatasetWrapper(AbstractDataset):
290
290
  # Set some variables
291
291
  self.url = annotation.url
292
292
  self.doi = annotation.doi
293
+ self.as_prepare = annotation.as_prepare
293
294
 
294
295
  # Builds the ID:
295
296
  # Removes module_name.config prefix
@@ -384,9 +385,16 @@ class DatasetWrapper(AbstractDataset):
384
385
 
385
386
  else:
386
387
  # Construct the object
387
- resources = {key: value.prepare() for key, value in self.resources.items()}
388
+ if self.as_prepare:
389
+ result = self.t(self, None)
390
+ else:
391
+ resources = {
392
+ key: value.prepare() for key, value in self.resources.items()
393
+ }
394
+ result = self.t(**resources)
388
395
 
389
- result = self.t(**resources)
396
+ if result is None:
397
+ raise RuntimeError(f"{self.base} did not return any resource")
390
398
 
391
399
  # Download resources
392
400
  logging.debug(
@@ -408,6 +416,8 @@ class DatasetWrapper(AbstractDataset):
408
416
  elif isinstance(result, self.base):
409
417
  self.config = result
410
418
  else:
419
+ name = self.t.__name__
420
+ filename = inspect.getfile(self.t)
411
421
  raise RuntimeError(
412
422
  f"The dataset method {name} defined in "
413
423
  f"{filename} returned an object of type {type(dict)}"
@@ -563,6 +573,7 @@ class dataset:
563
573
  :param url: The URL associated with the dataset.
564
574
  :param size: The size of the dataset (should be a parsable format).
565
575
  :param doi: The DOI of the corresponding paper.
576
+ :param as_prepare: Resources are setup within the method itself
566
577
  """
567
578
 
568
579
  def __init__(
@@ -574,6 +585,7 @@ class dataset:
574
585
  url: None | str = None,
575
586
  size: None | int | str = None,
576
587
  doi: None | str = None,
588
+ as_prepare: bool = False,
577
589
  ):
578
590
  if hasattr(base, "__datamaestro__") and isinstance(
579
591
  base.__datamaestro__, metadataset
@@ -588,12 +600,13 @@ class dataset:
588
600
  self.timestamp = timestamp
589
601
  self.size = size
590
602
  self.doi = doi
603
+ self.as_prepare = as_prepare
591
604
 
592
605
  def __call__(self, t):
606
+ from datamaestro.data import Base
607
+
593
608
  try:
594
609
  if self.base is None:
595
- from datamaestro.data import Base
596
-
597
610
  if inspect.isclass(t) and issubclass(t, Base):
598
611
  self.base = t
599
612
  else:
datamaestro/version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '1.4.4'
21
- __version_tuple__ = version_tuple = (1, 4, 4)
20
+ __version__ = version = '1.5.0'
21
+ __version_tuple__ = version_tuple = (1, 5, 0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datamaestro
3
- Version: 1.4.4
3
+ Version: 1.5.0
4
4
  Summary: "Dataset management command line and API"
5
5
  Home-page: https://github.com/experimaestro/datamaestro
6
6
  Author: Benjamin Piwowarski
@@ -1,20 +1,20 @@
1
1
  datamaestro/__init__.py,sha256=LR8nx7H3Fo97O0gJXV2PxQezsmSTDLAg_nQEXB5QAjc,322
2
2
  datamaestro/__main__.py,sha256=2p36ZcJcZAL9NZBUkMaYRUhKyqhheVPXMGw6K1KNwhk,9196
3
3
  datamaestro/context.py,sha256=KsXYNTt4xX4zEVrnd2hciP7PVCh1StRzjU1Ih6VeCtU,13532
4
- datamaestro/definitions.py,sha256=XUUSTrZIyHIbOwRd0pR2FXqGQjLOZVkFqPkcaZGW4-Q,18954
4
+ datamaestro/definitions.py,sha256=XFiKNHXQdZdeZWIJwGwyb_PT42r3kKpeEl_aJxQyfEc,19484
5
5
  datamaestro/record.py,sha256=IxxcrSIf99iluohtpnuMBTFkqeHRe5S-T_hWEqBgeME,5812
6
6
  datamaestro/registry.py,sha256=M7QJkcWJP_cxAoqIioLQ01ou2Zg9RqGQvW0XGVspYFE,1421
7
7
  datamaestro/search.py,sha256=bRT-91-2VJJ2JSfNaS1mzaVfqq_HMVBVs-RBj0w-ypM,2906
8
8
  datamaestro/settings.py,sha256=HYSElTUYZ6DZocBb9o3ifm6WW9knRO64XJUwxGIpvwQ,1304
9
9
  datamaestro/sphinx.py,sha256=bp7x_2BFoTSwTqcVZDM8R8cWa7G2pz0Zb8GS054lLYM,6996
10
10
  datamaestro/utils.py,sha256=9m-AVVww6InAZfGFiGy6XJzfExpYNqH1fhWQEezjafA,6536
11
- datamaestro/version.py,sha256=phFUvw_LOCVKjBZIXauhRRMU1pbI044HMjZGo_n3unc,511
11
+ datamaestro/version.py,sha256=qEW4HoWHYDkBguijNs9nZzHd38qlKSeRTDG2QQbYrGY,511
12
12
  datamaestro/annotations/__init__.py,sha256=jLprrxSBa5QIqc--vqycEcxU4CR9WjVNRaqR5lH0EuE,39
13
13
  datamaestro/annotations/agreement.py,sha256=xEH0ddZxdJ_oG_150PoOa-WjY_OaeQja3FzMzY5IB6k,955
14
14
  datamaestro/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  datamaestro/commands/mainstyle.css,sha256=EAWq6hKWjLYZ-gUrGV-z3L8LtkubD7mLoYdSIC7kLOo,465
16
16
  datamaestro/commands/site.py,sha256=7H9c-ZlXt7bUlldHn8fMebzDKS7B7ijPNKrxHXMG-Lk,14233
17
- datamaestro/data/__init__.py,sha256=Z1qZnliJwS5sRaLznK5YBVJCjvAlPbmJjbRvvLv_UVI,1547
17
+ datamaestro/data/__init__.py,sha256=s81ZxT8MQrBGkcu45xr4NaInIsMeunHOLnkLrJE47So,1496
18
18
  datamaestro/data/csv.py,sha256=jcXFVBOEQoSi3YL60bqtwjCf2YXHboaMpUmiXZpzuPM,2506
19
19
  datamaestro/data/huggingface.py,sha256=rCMiMqVgNI9zRAgm9PYnbwb7musYryBoIP3HuJmH4sg,691
20
20
  datamaestro/data/ml.py,sha256=7Rv4Tb9g17HDj8mOBJpIDjgolGQAd5Wrb0mHlnm-bPE,709
@@ -40,9 +40,9 @@ datamaestro/test/conftest.py,sha256=it4S5Qq1CA_U8qM0pr4m7v-1dhLj5Y49WjVg5Ee3mpM,
40
40
  datamaestro/test/test_annotations.py,sha256=XUjDWb3FJimSD91wcItJ0lLwTBmvN4wVu_EgTKSvV2c,278
41
41
  datamaestro/test/test_download_handlers.py,sha256=-Gofr89zqIyeI8C4rZqfYR3JfiZVImdcSz9s6q361zQ,641
42
42
  datamaestro/test/test_record.py,sha256=hNZ3uo2i5FZ0VsOHRwvLO1Z6Zce92PdipAF65UptPB8,1156
43
- datamaestro-1.4.4.dist-info/licenses/LICENSE,sha256=WJ7YI-moTFb-uVrFjnzzhGJrnL9P2iqQe8NuED3hutI,35141
44
- datamaestro-1.4.4.dist-info/METADATA,sha256=uKnq6WmuKjAVVe2nO3I3sozPV3ef4WJAp0zjNcn19jE,8191
45
- datamaestro-1.4.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
46
- datamaestro-1.4.4.dist-info/entry_points.txt,sha256=8qMhwSRvFG2iBqtJYVD22Zd4s4c3YkODtcp0Ajw1knw,133
47
- datamaestro-1.4.4.dist-info/top_level.txt,sha256=XSznaMNAA8jELV7-TOqaAgDsjLzUf9G9MxL7C4helT0,12
48
- datamaestro-1.4.4.dist-info/RECORD,,
43
+ datamaestro-1.5.0.dist-info/licenses/LICENSE,sha256=WJ7YI-moTFb-uVrFjnzzhGJrnL9P2iqQe8NuED3hutI,35141
44
+ datamaestro-1.5.0.dist-info/METADATA,sha256=7gLdwMZ5Ah2tyIDq7SHbqyXzH7ZyHXtTgU4Y7fykJPI,8191
45
+ datamaestro-1.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
46
+ datamaestro-1.5.0.dist-info/entry_points.txt,sha256=8qMhwSRvFG2iBqtJYVD22Zd4s4c3YkODtcp0Ajw1knw,133
47
+ datamaestro-1.5.0.dist-info/top_level.txt,sha256=XSznaMNAA8jELV7-TOqaAgDsjLzUf9G9MxL7C4helT0,12
48
+ datamaestro-1.5.0.dist-info/RECORD,,