Skip to content

Commit 0e1082f

Browse files
authored
[Docs] Feature store release notes 1.0.3 (#275)
2 parents df547b0 + b30f09a commit 0e1082f

File tree

10 files changed

+107
-32
lines changed

10 files changed

+107
-32
lines changed

ads/common/decorator/runtime_dependency.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,9 @@ class OptionalDependency:
6464
OPTUNA = "oracle-ads[optuna]"
6565
SPARK = "oracle-ads[spark]"
6666
HUGGINGFACE = "oracle-ads[huggingface]"
67-
GREAT_EXPECTATIONS = "oracle-ads[great-expectations]"
67+
FEATURE_STORE = "oracle-ads[feature-store]"
6868
GRAPHVIZ = "oracle-ads[graphviz]"
6969
MLM_INSIGHTS = "oracle-ads[mlm_insights]"
70-
PYARROW = "oracle-ads[pyarrow]"
7170

7271

7372
def runtime_dependency(

ads/feature_store/.readthedocs.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Read the Docs configuration file
2+
3+
# Required
4+
version: 2
5+
6+
# Set the version of Python and other tools you might need
7+
build:
8+
os: ubuntu-22.04
9+
tools:
10+
python: "3.9"
11+
12+
# Build documentation in the docs/ directory with Sphinx
13+
sphinx:
14+
configuration: ads/feature_store/docs/source/conf.py
15+
16+
# Optionally declare the Python requirements required to build your docs
17+
python:
18+
install:
19+
- requirements: ads/feature_store/docs/requirements.txt

ads/feature_store/data_validation/great_expectation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
from great_expectations.validator.validator import Validator
2222
except ModuleNotFoundError:
2323
raise ModuleNotFoundError(
24-
f"The `great-expectations` module was not found. Please run `pip install "
25-
f"{OptionalDependency.GREAT_EXPECTATIONS}`."
24+
f"The `feature-store` module was not found. Please run `pip install "
25+
f"{OptionalDependency.FEATURE_STORE}`."
2626
)
2727
except Exception as e:
2828
raise
Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
1-
sphinx
2-
nbsphinx
3-
pandoc
4-
ipython
5-
sphinx_rtd_theme
61
autodoc
2+
nbsphinx
3+
sphinx
74
sphinxcontrib-napoleon
8-
sphinx_code_tabs
95
sphinx_copybutton
6+
sphinx_code_tabs
107
sphinx-autobuild
8+
sphinx-autorun
9+
oracle_ads
10+
furo
11+
IPython
12+
pandoc
13+
rstcheck
14+
restructuredtext_lint
15+
doc8

ads/feature_store/docs/source/conf.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
sys.path.insert(0, os.path.abspath("../../"))
1111

12-
version = "1.2"
12+
version = "1.0.2"
1313
release = version
1414

1515

@@ -28,10 +28,13 @@
2828
"sphinx.ext.napoleon",
2929
"sphinx.ext.autodoc",
3030
"sphinx.ext.doctest",
31+
"sphinx.ext.mathjax",
3132
"sphinx.ext.ifconfig",
33+
"sphinx.ext.autodoc",
3234
"sphinx.ext.todo",
3335
"sphinx.ext.extlinks",
3436
"sphinx.ext.intersphinx",
37+
"sphinx.ext.graphviz",
3538
"nbsphinx",
3639
"sphinx_code_tabs",
3740
"sphinx_copybutton",
@@ -54,7 +57,7 @@
5457

5558
# Get version
5659

57-
version = "1.2"
60+
version = "1.0.2"
5861
release = version
5962

6063
# Unless we want to expose real buckets and namespaces
@@ -77,6 +80,9 @@
7780
html_theme_options = {
7881
"light_logo": "logo-light-mode.png",
7982
"dark_logo": "logo-dark-mode.png",
83+
"collapse_navigation": True,
84+
"sticky_navigation": True,
85+
"navigation_depth": 4,
8086
}
8187

8288
# Add any paths that contain custom static files (such as style sheets) here,

ads/feature_store/docs/source/feature_group.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,19 @@ A ``FeatureGroup`` instance will be created.
1818
:caption: Python
1919

2020
from ads.feature_store.feature_group import FeatureGroup
21+
# Dictionary containing arguments for the feature group for the transformation function.
22+
transformation_kwargs = {}
2123

2224
feature_group_flights = (
2325
FeatureGroup()
2426
.with_feature_store_id(feature_store.id)
2527
.with_primary_keys(["col1"])
28+
.with_partition_keys(["col1", "col2"])
2629
.with_name("flights_feature_group")
2730
.with_entity_id("<entity_id>")
2831
.with_compartment_id("ocid1.compartment..<unique_id>")
2932
.with_schema_details_from_dataframe(dataframe)
33+
.with_transformation_kwargs(transformation_kwargs)
3034
)
3135

3236
.. code-tab:: Python3
@@ -52,6 +56,9 @@ A ``FeatureGroup`` instance will be created.
5256
primaryKeys:
5357
items:
5458
- name: col1
59+
partitionKeys:
60+
items:
61+
- name: col1
5562
statisticsConfig:
5663
isEnabled: true
5764
type: featureGroup

ads/feature_store/docs/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Welcome to oci-feature-store's documentation!
33
=============================================
44

55
.. toctree::
6-
:maxdepth: 2
6+
:maxdepth: 3
77
:caption: Contents:
88

99
overview

ads/feature_store/docs/source/quickstart.rst

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -73,19 +73,24 @@ Background reading to understand the concepts of Feature Store and OCI Data Scie
7373

7474

7575
# step2: Create feature store
76-
def transactions_df(dataframe):
76+
def transactions_df(dataframe, **kwargs):
77+
columns = kwargs.get('columns', '*') # Default to select all columns if 'columns' not provided
78+
where_clause = kwargs.get('where_clause', '') # Default to empty where clause if 'where_clause' not provided
79+
7780
sql_query = f"""
7881
SELECT
79-
col1,
80-
col2
82+
{columns}
8183
FROM
82-
{dataframe}
84+
{table_name}
85+
{where_clause}
8386
"""
8487
return sql_query
8588

89+
transformation = feature_store.create_transformation(
90+
transformation_mode=TransformationMode.SQL,
91+
source_code_func=transactions_df
92+
)
8693

87-
transformation = feature_store.create_transformation(transformation_mode=TransformationMode.SQL,
88-
source_code_func=transactions_df)
8994

9095
# step3: Create expectation
9196
expectation_suite = ExpectationSuite(expectation_suite_name="feature_definition")
@@ -102,14 +107,17 @@ Background reading to understand the concepts of Feature Store and OCI Data Scie
102107
stats_config = StatisticsConfig().with_is_enabled(False)
103108

104109
# step5: Create feature group
110+
transformation_args = {"columns": "col1, col2", "where_clause": "col3 > 100"}
105111
feature_group = entity.create_feature_group(
106-
["name"],
112+
primary_keys=["name"],
113+
partition_keys=["name"],
107114
input_feature_details,
108-
expectation_suite,
109-
ExpectationType.LENIENT,
110-
stats_config,
115+
expectation_suite=expectation_suite,
116+
expectation_type=ExpectationType.LENIENT,
117+
statistics_config=stats_config,
111118
name="<feature_group_name>",
112-
transformation_id=transformation.id
119+
transformation_id=transformation.id,
120+
transformation_kwargs=transformation_args
113121
)
114122

115123

ads/feature_store/docs/source/release_notes.rst

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,35 @@
33
=============
44
Release Notes
55
=============
6-
1.2
7-
---
6+
1.0.3
7+
-----
8+
.. note::
9+
10+
.. list-table::
11+
:header-rows: 1
12+
13+
* - Package Name
14+
- Latest Version
15+
- Notes
16+
* - SERVICE_VERSION
17+
- 0.1.225.master
18+
-
19+
20+
Release notes: August 10, 2023
21+
22+
* [FEATURE] Addition of ``featurestore_dataset`` as optional parameter in GenericModel ``save`` function.
23+
* [FEATURE] Addition of ``transformation_kwargs`` in ``Transformation`` entity.
24+
* [FEATURE] Addition of partition keys in ``FeatureGroup`` and ``Dataset``
25+
* [FEATURE] OCI Marketplace integration of the stack.
26+
* [FEATURE] Conda release of feature store pack ``fspyspark32_p38_cpu_v1``
27+
* [FIX] Validation of model ids when associated with ``Dataset``
28+
* [UI] Stats visualisation of feature group and dataset.
29+
* [UI] Global search for feature store entities.
30+
* [UI] Addition of onboarding page for feature store.
31+
* [UI] Redirection of entities within the lineage tab of feature group and dataset.
32+
33+
1.0.2
34+
-----
835
.. note::
936

1037
.. list-table::
@@ -32,8 +59,8 @@ Release notes: July 18, 2023
3259
* [DOCS] For ``ValidationOutput`` instance, addition of ``to_summary()`` method for validation summary details.
3360
* [DOCS] For ``ValidationOutput`` instance, addition of ``to_pandas()`` method for validation detailed report.
3461

35-
1.1
36-
---
62+
1.0.1
63+
-----
3764

3865
.. note::
3966

@@ -63,8 +90,8 @@ Release notes: July 5, 2023
6390
* [DOCS] Data Type update for Offline Feature Type COMPLEX
6491
* [DOCS] Updated terraform default version as 1.1.x
6592

66-
1.0
67-
---
93+
1.0.0
94+
----
6895

6996
.. note::
7097

setup.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,13 @@
7272
"bds": ["ibis-framework[impala]", "hdfs[kerberos]", "sqlalchemy"],
7373
"spark": ["pyspark>=3.0.0", "delta-spark"],
7474
"huggingface": ["transformers"],
75-
"great-expectations": ["great-expectations==0.15.39"],
75+
"feature-store": [
76+
"pyspark>=3.0.0",
77+
"delta-spark",
78+
"great-expectations==0.15.39",
79+
"pyarrow"
80+
],
7681
"mlm_insights": ["mlm_insights==0.1.0.dev1"],
77-
"pyarrow": ["pyarrow"],
7882
}
7983

8084
this_directory = Path(__file__).parent

0 commit comments

Comments
 (0)