pycldf 2.0.0__tar.gz → 2.0.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 (92) hide show
  1. {pycldf-2.0.0 → pycldf-2.0.1}/CHANGELOG.md +6 -0
  2. {pycldf-2.0.0 → pycldf-2.0.1}/PKG-INFO +3 -4
  3. {pycldf-2.0.0 → pycldf-2.0.1}/setup.cfg +3 -4
  4. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/__init__.py +1 -1
  5. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/module.py +1 -1
  6. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/orm.py +1 -2
  7. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf.egg-info/PKG-INFO +3 -4
  8. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf.egg-info/requires.txt +2 -3
  9. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_cli.py +1 -1
  10. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_orm.py +2 -2
  11. {pycldf-2.0.0 → pycldf-2.0.1}/CONTRIBUTING.md +0 -0
  12. {pycldf-2.0.0 → pycldf-2.0.1}/LICENSE +0 -0
  13. {pycldf-2.0.0 → pycldf-2.0.1}/MANIFEST.in +0 -0
  14. {pycldf-2.0.0 → pycldf-2.0.1}/README.md +0 -0
  15. {pycldf-2.0.0 → pycldf-2.0.1}/RELEASING.md +0 -0
  16. {pycldf-2.0.0 → pycldf-2.0.1}/pyproject.toml +0 -0
  17. {pycldf-2.0.0 → pycldf-2.0.1}/setup.py +0 -0
  18. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/__main__.py +0 -0
  19. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/_compat.py +0 -0
  20. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/cli_util.py +0 -0
  21. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/commands/__init__.py +0 -0
  22. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/commands/catmedia.py +0 -0
  23. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/commands/check.py +0 -0
  24. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/commands/createdb.py +0 -0
  25. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/commands/downloadmedia.py +0 -0
  26. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/commands/dumpdb.py +0 -0
  27. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/commands/markdown.py +0 -0
  28. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/commands/splitmedia.py +0 -0
  29. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/commands/stats.py +0 -0
  30. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/commands/validate.py +0 -0
  31. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/BorrowingTable-metadata.json +0 -0
  32. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/CodeTable-metadata.json +0 -0
  33. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/CognateTable-metadata.json +0 -0
  34. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/CognatesetTable-metadata.json +0 -0
  35. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/ContributionTable-metadata.json +0 -0
  36. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/EntryTable-metadata.json +0 -0
  37. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/ExampleTable-metadata.json +0 -0
  38. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/FormTable-metadata.json +0 -0
  39. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/FunctionalEquivalentTable-metadata.json +0 -0
  40. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/FunctionalEquivalentsetTable-metadata.json +0 -0
  41. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/LanguageTable-metadata.json +0 -0
  42. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/MediaTable-metadata.json +0 -0
  43. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/ParameterNetwork-metadata.json +0 -0
  44. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/ParameterTable-metadata.json +0 -0
  45. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/SenseTable-metadata.json +0 -0
  46. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/TreeTable-metadata.json +0 -0
  47. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/components/ValueTable-metadata.json +0 -0
  48. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/constraints.py +0 -0
  49. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/dataset.py +0 -0
  50. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/db.py +0 -0
  51. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/ext/__init__.py +0 -0
  52. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/ext/discovery.py +0 -0
  53. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/ext/markdown.py +0 -0
  54. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/ext/sql.py +0 -0
  55. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/fileutil.py +0 -0
  56. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/markdown.py +0 -0
  57. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/media.py +0 -0
  58. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/modules/Dictionary-metadata.json +0 -0
  59. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/modules/Generic-metadata.json +0 -0
  60. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/modules/ParallelText-metadata.json +0 -0
  61. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/modules/StructureDataset-metadata.json +0 -0
  62. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/modules/TextCorpus-metadata.json +0 -0
  63. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/modules/Wordlist-metadata.json +0 -0
  64. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/schemautil.py +0 -0
  65. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/sliceutil.py +0 -0
  66. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/sources.py +0 -0
  67. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/stats.py +0 -0
  68. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/terms.py +0 -0
  69. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/terms.rdf +0 -0
  70. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/trees.py +0 -0
  71. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/urlutil.py +0 -0
  72. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/util.py +0 -0
  73. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf/validators.py +0 -0
  74. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf.egg-info/SOURCES.txt +0 -0
  75. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf.egg-info/dependency_links.txt +0 -0
  76. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf.egg-info/entry_points.txt +0 -0
  77. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf.egg-info/not-zip-safe +0 -0
  78. {pycldf-2.0.0 → pycldf-2.0.1}/src/pycldf.egg-info/top_level.txt +0 -0
  79. {pycldf-2.0.0 → pycldf-2.0.1}/test.md +0 -0
  80. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_cli_util.py +0 -0
  81. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_dataset.py +0 -0
  82. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_db.py +0 -0
  83. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_ext_discovery.py +0 -0
  84. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_ext_markdown.py +0 -0
  85. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_ext_sql.py +0 -0
  86. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_media.py +0 -0
  87. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_misc.py +0 -0
  88. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_paralleltext.py +0 -0
  89. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_sources.py +0 -0
  90. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_terms.py +0 -0
  91. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_trees.py +0 -0
  92. {pycldf-2.0.0 → pycldf-2.0.1}/tests/test_util.py +0 -0
