Skip to content

Commit 858c012

Browse files
korbonitsclaude
andauthored
docs: Add sphinx api docs for aggregation, dbt, and openlineage packages (#6271)
* docs: add sphinx api docs for aggregation, dbt, openlineage packages Add missing RST files for feast.aggregation (including tiling sub-package), feast.dbt, and feast.openlineage. Also add feast.diff.apply_progress which was missing from feast.diff.rst. Update feast.rst toctree to include all three new top-level packages. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Alex Korbonits <alex@korbonits.com> * docs: fix sphinx warnings from new package documentation No new warning categories are introduced by adding feast.aggregation, feast.dbt, and feast.openlineage to the Sphinx docs. The 10 new "more than one target found" warnings follow the same pre-existing pattern (8 already present) caused by feast.__init__ re-exporting classes under multiple paths. Fixes applied: - Remove :undoc-members: from dataclass automodules (Aggregation, IRMetadata, OpenLineageConfig) to prevent duplicate attribute docs - Document re-exporting __init__ packages at package level only to avoid duplicate descriptions from submodule entries - Fix markdown-style code fences in openlineage/__init__.py docstring - Fix RST formatting in client.py Example section (Example::) and emitter.py ASCII art diagram (literal block) - Fix repo_config.py field docstring that triggered an ambiguous OpenLineageConfig cross-reference Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Alex Korbonits <alex@korbonits.com> --------- Signed-off-by: Alex Korbonits <alex@korbonits.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 28a58d0 commit 858c012

10 files changed

Lines changed: 106 additions & 28 deletions

File tree

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
feast.aggregation package
2+
=========================
3+
4+
Subpackages
5+
-----------
6+
7+
.. toctree::
8+
:maxdepth: 4
9+
10+
feast.aggregation.tiling
11+
12+
Module contents
13+
---------------
14+
15+
.. automodule:: feast.aggregation
16+
:members:
17+
:show-inheritance:
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
feast.aggregation.tiling package
2+
=================================
3+
4+
Module contents
5+
---------------
6+
7+
.. automodule:: feast.aggregation.tiling
8+
:members:
9+
:show-inheritance:
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
feast.dbt package
2+
=================
3+
4+
Submodules
5+
----------
6+
7+
feast.dbt.codegen module
8+
------------------------
9+
10+
.. automodule:: feast.dbt.codegen
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
feast.dbt.mapper module
16+
-----------------------
17+
18+
.. automodule:: feast.dbt.mapper
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
23+
feast.dbt.parser module
24+
-----------------------
25+
26+
.. automodule:: feast.dbt.parser
27+
:members:
28+
:undoc-members:
29+
:show-inheritance:
30+
31+
Module contents
32+
---------------
33+
34+
.. automodule:: feast.dbt
35+
:members:
36+
:undoc-members:
37+
:show-inheritance:

sdk/python/docs/source/feast.diff.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@ feast.diff package
44
Submodules
55
----------
66

7+
feast.diff.apply\_progress module
8+
----------------------------------
9+
10+
.. automodule:: feast.diff.apply_progress
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
715
feast.diff.infra\_diff module
816
-----------------------------
917

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
feast.openlineage package
2+
=========================
3+
4+
Module contents
5+
---------------
6+
7+
.. automodule:: feast.openlineage
8+
:members:
9+
:show-inheritance:

sdk/python/docs/source/feast.rst

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,16 @@ Subpackages
77
.. toctree::
88
:maxdepth: 4
99

10+
feast.aggregation
1011
feast.api
1112
feast.cli
13+
feast.dbt
1214
feast.diff
1315
feast.dqm
1416
feast.embedded_go
1517
feast.infra
1618
feast.lineage
19+
feast.openlineage
1720
feast.permissions
1821
feast.protos
1922
feast.transformation
@@ -22,14 +25,6 @@ Subpackages
2225
Submodules
2326
----------
2427

25-
feast.aggregation module
26-
------------------------
27-
28-
.. automodule:: feast.aggregation
29-
:members:
30-
:undoc-members:
31-
:show-inheritance:
32-
3328
feast.arrow\_error\_handler module
3429
----------------------------------
3530

sdk/python/feast/openlineage/__init__.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,27 +35,27 @@
3535
Usage:
3636
Simply configure OpenLineage in your feature_store.yaml:
3737
38-
```yaml
39-
project: my_project
40-
# ... other config ...
41-
42-
openlineage:
43-
enabled: true
44-
transport_type: http
45-
transport_url: http://localhost:5000
46-
transport_endpoint: api/v1/lineage
47-
namespace: my_namespace # Optional: defaults to project name
48-
```
38+
.. code-block:: yaml
39+
40+
project: my_project
41+
# ... other config ...
42+
43+
openlineage:
44+
enabled: true
45+
transport_type: http
46+
transport_url: http://localhost:5000
47+
transport_endpoint: api/v1/lineage
48+
namespace: my_namespace # Optional: defaults to project name
4949
5050
Then use Feast normally - lineage events are emitted automatically!
5151
52-
```python
53-
from feast import FeatureStore
52+
.. code-block:: python
53+
54+
from feast import FeatureStore
5455
55-
fs = FeatureStore(repo_path="feature_repo")
56-
fs.apply([entity, feature_view, feature_service]) # Emits lineage
57-
fs.materialize(start, end) # Emits START/COMPLETE/FAIL events
58-
```
56+
fs = FeatureStore(repo_path="feature_repo")
57+
fs.apply([entity, feature_view, feature_service]) # Emits lineage
58+
fs.materialize(start, end) # Emits START/COMPLETE/FAIL events
5959
"""
6060

6161
from feast.openlineage.client import FeastOpenLineageClient

sdk/python/feast/openlineage/client.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ class FeastOpenLineageClient:
5555
from Feast operations like materialization, feature retrieval, and
5656
registry changes.
5757
58-
Example:
58+
Example::
59+
5960
from feast.openlineage import FeastOpenLineageClient, OpenLineageConfig
6061
6162
config = OpenLineageConfig(

sdk/python/feast/openlineage/emitter.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -644,11 +644,13 @@ def emit_apply(
644644
1. feast_feature_views_{project}: DataSources + Entities → FeatureViews
645645
2. feast_feature_services_{project}: FeatureViews → FeatureServices
646646
647-
This creates a lineage graph matching Feast UI:
647+
This creates a lineage graph matching Feast UI::
648+
648649
DataSource ──→ FeatureView ──→ FeatureService
649650
650651
Entity
651652
653+
652654
Args:
653655
objects: List of Feast objects being applied
654656
project: Project name

sdk/python/feast/repo_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ class RepoConfig(FeastBaseModel):
337337
""" MaterializationConfig: Configuration options for feature materialization behavior. """
338338

339339
openlineage_config: Optional[OpenLineageConfig] = Field(None, alias="openlineage")
340-
""" OpenLineageConfig: Configuration for OpenLineage data lineage integration (optional). """
340+
""" Configuration for OpenLineage data lineage integration (optional). """
341341

342342
def __init__(self, **data: Any):
343343
super().__init__(**data)

0 commit comments

Comments
 (0)