eotdl 2024.8.5__tar.gz → 2024.10.1__tar.gz

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.
Files changed (79) hide show
  1. {eotdl-2024.8.5 → eotdl-2024.10.1}/PKG-INFO +2 -1
  2. eotdl-2024.10.1/eotdl/__init__.py +1 -0
  3. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/datasets/ingest.py +9 -11
  4. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/datasets/metadata.py +3 -2
  5. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/models/download.py +3 -0
  6. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/models/ingest.py +1 -3
  7. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/models/metadata.py +1 -2
  8. {eotdl-2024.8.5 → eotdl-2024.10.1}/pyproject.toml +1 -1
  9. eotdl-2024.8.5/eotdl/__init__.py +0 -1
  10. {eotdl-2024.8.5 → eotdl-2024.10.1}/README.md +0 -0
  11. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/__init__.py +0 -0
  12. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/airbus/__init__.py +0 -0
  13. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/airbus/client.py +0 -0
  14. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/airbus/parameters.py +0 -0
  15. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/airbus/utils.py +0 -0
  16. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/download.py +0 -0
  17. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/search.py +0 -0
  18. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/sentinelhub/__init__.py +0 -0
  19. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/sentinelhub/client.py +0 -0
  20. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/sentinelhub/evalscripts.py +0 -0
  21. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/sentinelhub/parameters.py +0 -0
  22. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/access/sentinelhub/utils.py +0 -0
  23. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/auth/__init__.py +0 -0
  24. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/auth/auth.py +0 -0
  25. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/auth/errors.py +0 -0
  26. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/auth/is_logged.py +0 -0
  27. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/auth/logout.py +0 -0
  28. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/cli.py +0 -0
  29. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/commands/__init__.py +0 -0
  30. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/commands/auth.py +0 -0
  31. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/commands/datasets.py +0 -0
  32. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/commands/models.py +0 -0
  33. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/__init__.py +0 -0
  34. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/__init__.py +0 -0
  35. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/assets.py +0 -0
  36. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/dataframe.py +0 -0
  37. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/dataframe_bck.py +0 -0
  38. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/dataframe_labeling.py +0 -0
  39. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/__init__.py +0 -0
  40. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/base.py +0 -0
  41. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/dem.py +0 -0
  42. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/eo.py +0 -0
  43. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/label/__init__.py +0 -0
  44. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/label/base.py +0 -0
  45. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/label/image_name_labeler.py +0 -0
  46. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/label/scaneo.py +0 -0
  47. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/ml_dataset.py +0 -0
  48. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/projection.py +0 -0
  49. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/raster.py +0 -0
  50. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extensions/sar.py +0 -0
  51. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/extent.py +0 -0
  52. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/parsers.py +0 -0
  53. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/curation/stac/stac.py +0 -0
  54. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/datasets/__init__.py +0 -0
  55. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/datasets/download.py +0 -0
  56. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/datasets/retrieve.py +0 -0
  57. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/datasets/update.py +0 -0
  58. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/files/__init__.py +0 -0
  59. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/files/ingest.py +0 -0
  60. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/files/list_files.py +0 -0
  61. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/models/__init__.py +0 -0
  62. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/models/retrieve.py +0 -0
  63. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/models/update.py +0 -0
  64. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/repos/APIRepo.py +0 -0
  65. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/repos/AuthAPIRepo.py +0 -0
  66. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/repos/AuthRepo.py +0 -0
  67. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/repos/DatasetsAPIRepo.py +0 -0
  68. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/repos/FilesAPIRepo.py +0 -0
  69. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/repos/ModelsAPIRepo.py +0 -0
  70. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/repos/__init__.py +0 -0
  71. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/shared/__init__.py +0 -0
  72. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/shared/checksum.py +0 -0
  73. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/tools/__init__.py +0 -0
  74. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/tools/geo_utils.py +0 -0
  75. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/tools/metadata.py +0 -0
  76. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/tools/paths.py +0 -0
  77. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/tools/stac.py +0 -0
  78. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/tools/time_utils.py +0 -0
  79. {eotdl-2024.8.5 → eotdl-2024.10.1}/eotdl/tools/tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: eotdl
3
- Version: 2024.8.5
3
+ Version: 2024.10.1
4
4
  Summary: Earth Observation Training Data Lab
5
5
  License: MIT
6
6
  Author: EarthPulse
@@ -12,6 +12,7 @@ Classifier: Programming Language :: Python :: 3.8
12
12
  Classifier: Programming Language :: Python :: 3.9
13
13
  Classifier: Programming Language :: Python :: 3.10
14
14
  Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
15
16
  Requires-Dist: black (>=23.10.1,<24.0.0)
16
17
  Requires-Dist: geomet (>=1.0.0,<2.0.0)
17
18
  Requires-Dist: geopandas (>=0.13.2,<0.14.0)