@@ -3,6 +3,12 @@
3
3
  The `pycldf` package adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
4
4
 
5
5
 
6
+ ## [2.0.1] - 2026-05-05
7
+
8
+ - Remove dependency on `tabulate`.
9
+ - Make sure compatible versions of catalog packages are required.
10
+
11
+
6
12
  ## [2.0.0] - 2026-05-05
7
13
 
8
14
  - Remove dependency on `attrs`.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycldf
3
- Version: 2.0.0
3
+ Version: 2.0.1
4
4
  Summary: A python library to read and write CLDF datasets
5
5
  Home-page: https://github.com/cldf/pycldf
6
6
  Author: Robert Forkel
@@ -28,7 +28,6 @@ Requires-Python: >=3.9
28
28
  Description-Content-Type: text/markdown
29
29
  License-File: LICENSE
30
30
  Requires-Dist: csvw>=4.0
31
- Requires-Dist: tabulate
32
31
  Requires-Dist: clldutils>=4.0
33
32
  Requires-Dist: uritemplate>=3.0
34
33
  Requires-Dist: python-dateutil
@@ -41,8 +40,8 @@ Requires-Dist: PyYAML
41
40
  Requires-Dist: jmespath
42
41
  Provides-Extra: catalogs
43
42
  Requires-Dist: cldfcatalog; extra == "catalogs"
44
- Requires-Dist: pyglottolog; extra == "catalogs"
45
- Requires-Dist: pyconcepticon; extra == "catalogs"
43
+ Requires-Dist: pyglottolog>=4.0; extra == "catalogs"
44
+ Requires-Dist: pyconcepticon>=4.0; extra == "catalogs"
46
45
  Provides-Extra: dev
47
46
  Requires-Dist: tox; extra == "dev"
48
47
  Requires-Dist: flake8; extra == "dev"
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = pycldf
3
- version = 2.0.0
3
+ version = 2.0.1
4
4
  author = Robert Forkel
5
5
  author_email = robert_forkel@eva.mpg.de
6
6
  description = A python library to read and write CLDF datasets
@@ -38,7 +38,6 @@ package_dir =
38
38
  python_requires = >=3.9
39
39
  install_requires =
40
40
  csvw>=4.0
41
- tabulate
42
41
  clldutils>=4.0
43
42
  uritemplate>=3.0
44
43
  python-dateutil
@@ -70,8 +69,8 @@ pycldf_dataset_resolver =
70
69
  [options.extras_require]
71
70
  catalogs =
72
71
  cldfcatalog
73
- pyglottolog
74
- pyconcepticon
72
+ pyglottolog>=4.0
73
+ pyconcepticon>=4.0
75
74
  dev =
76
75
  tox
77
76
  flake8
@@ -9,4 +9,4 @@ from pycldf.sources import *
9
9
  from pycldf.terms import *
10
10
 
11
11
  # flake8: noqa
12
- __version__ = "2.0.0"
12
+ __version__ = "2.0.1"
@@ -38,7 +38,7 @@ class Module:
38
38
  if isinstance(thing, TableGroup):
39
39
  return thing.common_props.get('dc:conformsTo') == term_uri(self.id)
40
40
  if isinstance(thing, str):
41
- return thing == self.fname or thing == self.id
41
+ return thing == self.fname or thing == self.id # pylint: disable=R1714
42
42
  return False
43
43
 
44
44
 
