Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix deprecation warnings for SQLite #8

Open
wants to merge 96 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
5215a21
feat: Allow feast snowflake to read in byte string for private-key au…
arturkolakowski Aug 13, 2024
a8a98c7
Update pull_request_template.md
franciscojavierarceo Aug 14, 2024
409e6f6
chore: Update Feast documentation to add information about write patt…
franciscojavierarceo Aug 14, 2024
c42d9fd
chore: Update arch/README.md (#4411)
franciscojavierarceo Aug 14, 2024
8851722
chore: Update language.md (#4412)
franciscojavierarceo Aug 15, 2024
721ec74
feat: Create ADOPTERS.md (#4410)
franciscojavierarceo Aug 16, 2024
0baeeb5
fix: Using repo_config parameter in teardown to allow for feature-sto…
danbaron63 Aug 16, 2024
cebbe04
feat: Updating docs to include model inference guidelines (#4416)
franciscojavierarceo Aug 16, 2024
23c6c86
fix: Retire pytz library (#4406)
shuchu Aug 16, 2024
160cd36
Update model-inference.md
franciscojavierarceo Aug 17, 2024
09b026b
chore: Auto-detect python version in Makefile (#4419)
tokoko Aug 17, 2024
d235832
fix: Default to pandas mode if not specified in ODFV proto in databas…
EXPEbdodla Aug 18, 2024
8181007
chore: Update SUMMARY.md (#4422)
franciscojavierarceo Aug 19, 2024
66a0a38
docs: Updated README template and fixed links to be consistent for HT…
dandawg Aug 19, 2024
d18d01d
fix: Add feast-operator Makefile to semantic-release script (#4424)
tchughesiv Aug 19, 2024
46655f0
feat: Add health check service to registry server (#4421)
EXPEbdodla Aug 19, 2024
1771f66
feat: Feast Security Model (aka RBAC) (#4380)
dmartinol Aug 21, 2024
75983f2
chore: Fix rbac url.
franciscojavierarceo Aug 21, 2024
0a48f7b
fix: Links to the RBAC documentation under Concepts and Components (#…
redhatHameed Aug 21, 2024
42d659f
docs: Reorganize registry docs (#4407)
tokoko Aug 23, 2024
7d744ad
chore: Update Slack link
franciscojavierarceo Aug 23, 2024
a2460d9
build: Set a proper build-system protobuf version (#4438)
Atry Aug 23, 2024
2ba93f6
Update README.md
franciscojavierarceo Aug 23, 2024
dda0088
fix: Typos related to k8s (#4442)
brijesh-vora-sp Aug 24, 2024
896360a
feat: Refactoring code to get oidc end points from discovery URL. (#4…
lokeshrangineni Aug 24, 2024
19cf222
chore: Mark tests using keycloak with xdist_group (#4436)
tokoko Aug 25, 2024
20290ce
fix: Locate feature_store.yaml from __file__ (#4443)
Atry Aug 25, 2024
34238d2
feat: Update roadmap.md (#4445)
franciscojavierarceo Aug 25, 2024
55a61e8
chore: Remove Rockset from feast (#4434)
tokoko Aug 26, 2024
6b2f026
fix: Add --chdir to test_workflow.py (#4453)
Atry Aug 27, 2024
635a01b
fix: Validating permission to update an existing request on both the …
dmartinol Aug 27, 2024
5e753e4
refactor: Introduced base class FeastError for all Feast exceptions (…
dmartinol Aug 29, 2024
729c874
feat: Intra server to server communication (#4433)
tmihalac Aug 29, 2024
4186f03
chore: Bump notebook from 7.2.1 to 7.2.2 in /sdk/python/requirements …
dependabot[bot] Aug 29, 2024
a68cf37
chore: Bump jupyterlab from 4.2.3 to 4.2.5 in /sdk/python/requirement…
dependabot[bot] Aug 30, 2024
c365b4e
fix: Check for snowflake functions when setting up materialization en…
benchoncy Aug 30, 2024
484240c
fix: Initial commit targetting grpc registry server (#4458)
dmartinol Aug 30, 2024
8fef194
build: Explicit protobuf build version; consistent build/setup deps (…
cburroughs Sep 3, 2024
3f3a4e8
refactor: Making username and password fields in OidcAuthModel as man…
lokeshrangineni Sep 4, 2024
2bd03fa
fix: Added Permission API docs (#4485)
dmartinol Sep 5, 2024
2118719
fix: Added Online Store REST client errors handler (#4488)
tmihalac Sep 5, 2024
7b250e5
feat: Add cli list/describe for SavedDatasets, StreamFeatureViews, & …
tchughesiv Sep 6, 2024
1015618
chore: Bump cryptography from 42.0.8 to 43.0.1 in /sdk/python/require…
dependabot[bot] Sep 6, 2024
3c4745c
chore: Bump webpack from 5.76.1 to 5.94.0 in /sdk/python/feast/ui (#4…
dependabot[bot] Sep 6, 2024
c28bee5
chore: Cleanup CODEOWNERS (#4477)
tokoko Sep 6, 2024
4a6b663
feat: Added Project object to Feast Objects (#4475)
EXPEbdodla Sep 6, 2024
96344b2
fix: Hao xu request source timestamp_field (#4495)
HaoXuAI Sep 6, 2024
da24656
chore: Scope fixtures to session in test_universal_registry (#4497)
tokoko Sep 6, 2024
ac381b2
feat: Add registry methods for dealing with all FV types (#4435)
tokoko Sep 6, 2024
87e7ca4
chore: Bump actions/download-artifact from 2 to 4.1.7 in /.github/wor…
dependabot[bot] Sep 7, 2024
d793c77
feat: Added support for reading from Reader Endpoints for AWS Aurora…
EXPEbdodla Sep 7, 2024
7ecc615
fix: Fix the mypy type check issue. (#4498)
shuchu Sep 8, 2024
c94f32f
fix: Disable active_timer When registry_ttl_sec is 0 (#4499)
phil-park Sep 9, 2024
867f532
fix: Ignore the type check as both functions calls are not belonging …
shuchu Sep 9, 2024
0c90137
chore: Added rbac examples (#4450)
redhatHameed Sep 9, 2024
def8633
fix: Refactor auth_client_manager_factory.py in function get_auth_cli…
tmihalac Sep 12, 2024
6a6a369
chore: A full, minimal, reproducible example of the RBAC feature (#4501)
dmartinol Sep 12, 2024
ddecae8
docs: Adding the missed documentation for the RBAC (#4515)
lokeshrangineni Sep 13, 2024
06eade3
chore: Remove bump upper bound on fsspec requirement (#4512)
cburroughs Sep 16, 2024
3073ea5
fix: Removed the k8s dependency from required dependencies (#4519)
redhatHameed Sep 17, 2024
c5a4d90
fix: Move tslib from devDependencies to dependencies in Feast UI (#4525)
peruukki Sep 17, 2024
7535b40
fix: Added Offline Store Arrow client errors handler (#4524)
tmihalac Sep 17, 2024
58c6fc1
Update CONTRIBUTING.md
franciscojavierarceo Sep 18, 2024
b3c93a0
Update community.md
franciscojavierarceo Sep 18, 2024
0fb76e9
fix: Removed protobuf as a required dependency (#4535)
EXPEbdodla Sep 18, 2024
50b8f23
fix: Logger settings for feature servers and updated logger for permi…
redhatHameed Sep 19, 2024
cecca83
fix: Adding protobuf<5 as a required dependency due to snowflake limi…
EXPEbdodla Sep 19, 2024
9688790
perf: Added indexes to sql tables to optimize query execution (#4538)
EXPEbdodla Sep 19, 2024
1b92803
docs: Add docs example of how to use tags with feature views (#4536)
tmihalac Sep 19, 2024
4e2eacc
fix: Fix for SQL registry initialization fails #4543 (#4544)
EXPEbdodla Sep 20, 2024
5f5caf0
feat: Return entity key in the retrieval document api (#4511)
HaoXuAI Sep 20, 2024
163d34f
refactor: Use get_any_feature_view in online flow instead of listing …
tokoko Sep 20, 2024
9a0398e
fix: Fixes validator field access for 'project_id' in BigQuery offlin…
jgesche Sep 21, 2024
76b4576
docs: Example to Deploy Feast Remote Server Components Using Podman L…
redhatHameed Sep 21, 2024
5a09a7e
chore: Adding unit test to test feature view dummy entity serializati…
franciscojavierarceo Sep 21, 2024
334e5d7
feat: Publish TypeScript types in Feast UI package (#4551)
peruukki Sep 21, 2024
351a2d0
fix: Deleting data from feast_metadata when we delete project (#4550)
EXPEbdodla Sep 21, 2024
e781e16
fix: Remove Feast UI TypeScript dependencies from `peerDependencies` …
peruukki Sep 22, 2024
fcd1bd4
chore: Bump gopkg.in/yaml.v3 from 3.0.0-20200313102051-9f266ea9e77c t…
dependabot[bot] Sep 22, 2024
00910bc
chore: Commit generated python proto files (#4546)
tokoko Sep 22, 2024
f308572
fix: Import grpc only for type checking in errors.py (#4533)
tokoko Sep 22, 2024
4293608
fix: Update react-router-dom to 6.3.0 and restrict its version in Fea…
peruukki Sep 22, 2024
6dee688
docs: Fix small typos in Feast UI projects list documentation (#4555)
peruukki Sep 22, 2024
8ffb97a
chore: Bump webpack from 5.76.1 to 5.94.0 in /ui (#4492)
dependabot[bot] Sep 22, 2024
cb2aa2c
chore: Bump micromatch from 4.0.5 to 4.0.8 in /sdk/python/feast/ui (#…
dependabot[bot] Sep 22, 2024
792fb73
chore: Bump express from 4.19.2 to 4.21.0 in /sdk/python/feast/ui (#4…
dependabot[bot] Sep 23, 2024
d5ef57e
chore: Bump cryptography from 42.0.8 to 43.0.1 in /sdk/python/require…
dependabot[bot] Sep 23, 2024
0795496
feat: Updating FeatureViewProjection and OnDemandFeatureView to add b…
franciscojavierarceo Sep 23, 2024
e675cbd
docs: Example to install feast on local computer using Kind (#4528)
dmartinol Sep 23, 2024
0192b2e
fix: Fixing the master branch build failure. (#4563)
lokeshrangineni Sep 24, 2024
5850adc
chore: Adding docs, community, and examples to ignore during PR tests
franciscojavierarceo Sep 24, 2024
626c94f
chore: Test FeatureView apply to expose entity_columns behavior pre a…
franciscojavierarceo Sep 25, 2024
354c059
feat: Adding registry cache support for get_on_demand_feature_view (#…
franciscojavierarceo Sep 25, 2024
3198371
fix: Removed usage of pull_request_target as much as possible to prev…
tmihalac Sep 25, 2024
1c68dc9
Fix deprecation warnings for datetime adapter and timestamp converter…
devin-ai-integration[bot] Sep 25, 2024
3c3ceb2
Fix TypeError in convert_timestamp by decoding bytes to string
devin-ai-integration[bot] Sep 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@
"ghcr.io/devcontainers-contrib/features/maven-sdkman:2": {
"jdkVersion": "11.0.24-amzn"
}
},
}

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Uncomment the next line to run commands after the container is created.
"postCreateCommand": "make install-python-ci-dependencies-uv-venv"
// "postCreateCommand": "make install-python-ci-dependencies-uv-venv"

// Configure tool-specific properties.
// "customizations": {},
Expand Down
4 changes: 2 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!-- Thanks for sending a pull request! Here are some tips for you:

1. Ensure that your code follows our code conventions: https://github.com/feast-dev/feast/blob/master/CONTRIBUTING.md#code-style--linting
1. Ensure that your code follows our code conventions: https://github.com/feast-dev/feast/blob/master/CONTRIBUTING.md#code-style-and-linting
2. Run unit tests and ensure that they are passing: https://github.com/feast-dev/feast/blob/master/CONTRIBUTING.md#unit-tests
3. If your change introduces any API changes, make sure to update the integration tests here: https://github.com/feast-dev/feast/tree/master/sdk/python/tests
4. Make sure documentation is updated for your PR!
5. Make sure your commits are signed: https://github.com/feast-dev/feast/blob/master/CONTRIBUTING.md#signing-off-commits
6. Make sure your PR title follows conventional commits (e.g. fix: [description] vs feat: [description])
6. Make sure your PR title follows conventional commits (e.g. fix: [Description of ...], feat: [Description of ...], chore: [Description of ...], refactor: [Description of ...])

-->

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v4.1.7
with:
name: wheels
path: dist
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/java_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ on:
- synchronize
- labeled

permissions:
pull-requests: read

jobs:
lint-java:
# when using pull_request_target, all jobs MUST have this if check for 'ok-to-test' or 'approved' for security purposes.
Expand All @@ -23,6 +26,7 @@ jobs:
# code from the PR.
ref: refs/pull/${{ github.event.pull_request.number }}/merge
submodules: recursive
persist-credentials: false
- name: Lint java
run: make lint-java

Expand All @@ -42,6 +46,7 @@ jobs:
# code from the PR.
ref: refs/pull/${{ github.event.pull_request.number }}/merge
submodules: recursive
persist-credentials: false
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
Expand Down Expand Up @@ -84,6 +89,7 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
persist-credentials: false
- name: Setup Python
uses: actions/setup-python@v5
id: setup-python
Expand Down Expand Up @@ -120,6 +126,7 @@ jobs:
# code from the PR.
ref: refs/pull/${{ github.event.pull_request.number }}/merge
submodules: recursive
persist-credentials: false
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
Expand Down
8 changes: 2 additions & 6 deletions .github/workflows/lint_pr.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
name: lint-pr

on:
pull_request_target:
pull_request:
types:
- opened
- edited
- synchronize

permissions:
# read-only perms specified due to use of pull_request_target in lieu of security label check
pull-requests: read

jobs:
validate-title:
if:
github.repository == 'feast-dev/feast'
github.event.pull_request.base.repo.full_name == 'feast-dev/feast'
name: Validate PR title
runs-on: ubuntu-latest
steps:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/pr_integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ on:
#concurrency:
# group: pr-integration-tests-${{ github.event.pull_request.number }}
# cancel-in-progress: true
permissions:
actions: write
pull-requests: read

jobs:
integration-test-python:
Expand Down Expand Up @@ -46,6 +49,7 @@ jobs:
# code from the PR.
ref: refs/pull/${{ github.event.pull_request.number }}/merge
submodules: recursive
persist-credentials: false
- name: Setup Python
uses: actions/setup-python@v5
id: setup-python
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/pr_local_integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,18 @@ name: pr-local-integration-tests
# This runs local tests with containerized stubs of online stores. This is the main dev workflow

on:
pull_request_target:
pull_request:
types:
- opened
- synchronize
- labeled

jobs:
integration-test-python-local:
# when using pull_request_target, all jobs MUST have this if check for 'ok-to-test' or 'approved' for security purposes.
if:
((github.event.action == 'labeled' && (github.event.label.name == 'approved' || github.event.label.name == 'lgtm' || github.event.label.name == 'ok-to-test')) ||
(github.event.action != 'labeled' && (contains(github.event.pull_request.labels.*.name, 'ok-to-test') || contains(github.event.pull_request.labels.*.name, 'approved') || contains(github.event.pull_request.labels.*.name, 'lgtm')))) &&
github.repository == 'feast-dev/feast'
github.event.pull_request.base.repo.full_name == 'feast-dev/feast'
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand All @@ -27,10 +26,9 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
# pull_request_target runs the workflow in the context of the base repo
# as such actions/checkout needs to be explicit configured to retrieve
# code from the PR.
ref: refs/pull/${{ github.event.pull_request.number }}/merge
repository: ${{ github.event.repository.full_name }} # Uses the full repository name
ref: ${{ github.ref }} # Uses the ref from the event
token: ${{ secrets.GITHUB_TOKEN }} # Automatically provided token
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ jobs:
runs-on: ubuntu-latest
needs: [build_wheels]
steps:
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v4.1.7
with:
name: wheels
path: dist
Expand Down
38 changes: 38 additions & 0 deletions .github/workflows/smoke_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: smoke-tests

on: [pull_request]
jobs:
unit-test-python:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: [ "3.9", "3.10", "3.11"]
os: [ ubuntu-latest ]
env:
OS: ${{ matrix.os }}
PYTHON: ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v4
- name: Setup Python
id: setup-python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Get uv cache dir
id: uv-cache
run: |
echo "::set-output name=dir::$(uv cache dir)"
- name: uv cache
uses: actions/cache@v4
with:
path: ${{ steps.uv-cache.outputs.dir }}
key: ${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-uv-${{ hashFiles(format('**/py{0}-ci-requirements.txt', env.PYTHON)) }}
- name: Install dependencies
run: make install-python-dependencies-uv
- name: Test Imports
run: python -c "from feast import cli"
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,6 @@ dmypy.json

# Protos
sdk/python/docs/html
sdk/python/feast/protos/
sdk/go/protos/
go/protos/

Expand Down
2 changes: 1 addition & 1 deletion .releaserc.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ module.exports = {
"CHANGELOG.md",
"java/pom.xml",
"infra/charts/**/*.*",
"infra/feast-operator/**/*.*",
"infra/feast-operator/**/*",
"ui/package.json",
"sdk/python/feast/ui/package.json",
"sdk/python/feast/ui/yarn.lock"
Expand Down
36 changes: 4 additions & 32 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
# for more info about CODEOWNERS file

# Core Interfaces
/sdk/python/feast/infra/offline_stores/offline_store.py @feast-dev/maintainers @sfc-gh-madkins
/sdk/python/feast/infra/online_stores/online_store.py @feast-dev/maintainers @DvirDukhan
/sdk/python/feast/infra/materialization_engine/batch_materialization_engine.py @feast-dev/maintainers @whoahbot @sfc-gh-madkins
/sdk/python/feast/infra/offline_stores/offline_store.py @feast-dev/maintainers
/sdk/python/feast/infra/online_stores/online_store.py @feast-dev/maintainers
/sdk/python/feast/infra/materialization_engine/batch_materialization_engine.py @feast-dev/maintainers

# ==== Offline Stores ====
# Core utils
/sdk/python/feast/infra/offline_stores/offline_utils.py @feast-dev/maintainers @sfc-gh-madkins
/sdk/python/feast/infra/offline_stores/offline_utils.py @feast-dev/maintainers

# Offline interfaces
/sdk/python/feast/infra/offline_stores/offline_store.py @feast-dev/maintainers
Expand All @@ -18,38 +18,10 @@
/sdk/python/feast/infra/offline_stores/bigquery_source.py @sudohainguyen
/sdk/python/tests/integration/feature_repos/universal/data_sources/bigquery.py @sudohainguyen

# Snowflake
/sdk/python/feast/infra/offline_stores/snowflake* @sfc-gh-madkins

# Athena (contrib)
/sdk/python/feast/infra/offline_stores/contrib/athena_offline_store/ @toping4445

# Azure SQL (contrib)
/sdk/python/feast/infra/offline_stores/contrib/mssql_offline_store/ @kevjumba

# Spark (contrib)
/sdk/python/feast/infra/offline_stores/contrib/spark_offline_store/ @niklasvm @kevjumba

# ==== Online Stores ====

# HBase
/sdk/python/feast/infra/online_stores/hbase.py @sudohainguyen
/sdk/python/feast/infra/online_stores/contrib/hbase_online_store @sudohainguyen

# Redis
/sdk/python/feast/infra/online_stores/redis.py @DvirDukhan
/java/feast/serving/connectors/redis/ @DvirDukhan

# Snowflake
/sdk/python/feast/infra/online_stores/snowflake.py @sfc-gh-madkins

# Cassandra (contrib)
/sdk/python/feast/infra/online_stores/cassandra_online_store/ @hemidactylus

# ==== Batch Materialization Engines ====

# Snowflake
/sdk/python/feast/infra/materialization/snowflake* @sfc-gh-madkins

# AWS Lambda
/sdk/python/feast/infra/materialization/contrib/aws_lambda/ @achals
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<h1>Development Guide: Main Feast Repository</h1>

> Please see [Development Guide](https://docs.feast.dev/project/development-guide) for project level development instructions, including instructions for Maintainers.
> Please see [Development Guide](docs/project/development-guide.md) for project level development instructions, including instructions for Maintainers.
50 changes: 26 additions & 24 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ ifeq ($(shell uname -s), Darwin)
OS = osx
endif
TRINO_VERSION ?= 376
PYTHON_VERSION = ${shell python --version | grep -Eo '[0-9]\.[0-9]+'}

# General

Expand All @@ -36,44 +37,48 @@ build: protos build-java build-docker

# Python SDK

install-python-dependencies-uv:
uv pip sync --system sdk/python/requirements/py$(PYTHON_VERSION)-requirements.txt
uv pip install --system --no-deps .

install-python-dependencies-uv-venv:
uv pip sync sdk/python/requirements/py$(PYTHON_VERSION)-requirements.txt
uv pip install --no-deps .

install-python-ci-dependencies:
python -m piptools sync sdk/python/requirements/py$(PYTHON)-ci-requirements.txt
python -m piptools sync sdk/python/requirements/py$(PYTHON_VERSION)-ci-requirements.txt
pip install --no-deps -e .
python setup.py build_python_protos --inplace

install-python-ci-dependencies-uv:
uv pip sync --system sdk/python/requirements/py$(PYTHON)-ci-requirements.txt
uv pip sync --system sdk/python/requirements/py$(PYTHON_VERSION)-ci-requirements.txt
uv pip install --system --no-deps -e .
python setup.py build_python_protos --inplace

install-python-ci-dependencies-uv-venv:
uv pip sync sdk/python/requirements/py$(PYTHON)-ci-requirements.txt
uv pip sync sdk/python/requirements/py$(PYTHON_VERSION)-ci-requirements.txt
uv pip install --no-deps -e .
python setup.py build_python_protos --inplace

lock-python-ci-dependencies:
uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py$(PYTHON)-ci-requirements.txt

package-protos:
cp -r ${ROOT_DIR}/protos ${ROOT_DIR}/sdk/python/feast/protos
uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py$(PYTHON_VERSION)-ci-requirements.txt

compile-protos-python:
python setup.py build_python_protos --inplace
python infra/scripts/generate_protos.py

install-python:
python -m piptools sync sdk/python/requirements/py$(PYTHON)-requirements.txt
python -m piptools sync sdk/python/requirements/py$(PYTHON_VERSION)-requirements.txt
python setup.py develop

lock-python-dependencies:
uv pip compile --system --no-strip-extras setup.py --output-file sdk/python/requirements/py$(PYTHON)-requirements.txt
uv pip compile --system --no-strip-extras setup.py --output-file sdk/python/requirements/py$(PYTHON_VERSION)-requirements.txt

lock-python-dependencies-all:
pixi run --environment py39 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.9-requirements.txt"
pixi run --environment py39 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.9-ci-requirements.txt"
pixi run --environment py310 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.10-requirements.txt"
pixi run --environment py310 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.10-ci-requirements.txt"
pixi run --environment py311 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.11-requirements.txt"
pixi run --environment py311 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.11-ci-requirements.txt"
# Remove all existing requirements because we noticed the lock file is not always updated correctly. Removing and running the command again ensures that the lock file is always up to date.
rm -r sdk/python/requirements/*
pixi run --environment py39 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.9 --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.9-requirements.txt"
pixi run --environment py39 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.9 --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.9-ci-requirements.txt"
pixi run --environment py310 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.10 --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.10-requirements.txt"
pixi run --environment py310 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.10 --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.10-ci-requirements.txt"
pixi run --environment py311 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.11 --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.11-requirements.txt"
pixi run --environment py311 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.11 --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.11-ci-requirements.txt"

benchmark-python:
IS_TEST=True python -m pytest --integration --benchmark --benchmark-autosave --benchmark-save-data sdk/python/tests
Expand All @@ -85,14 +90,14 @@ test-python-unit:
python -m pytest -n 8 --color=yes sdk/python/tests

test-python-integration:
python -m pytest -n 8 --integration --color=yes --durations=10 --timeout=1200 --timeout_method=thread \
python -m pytest -n 8 --integration --color=yes --durations=10 --timeout=1200 --timeout_method=thread --dist loadgroup \
-k "(not snowflake or not test_historical_features_main)" \
sdk/python/tests

test-python-integration-local:
FEAST_IS_LOCAL_TEST=True \
FEAST_LOCAL_ONLINE_CONTAINER=True \
python -m pytest -n 8 --color=yes --integration --durations=5 --dist loadgroup \
python -m pytest -n 8 --color=yes --integration --durations=10 --timeout=1200 --timeout_method=thread --dist loadgroup \
-k "not test_lambda_materialization and not test_snowflake_materialization" \
sdk/python/tests

Expand Down Expand Up @@ -394,9 +399,6 @@ test-trino-plugin-locally:
kill-trino-locally:
cd ${ROOT_DIR}; docker stop trino

install-protoc-dependencies:
pip install --ignore-installed protobuf==4.24.0 "grpcio-tools>=1.56.2,<2" mypy-protobuf==3.1.0

# Docker

build-docker: build-feature-server-python-aws-docker build-feature-transformation-server-docker build-feature-server-java-docker
Expand Down
Loading
Loading