dalia_dif 0.0.16__tar.gz → 0.0.17__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 (38) hide show
  1. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/PKG-INFO +1 -1
  2. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/pyproject.toml +3 -3
  3. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/cli.py +7 -2
  4. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/reader.py +14 -2
  5. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/version.py +1 -1
  6. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/LICENSE +0 -0
  7. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/README.md +0 -0
  8. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/.DS_Store +0 -0
  9. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/__init__.py +0 -0
  10. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/__main__.py +0 -0
  11. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/__init__.py +0 -0
  12. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/community/__init__.py +0 -0
  13. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/community/dalia_communities.csv +0 -0
  14. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/constants.py +0 -0
  15. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/export/__init__.py +0 -0
  16. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/export/charts.py +0 -0
  17. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/export/fti.py +0 -0
  18. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/legacy/__init__.py +0 -0
  19. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/legacy/authors.py +0 -0
  20. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/legacy/components.py +0 -0
  21. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/legacy/learning_resource.py +0 -0
  22. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/model.py +0 -0
  23. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/picklists.py +0 -0
  24. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/predicates.py +0 -0
  25. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/rdf.py +0 -0
  26. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/dif13/utils.py +0 -0
  27. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/namespace/__init__.py +0 -0
  28. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/namespace/bibframe_lite_relation.py +0 -0
  29. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/namespace/bibo.py +0 -0
  30. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/namespace/citedcat.py +0 -0
  31. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/namespace/educor.py +0 -0
  32. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/namespace/fabio.py +0 -0
  33. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/namespace/hcrt.py +0 -0
  34. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/namespace/metadata4ing.py +0 -0
  35. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/namespace/modalia.py +0 -0
  36. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/namespace/rec.py +0 -0
  37. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/py.typed +0 -0
  38. {dalia_dif-0.0.16 → dalia_dif-0.0.17}/src/dalia_dif/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dalia_dif
3
- Version: 0.0.16
3
+ Version: 0.0.17
4
4
  Summary: Tools for DALIA's data model for open educational resources
5
5
  Keywords: snekpack,cookiecutter,open educational resources,educational resources,training
6
6
  Author: Charles Tapley Hoyt
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "dalia_dif"
7
- version = "0.0.16"
7
+ version = "0.0.17"
8
8
  description = "Tools for DALIA's data model for open educational resources"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -82,7 +82,7 @@ typing = [
82
82
  { include-group = "tests" },
83
83
  "mypy",
84
84
  "pydantic",
85
- "click-types",
85
+ "types-click",
86
86
  "types-requests",
87
87
  ]
88
88
  docs-lint = [
@@ -250,7 +250,7 @@ known-first-party = [
250
250
  docstring-code-format = true
251
251
 
252
252
  [tool.bumpversion]
253
- current_version = "0.0.16"
253
+ current_version = "0.0.17"
254
254
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)(?:-(?P<release>[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+(?P<build>[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?"
255
255
  serialize = [
256
256
  "{major}.{minor}.{patch}-{release}+{build}",
@@ -17,8 +17,9 @@ def main() -> None:
17
17
 
18
18
  @main.command()
19
19
  @click.option("--dif-version", type=click.Choice(["1.3"]), default="1.3")
20
+ @click.option("--ignore-missing-description", is_flag=True)
20
21
  @click.argument("location")
21
- def validate(location: str, dif_version: str) -> None:
22
+ def validate(location: str, dif_version: str, ignore_missing_description: bool) -> None:
22
23
  """Validate a local/remote file or local folder of DIF-encoded CSVs."""
23
24
  from dalia_dif.dif13 import read_dif13
24
25
 
@@ -31,7 +32,11 @@ def validate(location: str, dif_version: str) -> None:
31
32
  for path in p.glob("*.csv"):
32
33
  click.secho(f"\n> {path.relative_to(p)}", fg="green")
33
34
  errors: list[str] = []
34
- read_dif13(path, error_accumulator=errors)
35
+ read_dif13(
36
+ path,
37
+ error_accumulator=errors,
38
+ ignore_missing_description=ignore_missing_description,
39
+ )
35
40
  if errors:
36
41
  fail = True
37
42
  for error in errors:
@@ -101,6 +101,7 @@ def read_dif13(
101
101
  *,
102
102
  error_accumulator: list[str] | None = None,
103
103
  converter: curies.Converter | None = None,
104
+ ignore_missing_description: bool = False,
104
105
  ) -> list[EducationalResourceDIF13]:
105
106
  """Parse DALIA records."""
106
107
  if isinstance(path, str) and (path.startswith("http://") or path.startswith("https://")):
@@ -132,7 +133,12 @@ def read_dif13(
132
133
  for idx, record in enumerate(reader, start=2)
133
134
  if (
134
135
  oer := parse_dif13_row(
135
- file_name, idx, record, error_accumulator=error_accumulator, converter=converter
136
+ file_name,
137
+ idx,
138
+ record,
139
+ error_accumulator=error_accumulator,
140
+ converter=converter,
141
+ ignore_missing_description=ignore_missing_description,
136
142
  )
137
143
  )
138
144
  is not None
@@ -157,6 +163,7 @@ def parse_dif13_row( # noqa:C901
157
163
  future: bool = False,
158
164
  error_accumulator: list[str] | None = None,
159
165
  converter: curies.Converter | None = None,
166
+ ignore_missing_description: bool = False,
160
167
  ) -> EducationalResourceDIF13 | None:
161
168
  """Convert a row in a DALIA curation file to a resource, or return none if unable."""
162
169
  if isinstance(file_name, Path):
@@ -193,7 +200,12 @@ def parse_dif13_row( # noqa:C901
193
200
 
194
201
  description = row.pop("Description").strip()
195
202
  if not description:
196
- _log(file_name, idx, "no description given", error_accumulator=error_accumulator)
203
+ _log(
204
+ file_name,
205
+ idx,
206
+ "no description given",
207
+ error_accumulator=None if ignore_missing_description else error_accumulator,
208
+ )
197
209
  return None
198
210
 
199
211
  try:
@@ -12,7 +12,7 @@ __all__ = [
12
12
  "get_version",
13
13
  ]
14
14
 
15
- VERSION = "0.0.16"
15
+ VERSION = "0.0.17"
16
16
 
17
17
 
18
18
  def get_git_hash() -> str:
File without changes
File without changes