@@ -52,7 +52,6 @@ import functools
52
52
  import collections
53
53
 
54
54
  import csvw.metadata
55
- from tabulate import tabulate
56
55
 
57
56
  from pycldf.terms import TERMS, term_uri
58
57
  from pycldf.util import DictTuple
@@ -313,7 +312,7 @@ class Example(Object, _WithLanguageMixin): # pylint: disable=C0115
313
312
  @property
314
313
  def igt(self) -> str:
315
314
  """The example in a plain text interlinear glossed representation."""
316
- aligned = tabulate([self.cldf.gloss], self.cldf.analyzedWord, tablefmt='plain')
315
+ aligned = '\n'.join(['\t'.join(self.cldf.analyzedWord), '\t'.join(self.cldf.gloss)])
317
316
  return f'{self.cldf.primaryText}\n{aligned}\n{self.cldf.translatedText}'
318
317
 
319
318
  @property
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycldf
3
- Version: 2.0.0
3
+ Version: 2.0.1
4
4
  Summary: A python library to read and write CLDF datasets
5
5
  Home-page: https://github.com/cldf/pycldf
6
6
  Author: Robert Forkel
@@ -28,7 +28,6 @@ Requires-Python: >=3.9
28
28
  Description-Content-Type: text/markdown
29
29
  License-File: LICENSE
30
30
  Requires-Dist: csvw>=4.0
31
- Requires-Dist: tabulate
32
31
  Requires-Dist: clldutils>=4.0
33
32
  Requires-Dist: uritemplate>=3.0
34
33
  Requires-Dist: python-dateutil
@@ -41,8 +40,8 @@ Requires-Dist: PyYAML
41
40
  Requires-Dist: jmespath
42
41
  Provides-Extra: catalogs
43
42
  Requires-Dist: cldfcatalog; extra == "catalogs"
44
- Requires-Dist: pyglottolog; extra == "catalogs"
45
- Requires-Dist: pyconcepticon; extra == "catalogs"
43
+ Requires-Dist: pyglottolog>=4.0; extra == "catalogs"
44
+ Requires-Dist: pyconcepticon>=4.0; extra == "catalogs"
46
45
  Provides-Extra: dev
47
46
  Requires-Dist: tox; extra == "dev"
48
47
  Requires-Dist: flake8; extra == "dev"
@@ -1,5 +1,4 @@
1
1
  csvw>=4.0
2
- tabulate
3
2
  clldutils>=4.0
4
3
  uritemplate>=3.0
5
4
  python-dateutil
@@ -13,8 +12,8 @@ jmespath
13
12
 
14
13
  [catalogs]
15
14
  cldfcatalog
16
- pyglottolog
17
- pyconcepticon
15
+ pyglottolog>=4.0
16
+ pyconcepticon>=4.0
18
17
 
19
18
  [dev]
20
19
  tox
@@ -54,7 +54,7 @@ def test_stats(tmp_path):
54
54
  main(['stats', str(tmp_path / 'new')])
55
55
 
56
56
 
57
- def est_check(data, glottolog_repos, concepticon_repos, caplog, tmp_path):
57
+ def test_check(data, glottolog_repos, concepticon_repos, caplog, tmp_path):
58
58
  res = main(
59
59
  [
60
60
  'check',
@@ -98,7 +98,7 @@ def test_examples(structuredataset_with_examples):
98
98
  assert v.parameter and v.language
99
99
  assert len(v.examples) == 2
100
100
  ex = v.examples['e1']
101
- assert 'der inhalt' in ex.igt
101
+ assert ex.igt == 'der inhalt\nder\tin\thalt\ni\tdont\tknow\nno idea'
102
102
  assert ex.language != ex.metaLanguage
103
103
  assert v.code.name == 'Yes' and v.cldf.value == 'ja'
104
104
  assert isinstance(v.language.as_geojson_feature, dict)
@@ -114,7 +114,7 @@ def test_dictionary(dictionary):
114
114
  assert len(dictionary.get_object('EntryTable', '2').senses) == 2
115
115
 
116
116
 
117
- def est_catalogs(wordlist_with_cognates, glottolog_repos, concepticon_repos):
117
+ def test_catalogs(wordlist_with_cognates, glottolog_repos, concepticon_repos):
118
118
  from pyglottolog import Glottolog
119
119
  from pyconcepticon import Concepticon
120
120
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes