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.
- {boarddata-6.6.2 → boarddata-6.6.3}/PKG-INFO +1 -1
- {boarddata-6.6.2 → boarddata-6.6.3}/__init__.py +1 -1
- {boarddata-6.6.2 → boarddata-6.6.3}/_criteria.py +14 -1
- {boarddata-6.6.2 → boarddata-6.6.3}/boarddata.egg-info/PKG-INFO +1 -1
- {boarddata-6.6.2 → boarddata-6.6.3}/pyproject.toml +1 -1
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_criteria.py +13 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/criteria.py +14 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/CLAUDE.md +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/README.md +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_assemblies.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_auditors.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_base.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_comex.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_committees.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_companies.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_directors.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_documents.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_esg.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_indexes.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_persons.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_risks.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_sentinel.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/_utilities.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/boarddata.egg-info/SOURCES.txt +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/boarddata.egg-info/dependency_links.txt +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/boarddata.egg-info/requires.txt +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/boarddata.egg-info/top_level.txt +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/cache.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/client.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/errors.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/py.typed +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/setup.cfg +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/__init__.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/conftest.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_assemblies.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_auditors.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_base.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_build_payload.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_cache.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_comex.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_committees.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_companies.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_config.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_directors.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_documents.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_esg.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_exports.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_indexes.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_persons.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_risks.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_sentinel.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/tests/test_utilities.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/__init__.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/assemblies.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/auditors.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/comex.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/committees.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/companies.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/core.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/directors.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/documents.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/esg.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/indexes.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/persons.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/risks.py +0 -0
- {boarddata-6.6.2 → boarddata-6.6.3}/types/sentinel.py +0 -0
|
@@ -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,
|
|
@@ -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
|
|
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
|