boarddata 6.6.2__tar.gz → 6.6.3__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 (66) hide show
  1. {boarddata-6.6.2 → boarddata-6.6.3}/PKG-INFO +1 -1
  2. {boarddata-6.6.2 → boarddata-6.6.3}/__init__.py +1 -1
  3. {boarddata-6.6.2 → boarddata-6.6.3}/_criteria.py +14 -1
  4. {boarddata-6.6.2 → boarddata-6.6.3}/boarddata.egg-info/PKG-INFO +1 -1
  5. {boarddata-6.6.2 → boarddata-6.6.3}/pyproject.toml +1 -1
  6. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_criteria.py +13 -0
  7. {boarddata-6.6.2 → boarddata-6.6.3}/types/criteria.py +14 -0
  8. {boarddata-6.6.2 → boarddata-6.6.3}/CLAUDE.md +0 -0
  9. {boarddata-6.6.2 → boarddata-6.6.3}/README.md +0 -0
  10. {boarddata-6.6.2 → boarddata-6.6.3}/_assemblies.py +0 -0
  11. {boarddata-6.6.2 → boarddata-6.6.3}/_auditors.py +0 -0
  12. {boarddata-6.6.2 → boarddata-6.6.3}/_base.py +0 -0
  13. {boarddata-6.6.2 → boarddata-6.6.3}/_comex.py +0 -0
  14. {boarddata-6.6.2 → boarddata-6.6.3}/_committees.py +0 -0
  15. {boarddata-6.6.2 → boarddata-6.6.3}/_companies.py +0 -0
  16. {boarddata-6.6.2 → boarddata-6.6.3}/_directors.py +0 -0
  17. {boarddata-6.6.2 → boarddata-6.6.3}/_documents.py +0 -0
  18. {boarddata-6.6.2 → boarddata-6.6.3}/_esg.py +0 -0
  19. {boarddata-6.6.2 → boarddata-6.6.3}/_indexes.py +0 -0
  20. {boarddata-6.6.2 → boarddata-6.6.3}/_persons.py +0 -0
  21. {boarddata-6.6.2 → boarddata-6.6.3}/_risks.py +0 -0
  22. {boarddata-6.6.2 → boarddata-6.6.3}/_sentinel.py +0 -0
  23. {boarddata-6.6.2 → boarddata-6.6.3}/_utilities.py +0 -0
  24. {boarddata-6.6.2 → boarddata-6.6.3}/boarddata.egg-info/SOURCES.txt +0 -0
  25. {boarddata-6.6.2 → boarddata-6.6.3}/boarddata.egg-info/dependency_links.txt +0 -0
  26. {boarddata-6.6.2 → boarddata-6.6.3}/boarddata.egg-info/requires.txt +0 -0
  27. {boarddata-6.6.2 → boarddata-6.6.3}/boarddata.egg-info/top_level.txt +0 -0
  28. {boarddata-6.6.2 → boarddata-6.6.3}/cache.py +0 -0
  29. {boarddata-6.6.2 → boarddata-6.6.3}/client.py +0 -0
  30. {boarddata-6.6.2 → boarddata-6.6.3}/errors.py +0 -0
  31. {boarddata-6.6.2 → boarddata-6.6.3}/py.typed +0 -0
  32. {boarddata-6.6.2 → boarddata-6.6.3}/setup.cfg +0 -0
  33. {boarddata-6.6.2 → boarddata-6.6.3}/tests/__init__.py +0 -0
  34. {boarddata-6.6.2 → boarddata-6.6.3}/tests/conftest.py +0 -0
  35. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_assemblies.py +0 -0
  36. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_auditors.py +0 -0
  37. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_base.py +0 -0
  38. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_build_payload.py +0 -0
  39. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_cache.py +0 -0
  40. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_comex.py +0 -0
  41. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_committees.py +0 -0
  42. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_companies.py +0 -0
  43. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_config.py +0 -0
  44. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_directors.py +0 -0
  45. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_documents.py +0 -0
  46. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_esg.py +0 -0
  47. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_exports.py +0 -0
  48. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_indexes.py +0 -0
  49. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_persons.py +0 -0
  50. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_risks.py +0 -0
  51. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_sentinel.py +0 -0
  52. {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_utilities.py +0 -0
  53. {boarddata-6.6.2 → boarddata-6.6.3}/types/__init__.py +0 -0
  54. {boarddata-6.6.2 → boarddata-6.6.3}/types/assemblies.py +0 -0
  55. {boarddata-6.6.2 → boarddata-6.6.3}/types/auditors.py +0 -0
  56. {boarddata-6.6.2 → boarddata-6.6.3}/types/comex.py +0 -0
  57. {boarddata-6.6.2 → boarddata-6.6.3}/types/committees.py +0 -0
  58. {boarddata-6.6.2 → boarddata-6.6.3}/types/companies.py +0 -0
  59. {boarddata-6.6.2 → boarddata-6.6.3}/types/core.py +0 -0
  60. {boarddata-6.6.2 → boarddata-6.6.3}/types/directors.py +0 -0
  61. {boarddata-6.6.2 → boarddata-6.6.3}/types/documents.py +0 -0
  62. {boarddata-6.6.2 → boarddata-6.6.3}/types/esg.py +0 -0
  63. {boarddata-6.6.2 → boarddata-6.6.3}/types/indexes.py +0 -0
  64. {boarddata-6.6.2 → boarddata-6.6.3}/types/persons.py +0 -0
  65. {boarddata-6.6.2 → boarddata-6.6.3}/types/risks.py +0 -0
  66. {boarddata-6.6.2 → boarddata-6.6.3}/types/sentinel.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boarddata
3
- Version: 6.6.2
3
+ Version: 6.6.3
4
4
  Summary: Python SDK for the BoardData V2 REST API
5
5
  License: MIT
6
6
  Classifier: Development Status :: 4 - Beta
@@ -6,7 +6,7 @@ from .cache import FileTokenCache, ScalewaySecretTokenCache
6
6
  from .client import BoardDataClient
7
7
  from .errors import BoardDataError, ExportTooLargeError
8
8
 
9
- __version__ = "6.6.2"
9
+ __version__ = "6.6.3"
10
10
  __all__ = [
11
11
  "Base",
12
12
  "BoardDataClient",
@@ -4,7 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  from typing import Any
6
6
 
7
- from .types.criteria import CriteriaCatalogItem, CriteriaThemeItem
7
+ from .types.criteria import CriteriaCatalogItem, CriteriaFamilyItem, CriteriaThemeItem
8
8
 
9
9
 
10
10
  class CriteriaMixin:
@@ -25,6 +25,19 @@ class CriteriaMixin:
25
25
  """
26
26
  return self._get("criteria-themes/") # type: ignore[attr-defined]
27
27
 
28
+ def list_criteria_families(self) -> list[CriteriaFamilyItem]:
29
+ """List the 17 criteria families (business-meaning classification).
30
+
31
+ Returns:
32
+ List of criteria families in ``sort_order`` (not paginated).
33
+ Slugs are a cross-repo contract — extraction committers
34
+ preflight their families.json against this list.
35
+
36
+ Raises:
37
+ BoardDataError: On non-2xx API response.
38
+ """
39
+ return self._get("criteria-families/") # type: ignore[attr-defined]
40
+
28
41
  def list_criteria(
29
42
  self,
30
43
  theme: str | None = None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boarddata
3
- Version: 6.6.2
3
+ Version: 6.6.3
4
4
  Summary: Python SDK for the BoardData V2 REST API
5
5
  License: MIT
6
6
  Classifier: Development Status :: 4 - Beta
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "boarddata"
7
- version = "6.6.2"
7
+ version = "6.6.3"
8
8
  description = "Python SDK for the BoardData V2 REST API"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -66,3 +66,16 @@ class TestCreateCriteria:
66
66
  payload = kwargs["json"]
67
67
  assert payload["name"] == "Safety Rate"
68
68
  assert "theme_id" not in payload
69
+
70
+
71
+ class TestListCriteriaFamilies:
72
+ def test_calls_correct_path(self):
73
+ c = make_client()
74
+ c._request.return_value = [
75
+ {"slug": "revenue_growth", "name": "Revenue & Growth", "pillar": "financial", "sort_order": 1}
76
+ ]
77
+ result = c.list_criteria_families()
78
+ args, _ = c._request.call_args
79
+ assert args == ("GET", "criteria-families/")
80
+ assert result[0]["slug"] == "revenue_growth"
81
+ assert result[0]["pillar"] == "financial"
@@ -17,6 +17,20 @@ class CriteriaThemeItem(TypedDict):
17
17
  category: str
18
18
 
19
19
 
20
+ class CriteriaFamilyItem(TypedDict):
21
+ """Criteria family as returned by the criteria-families endpoint.
22
+
23
+ The 17-row business-meaning classification catalog (4 pillars). Slugs
24
+ are a cross-repo contract with extraction's families.json — consumers
25
+ preflight against this list to detect drift.
26
+ """
27
+
28
+ slug: str
29
+ name: str
30
+ pillar: str
31
+ sort_order: int
32
+
33
+
20
34
  class CriteriaCatalogItem(TypedDict):
21
35
  """Criteria catalog entry as returned by the criteria endpoint."""
22
36
 
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
File without changes
File without changes
File without changes
File without changes