@@ -0,0 +1 @@
1
+ __version__ = "2024.10.01"
@@ -3,7 +3,6 @@ import yaml
3
3
  from tqdm import tqdm
4
4
  import json
5
5
  import frontmatter
6
- import markdown
7
6
 
8
7
  from ..auth import with_auth
9
8
  from .metadata import Metadata
@@ -60,20 +59,19 @@ def ingest_folder(
60
59
  readme = frontmatter.load(folder.joinpath("README.md"))
61
60
  metadata, content = readme.metadata, readme.content
62
61
  metadata = Metadata(**metadata)
63
- except FileNotFoundError:
64
- # load metadata (legacy)
65
- metadata = (
66
- yaml.safe_load(open(folder.joinpath("metadata.yml"), "r").read()) or {}
67
- )
68
- metadata = Metadata(**metadata)
69
- content = None
62
+ # except FileNotFoundError:
63
+ # # load metadata (legacy)
64
+ # metadata = (
65
+ # yaml.safe_load(open(folder.joinpath("metadata.yml"), "r").read()) or {}
66
+ # )
67
+ # metadata = Metadata(**metadata)
68
+ # content = None
70
69
  except Exception as e:
71
- # print(str(e))
70
+ print(str(e))
72
71
  raise Exception("Error loading metadata")
73
72
  # retrieve dataset (create if doesn't exist)
74
73
  dataset = retrieve_dataset(metadata, user)
75
- if content:
76
- content = markdown.markdown(content)
74
+
77
75
  update_metadata = True
78
76
  if "description" in dataset:
79
77
  # do not do this if the dataset is new, only if it already exists
@@ -1,6 +1,5 @@
1
1
  from pydantic import BaseModel, validator
2
2
  from typing import List, Optional
3
- import markdownify
4
3
  from pathlib import Path
5
4
 
6
5
 
@@ -21,6 +20,8 @@ class Metadata(BaseModel):
21
20
  # validate thumbnail is a url
22
21
  @validator("thumbnail")
23
22
  def thumbnail_is_url(cls, v):
23
+ if not v:
24
+ return ""
24
25
  if not v.startswith("http") and not v.startswith("https"):
25
26
  raise ValueError("thumbnail must be a URL")
26
27
  return v
@@ -37,7 +38,7 @@ def generate_metadata(download_path, dataset):
37
38
  for author in dataset["authors"]:
38
39
  f.write(f" - {author}\n")
39
40
  f.write("---\n")
40
- f.write(markdownify.markdownify(dataset["description"], heading_style="ATX"))
41
+ f.write(dataset["description"])
41
42
  # remove metadata.yml if exists
42
43
  if Path(download_path + "/metadata.yml").exists():
43
44
  Path(download_path + "/metadata.yml").unlink()
@@ -74,9 +74,12 @@ def download_model(
74
74
  )
75
75
  if error:
76
76
  raise Exception(error)
77
+ print(gdf)
77
78
  df = STACDataFrame(gdf)
78
79
  # df.geometry = df.geometry.apply(lambda x: Polygon() if x is None else x)
79
80
  df.to_stac(download_path)
81
+ print("----")
82
+ print(df)
80
83
  # download assets
81
84
  if assets:
82
85
  if verbose:
@@ -1,7 +1,6 @@
1
1
  from pathlib import Path
2
2
  import yaml
3
3
  import frontmatter
4
- import markdown
5
4
  from tqdm import tqdm
6
5
  import json
7
6
 
@@ -67,8 +66,7 @@ def ingest_folder(
67
66
  raise Exception(f"Error loading metadata: {e}")
68
67
  # retrieve model (create if doesn't exist)
69
68
  model = retrieve_model(metadata, user)
70
- if content:
71
- content = markdown.markdown(content)
69
+
72
70
  update_metadata = True
73
71
  if "description" in model:
74
72
  # do not do this if the model is new, only if it already exists
@@ -1,6 +1,5 @@
1
1
  from pydantic import BaseModel, validator
2
2
  from typing import List, Optional
3
- import markdownify
4
3
  from pathlib import Path
5
4
 
6
5
 
@@ -37,7 +36,7 @@ def generate_metadata(download_path, model):
37
36
  for author in model["authors"]:
38
37
  f.write(f" - {author}\n")
39
38
  f.write("---\n")
40
- f.write(markdownify.markdownify(model["description"], heading_style="ATX"))
39
+ f.write(model["description"])
41
40
  # remove metadata.yml if exists
42
41
  if Path(download_path + "/metadata.yml").exists():
43
42
  Path(download_path + "/metadata.yml").unlink()
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "eotdl"
3
- version = "2024.08.05"
3
+ version = "2024.10.01"
4
4
  description = "Earth Observation Training Data Lab"
5
5
  authors = ["EarthPulse <it@earthpulse.es>"]
6
6
  license = "MIT"
@@ -1 +0,0 @@
1
- __version__ = "2024.08.05"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes