diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml
index 4a6bc34d093..0e99fe8ba62 100644
--- a/.github/workflows/build_wheels.yml
+++ b/.github/workflows/build_wheels.yml
@@ -66,7 +66,7 @@ jobs:
uses: pypa/cibuildwheel@v2.7.0
env:
CIBW_BUILD: "cp3*_x86_64"
- CIBW_SKIP: "cp36-* cp37-* *-musllinux_x86_64 cp310-macosx_x86_64"
+ CIBW_SKIP: "cp36-* *-musllinux_x86_64 cp310-macosx_x86_64"
CIBW_ARCHS: "native"
CIBW_ENVIRONMENT: >
COMPILE_GO=True PATH=$PATH:/usr/local/go/bin
@@ -150,7 +150,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-10.15 ]
- python-version: [ "3.8", "3.9", "3.10"]
+ python-version: [ "3.7", "3.8", "3.9", "3.10"]
from-source: [ True, False ]
env:
# this script is for testing servers
@@ -190,12 +190,12 @@ jobs:
- name: Install apache-arrow on ubuntu
if: ${{ matrix.from-source && matrix.os == 'ubuntu-latest' }}
run: |
- sudo apt update
- sudo apt install -y -V ca-certificates lsb-release wget
- wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
- sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
- sudo apt update
- sudo apt install -y -V libarrow-dev
+ sudo apt update
+ sudo apt install -y -V ca-certificates lsb-release wget
+ wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
+ sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
+ sudo apt update
+ sudo apt install -y -V libarrow-dev
- name: Install apache-arrow on macos
if: ${{ matrix.from-source && matrix.os == 'macos-10.15' && matrix.python-version != '3.10' }}
run: brew install apache-arrow
@@ -204,7 +204,7 @@ jobs:
env:
COMPILE_GO: "True"
run: |
- pip install 'grpcio-tools==1.47.0' 'pybindgen==0.22.0'
+ pip install 'grpcio-tools==1.48.0' 'pybindgen==0.22.0'
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26.0
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0
pip install dist/*tar.gz
diff --git a/.github/workflows/nightly-ci.yml b/.github/workflows/nightly-ci.yml
deleted file mode 100644
index fead5124081..00000000000
--- a/.github/workflows/nightly-ci.yml
+++ /dev/null
@@ -1,191 +0,0 @@
-name: nightly-ci
-
-on:
- schedule:
- - cron: '00 08 * * *' # early morning 08:00 AM UTC, which is 1 AM PST/4 AM EST.
-
-# concurrency is currently broken, see details https://github.com/actions/runner/issues/1532
-#concurrency:
-# group: pr-integration-tests-${{ github.event.pull_request.number }}
-# cancel-in-progress: true
-
-jobs:
- check_date:
- runs-on: ubuntu-latest
- name: Check latest commit
- outputs:
- WAS_EDITED: ${{ steps.check_date.outputs.WAS_EDITED }}
- steps:
- - uses: actions/checkout@v2
- with:
- ref: master
- - id: check_date
- name: Check if there were commits in the last day
- if: ${{ github.event_name == 'schedule' }}
- run: echo '::set-output name=WAS_EDITED::'$(test -n "$(git log --format=%H --since='24 hours ago')" && echo 'true' || echo 'false')
- build-docker-image:
- needs: [check_date]
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- with:
- ref: master
- submodules: recursive
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v1
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
- with:
- install: true
- - name: Set up AWS SDK
- uses: aws-actions/configure-aws-credentials@v1
- with:
- aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
- aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- aws-region: us-west-2
- - name: Login to Amazon ECR
- id: login-ecr
- uses: aws-actions/amazon-ecr-login@v1
- - name: Set ECR image tag
- id: image-tag
- run: echo "::set-output name=DOCKER_IMAGE_TAG::`git rev-parse HEAD`"
- - name: Cache Public ECR Image
- id: lambda_python_3_9
- uses: actions/cache@v2
- with:
- path: ~/cache
- key: lambda_python_3_9
- - name: Handle Cache Miss (pull public ECR image & save it to tar file)
- if: steps.cache-primes.outputs.cache-hit != 'true'
- run: |
- mkdir -p ~/cache
- docker pull public.ecr.aws/lambda/python:3.9
- docker save public.ecr.aws/lambda/python:3.9 -o ~/cache/lambda_python_3_9.tar
- - name: Handle Cache Hit (load docker image from tar file)
- if: steps.cache-primes.outputs.cache-hit == 'true'
- run: |
- docker load -i ~/cache/lambda_python_3_9.tar
- - name: Build and push
- env:
- ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
- ECR_REPOSITORY: feast-python-server
- run: |
- docker build \
- --file sdk/python/feast/infra/feature_servers/aws_lambda/Dockerfile \
- --tag $ECR_REGISTRY/$ECR_REPOSITORY:${{ steps.image-tag.outputs.DOCKER_IMAGE_TAG }} \
- --load \
- .
- docker push $ECR_REGISTRY/$ECR_REPOSITORY:${{ steps.image-tag.outputs.DOCKER_IMAGE_TAG }}
- outputs:
- DOCKER_IMAGE_TAG: ${{ steps.image-tag.outputs.DOCKER_IMAGE_TAG }}
- integration-test-python:
- needs: [check_date, build-docker-image]
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- python-version: [ "3.8" ]
- os: [ ubuntu-latest ]
- env:
- OS: ${{ matrix.os }}
- PYTHON: ${{ matrix.python-version }}
- services:
- redis:
- image: redis
- ports:
- - 6379:6379
- options: >-
- --health-cmd "redis-cli ping"
- --health-interval 10s
- --health-timeout 5s
- --health-retries 5
- steps:
- - uses: actions/checkout@v2
- with:
- ref: master
- submodules: recursive
- - name: Setup Python
- uses: actions/setup-python@v2
- id: setup-python
- with:
- python-version: ${{ matrix.python-version }}
- architecture: x64
- - name: Setup Go
- id: setup-go
- uses: actions/setup-go@v2
- with:
- go-version: 1.18.0
- - name: Set up gcloud SDK
- uses: google-github-actions/setup-gcloud@v0
- with:
- project_id: ${{ secrets.GCP_PROJECT_ID }}
- service_account_key: ${{ secrets.GCP_SA_KEY }}
- export_default_credentials: true
- - name: Use gcloud CLI
- run: gcloud info
- - name: Set up AWS SDK
- uses: aws-actions/configure-aws-credentials@v1
- with:
- aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
- aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- aws-region: us-west-2
- - name: Use AWS CLI
- run: aws sts get-caller-identity
- - name: Upgrade pip version
- run: |
- pip install --upgrade "pip>=21.3.1,<22.1"
- - name: Get pip cache dir
- id: pip-cache
- run: |
- echo "::set-output name=dir::$(pip cache dir)"
- - name: pip cache
- uses: actions/cache@v2
- with:
- path: |
- ${{ steps.pip-cache.outputs.dir }}
- /opt/hostedtoolcache/Python
- /Users/runner/hostedtoolcache/Python
- key: ${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-pip-${{ hashFiles(format('**/py{0}-ci-requirements.txt', env.PYTHON)) }}
- restore-keys: |
- ${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-pip-
- - name: Install pip-tools
- run: pip install pip-tools
- - name: Install apache-arrow on ubuntu
- if: matrix.os == 'ubuntu-latest'
- run: |
- sudo apt update
- sudo apt install -y -V ca-certificates lsb-release wget
- wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
- sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
- sudo apt update
- sudo apt install -y -V libarrow-dev
- - name: Install apache-arrow on macos
- if: matrix.os == 'macOS-latest'
- run: brew install apache-arrow
- - name: Install dependencies
- run: make install-python-ci-dependencies
- - name: Setup Redis Cluster
- run: |
- docker pull vishnunair/docker-redis-cluster:latest
- docker run -d -p 6001:6379 -p 6002:6380 -p 6003:6381 -p 6004:6382 -p 6005:6383 -p 6006:6384 --name redis-cluster vishnunair/docker-redis-cluster
- - name: Test python
- if: ${{ always() }} # this will guarantee that step won't be canceled and resources won't leak
- env:
- FEAST_SERVER_DOCKER_IMAGE_TAG: ${{ needs.build-docker-image.outputs.DOCKER_IMAGE_TAG }}
- FEAST_USAGE: "False"
- IS_TEST: "True"
- SNOWFLAKE_CI_DEPLOYMENT: ${{ secrets.SNOWFLAKE_CI_DEPLOYMENT }}
- SNOWFLAKE_CI_USER: ${{ secrets.SNOWFLAKE_CI_USER }}
- SNOWFLAKE_CI_PASSWORD: ${{ secrets.SNOWFLAKE_CI_PASSWORD }}
- SNOWFLAKE_CI_ROLE: ${{ secrets.SNOWFLAKE_CI_ROLE }}
- SNOWFLAKE_CI_WAREHOUSE: ${{ secrets.SNOWFLAKE_CI_WAREHOUSE }}
- run: pytest -n 8 --cov=./ --cov-report=xml --color=yes sdk/python/tests --integration --durations=5 --timeout=1200 --timeout_method=thread
- - name: Upload coverage to Codecov
- uses: codecov/codecov-action@v1
- with:
- token: ${{ secrets.CODECOV_TOKEN }}
- files: ./coverage.xml
- flags: integrationtests
- env_vars: OS,PYTHON
- fail_ci_if_error: true
- verbose: true
\ No newline at end of file
diff --git a/.github/workflows/pr_integration_tests.yml b/.github/workflows/pr_integration_tests.yml
index 8f64950a300..db9e48fc2d8 100644
--- a/.github/workflows/pr_integration_tests.yml
+++ b/.github/workflows/pr_integration_tests.yml
@@ -191,4 +191,4 @@ jobs:
flags: integrationtests
env_vars: OS,PYTHON
fail_ci_if_error: true
- verbose: true
\ No newline at end of file
+ verbose: true
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f49d066770e..9307e4ccf30 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,16 @@
# Changelog
+## [0.22.2](https://github.com/feast-dev/feast/compare/v0.22.1...v0.22.2) (2022-07-29)
+
+
+### Reverts
+
+* **ci:** "Fix night ci syntax error and update readme ([#2935](https://github.com/feast-dev/feast/issues/2935))" ([31f54c8](https://github.com/feast-dev/feast/commit/31f54c8c41319a217c0f606c9a72544031c22a41))
+* **ci:** fix: Fix nightly ci again ([#2939](https://github.com/feast-dev/feast/issues/2939)). This reverts commit c36361951d29714392b1def6e54f83ae45cd5d9a. ([33cbaeb](https://github.com/feast-dev/feast/commit/33cbaeb7bade95e25a3921826c57f4e3b58b309d))
+* **ci:** Revert "ci: Add a nightly CI job for integration tests ([#2652](https://github.com/feast-dev/feast/issues/2652))" ([d4bb394](https://github.com/feast-dev/feast/commit/d4bb3943c1b4be10af5a2f624d771c217f63a63c))
+* **ci:** Revert "fix: Deprecate 3.7 wheels and fix verification workflow ([#2934](https://github.com/feast-dev/feast/issues/2934))" ([efadb22](https://github.com/feast-dev/feast/commit/efadb22e811e76a49ebd42f20d4363b4bfc876a9))
+* Revert "fix: Change numpy version on setup.py and upgrade it to resolve dependabot warning ([#2887](https://github.com/feast-dev/feast/issues/2887))" ([87190cb](https://github.com/feast-dev/feast/commit/87190cbce867dd3a9130c3d59c79bdc2b4cddbee))
+
## [0.22.1](https://github.com/feast-dev/feast/compare/v0.22.0...v0.22.1) (2022-07-19)
diff --git a/Makefile b/Makefile
index 915ac907f7c..288da43fcdc 100644
--- a/Makefile
+++ b/Makefile
@@ -196,7 +196,7 @@ install-go-ci-dependencies:
python -m pip install pybindgen==0.22.0 protobuf==3.20.1
install-protoc-dependencies:
- pip install grpcio-tools==1.47.0 mypy-protobuf==3.1.0
+ pip install grpcio-tools==1.48.0 mypy-protobuf==3.1.0
compile-protos-go: install-go-proto-dependencies install-protoc-dependencies
python setup.py build_go_protos
diff --git a/README.md b/README.md
index 64f6c5940fb..84de59f65ef 100644
--- a/README.md
+++ b/README.md
@@ -139,7 +139,7 @@ The list below contains the functionality that contributors are planning to deve
* Items below that are in development (or planned for development) will be indicated in parentheses.
* We welcome contribution to all items in the roadmap!
-* Want to speak to a Feast contributor? We are more than happy to jump on a call. Please schedule a time using [Calendly](https://calendly.com/d/x2ry-g5bb/meet-with-feast-team).
+* Have questions about the roadmap? Go to the Slack channel to ask on #feast-development
* **Data Sources**
* [x] [Snowflake source](https://docs.feast.dev/reference/data-sources/snowflake)
@@ -151,7 +151,6 @@ The list below contains the functionality that contributors are planning to deve
* [x] [Postgres (contrib plugin)](https://docs.feast.dev/reference/data-sources/postgres)
* [x] [Spark (contrib plugin)](https://docs.feast.dev/reference/data-sources/spark)
* [x] Kafka / Kinesis sources (via [push support into the online store](https://docs.feast.dev/reference/data-sources/push))
- * [ ] HTTP source
* **Offline Stores**
* [x] [Snowflake](https://docs.feast.dev/reference/offline-stores/snowflake)
* [x] [Redshift](https://docs.feast.dev/reference/offline-stores/redshift)
@@ -184,30 +183,20 @@ The list below contains the functionality that contributors are planning to deve
* **Deployments**
* [x] AWS Lambda (Alpha release. See [RFC](https://docs.google.com/document/d/1eZWKWzfBif66LDN32IajpaG-j82LSHCCOzY6R7Ax7MI/edit))
* [x] Kubernetes (See [guide](https://docs.feast.dev/how-to-guides/running-feast-in-production#4.3.-java-based-feature-server-deployed-on-kubernetes))
- * [ ] Cloud Run
- * [ ] KNative
* **Feature Serving**
* [x] Python Client
- * [x] REST Feature Server (Python) (Alpha release. See [RFC](https://docs.google.com/document/d/1iXvFhAsJ5jgAhPOpTdB3j-Wj1S9x3Ev\_Wr6ZpnLzER4/edit))
- * [x] gRPC Feature Server (Java) (See [#1497](https://github.com/feast-dev/feast/issues/1497))
- * [x] Push API
- * [ ] Java Client
- * [ ] Go Client
- * [ ] Delete API
- * [ ] Feature Logging (for training)
+ * [x] REST Feature Server (Python) (See [RFC](https://docs.google.com/document/d/1iXvFhAsJ5jgAhPOpTdB3j-Wj1S9x3Ev\_Wr6ZpnLzER4/edit))
+ * [x] REST / gRPC Feature Server (Go) (Alpha release. See [docs](https://docs.feast.dev/reference/feature-servers/go-feature-retrieval)
+ * [x] gRPC Feature Server (Java) (Alpha release. See [#1497](https://github.com/feast-dev/feast/issues/1497))
* **Data Quality Management (See [RFC](https://docs.google.com/document/d/110F72d4NTv80p35wDSONxhhPBqWRwbZXG4f9mNEMd98/edit))**
* [x] Data profiling and validation (Great Expectations)
- * [ ] Training-serving skew detection (in progress)
- * [ ] Metric production
- * [ ] Drift detection
* **Feature Discovery and Governance**
* [x] Python SDK for browsing feature registry
* [x] CLI for browsing feature registry
* [x] Model-centric feature tracking (feature services)
* [x] Amundsen integration (see [Feast extractor](https://github.com/amundsen-io/amundsen/blob/main/databuilder/databuilder/extractor/feast_extractor.py))
+ * [x] DataHub integration (see [DataHub Feast docs](https://datahubproject.io/docs/generated/ingestion/sources/feast/))
* [x] Feast Web UI (Alpha release. See [documentation](https://docs.feast.dev/reference/alpha-web-ui))
- * [ ] REST API for browsing feature registry
-
## 🎓 Important Resources
@@ -230,4 +219,4 @@ Thanks goes to these incredible people:
-
\ No newline at end of file
+
diff --git a/docs/community.md b/docs/community.md
index c0ead3dda1a..dc1cc8a0fe8 100644
--- a/docs/community.md
+++ b/docs/community.md
@@ -1,16 +1,11 @@
# Community
-{% hint style="success" %}
-**Speak to us:** Have a question, feature request, idea, or just looking to speak to a real person? Set up a meeting with a Feast maintainer over [here](https://calendly.com/d/x2ry-g5bb/meet-with-feast-team)!
-{% endhint %}
-
## Links & Resources
* [Slack](https://slack.feast.dev): Feel free to ask questions or say hello!
* [Mailing list](https://groups.google.com/d/forum/feast-dev): We have both a user and developer mailing list.
* Feast users should join [feast-discuss@googlegroups.com](mailto:feast-discuss@googlegroups.com) group by clicking [here](https://groups.google.com/g/feast-discuss).
* Feast developers should join [feast-dev@googlegroups.com](mailto:feast-dev@googlegroups.com) group by clicking [here](https://groups.google.com/d/forum/feast-dev).
- * People interested in the Feast community newsletter should join feast-announce by clicking [here](https://groups.google.com/d/forum/feast-announce).
* [Community Calendar](https://calendar.google.com/calendar/u/0?cid=ZTFsZHVhdGM3MDU3YTJucTBwMzNqNW5rajBAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ): Includes community calls and design meetings.
* [Google Folder](https://drive.google.com/drive/u/0/folders/1jgMHOPDT2DvBlJeO9LCM79DP4lm4eOrR): This folder is used as a central repository for all Feast resources. For example:
* Design proposals in the form of Request for Comments (RFC).
@@ -27,7 +22,7 @@
## Community Calls
-We have a user and contributor community call every two weeks (Asia & US friendly).
+We have a user and contributor community call every two weeks (US & EU friendly).
{% hint style="info" %}
Please join the above Feast user groups in order to see calendar invites to the community calls
diff --git a/docs/getting-started/feast-workshop.md b/docs/getting-started/feast-workshop.md
index c883625dac9..8b6778c2d36 100644
--- a/docs/getting-started/feast-workshop.md
+++ b/docs/getting-started/feast-workshop.md
@@ -30,13 +30,15 @@ _See also:_ [_Feast quickstart_](https://docs.feast.dev/getting-started/quicksta
These are meant mostly to be done in order, with examples building on previous concepts.
-| Time (min) | Description | Module |
-| :--------: | ----------------------------------------------------------------------- | --------------------------------------------------------------------------- |
-| 30-45 | Setting up Feast projects & CI/CD + powering batch predictions | [Module 0](https://github.com/feast-dev/feast-workshop/tree/main/module\_0) |
-| 15-20 | Streaming ingestion & online feature retrieval with Kafka, Spark, Redis | [Module 1](https://github.com/feast-dev/feast-workshop/tree/main/module\_1) |
-| 10-15 | Real-time feature engineering with on demand transformations | [Module 2](https://github.com/feast-dev/feast-workshop/tree/main/module\_2) |
-| TBD | Feature server deployment (embed, as a service, AWS Lambda) | TBD |
-| TBD | Versioning features / models in Feast | TBD |
-| TBD | Data quality monitoring in Feast | TBD |
-| TBD | Batch transformations | TBD |
-| TBD | Stream transformations | TBD |
+See https://github.com/feast-dev/feast-workshop
+
+| Time (min) | Description | Module |
+| :--------: | ----------------------------------------------------------------------- |-----------|
+| 30-45 | Setting up Feast projects & CI/CD + powering batch predictions | Module 0 |
+| 15-20 | Streaming ingestion & online feature retrieval with Kafka, Spark, Redis | Module 1 |
+| 10-15 | Real-time feature engineering with on demand transformations | Module 2 |
+| TBD | Feature server deployment (embed, as a service, AWS Lambda) | TBD |
+| TBD | Versioning features / models in Feast | TBD |
+| TBD | Data quality monitoring in Feast | TBD |
+| TBD | Batch transformations | TBD |
+| TBD | Stream transformations | TBD |
diff --git a/docs/getting-started/third-party-integrations.md b/docs/getting-started/third-party-integrations.md
index 8a862891f8d..ef47a11029d 100644
--- a/docs/getting-started/third-party-integrations.md
+++ b/docs/getting-started/third-party-integrations.md
@@ -11,55 +11,11 @@ Don't see your offline store or online store of choice here? Check out our guide
## Integrations
-### **Data Sources**
-
-* [x] [Snowflake source](https://docs.feast.dev/reference/data-sources/snowflake)
-* [x] [Redshift source](https://docs.feast.dev/reference/data-sources/redshift)
-* [x] [BigQuery source](https://docs.feast.dev/reference/data-sources/bigquery)
-* [x] [Parquet file source](https://docs.feast.dev/reference/data-sources/file)
-* [x] [Synapse source (community plugin)](https://github.com/Azure/feast-azure)
-* [x] [Hive (community plugin)](https://github.com/baineng/feast-hive)
-* [x] [Postgres (contrib plugin)](https://docs.feast.dev/reference/data-sources/postgres)
-* [x] [Spark (contrib plugin)](https://docs.feast.dev/reference/data-sources/spark)
-* [x] Kafka / Kinesis sources (via [push support into the online store](https://docs.feast.dev/reference/data-sources/push))
-* [ ] HTTP source
-
-### Offline Stores
-
-* [x] [Snowflake](https://docs.feast.dev/reference/offline-stores/snowflake)
-* [x] [Redshift](https://docs.feast.dev/reference/offline-stores/redshift)
-* [x] [BigQuery](https://docs.feast.dev/reference/offline-stores/bigquery)
-* [x] [Synapse (community plugin)](https://github.com/Azure/feast-azure)
-* [x] [Hive (community plugin)](https://github.com/baineng/feast-hive)
-* [x] [Postgres (contrib plugin)](https://docs.feast.dev/reference/offline-stores/postgres)
-* [x] [Trino (contrib plugin)](https://github.com/Shopify/feast-trino)
-* [x] [Spark (contrib plugin)](https://docs.feast.dev/reference/offline-stores/spark)
-* [x] [In-memory / Pandas](https://docs.feast.dev/reference/offline-stores/file)
-* [x] [Custom offline store support](https://docs.feast.dev/how-to-guides/adding-a-new-offline-store)
-
-### Online Stores
-
-* [x] [DynamoDB](https://docs.feast.dev/reference/online-stores/dynamodb)
-* [x] [Redis](https://docs.feast.dev/reference/online-stores/redis)
-* [x] [Datastore](https://docs.feast.dev/reference/online-stores/datastore)
-* [x] [SQLite](https://docs.feast.dev/reference/online-stores/sqlite)
-* [x] [Azure Cache for Redis (community plugin)](https://github.com/Azure/feast-azure)
-* [x] [Postgres (contrib plugin)](https://docs.feast.dev/reference/online-stores/postgres)
-* [x] [Custom online store support](https://docs.feast.dev/how-to-guides/adding-support-for-a-new-online-store)
-* [x] [Cassandra / AstraDB](https://github.com/datastaxdevs/feast-cassandra-online-store)
-* [ ] Bigtable (in progress)
-
-### **Deployments**
-
-* [x] AWS Lambda (Alpha release. See [guide](../reference/alpha-aws-lambda-feature-server.md) and [RFC](https://docs.google.com/document/d/1eZWKWzfBif66LDN32IajpaG-j82LSHCCOzY6R7Ax7MI/edit))
-* [x] Kubernetes (See [guide](https://docs.feast.dev/how-to-guides/running-feast-in-production#4.3.-java-based-feature-server-deployed-on-kubernetes))
-* [ ] Cloud Run
-* [ ] KNative
-
+See [Functionality and Roadmap](../../README.md#-functionality-and-roadmap)
## Standards
-In order for a plugin integration to be highlighted on this page, it must meet the following requirements:
+In order for a plugin integration to be highlighted, it must meet the following requirements:
1. The plugin must have tests. Ideally it would use the Feast universal tests (see this [guide](../how-to-guides/adding-or-reusing-tests.md) for an example), but custom tests are fine.
2. The plugin must have some basic documentation on how it should be used.
diff --git a/docs/project/development-guide.md b/docs/project/development-guide.md
index 6d5bee16af5..58e29a5ca78 100644
--- a/docs/project/development-guide.md
+++ b/docs/project/development-guide.md
@@ -11,85 +11,6 @@ This guide is targeted at developers looking to contribute to Feast:
> Learn How the Feast [Contributing Process](contributing.md) works.
-## Project Structure
-
-Feast is composed of [multiple components](../getting-started/architecture-and-components/) distributed into multiple repositories:
-
-
-
-
- | Repository |
- Description |
- Component(s) |
-
-
-
-
- | Main Feast Repository
- |
- Hosts all required code to run Feast. This includes the Feast Python SDK
- and Protobuf definitions. For legacy reasons this repository still contains
- Terraform config and a Go Client for Feast. |
-
-
- - Python SDK / CLI
-
- - Protobuf APIs
-
- - Documentation
-
- - Go Client
-
- - Terraform
-
-
- |
-
-
- | Feast Java
- |
- Java-specific Feast components. Includes the Feast Core Registry, Feast
- Serving for serving online feature values, and the Feast Java Client for
- retrieving feature values. |
-
-
- - Core
-
- - Serving
-
- - Java Client
-
-
- |
-
-
- | Feast Spark
- |
- Feast Spark SDK & Feast Job Service for launching ingestion jobs and
- for building training datasets with Spark |
-
-
- - Spark SDK
-
- - Job Service
-
-
- |
-
-
- | Feast Helm Chart
- |
- Helm Chart for deploying Feast on Kubernetes & Spark. |
-
-
- |
-
-
-
-
## Making a Pull Request
{% hint style="info" %}
@@ -148,5 +69,3 @@ The language specific bindings have to be regenerated when changes are made to t
| :--- | :--- | :--- |
| [Main Feast Repository](https://github.com/feast-dev/feast) | Python | Run `make compile-protos-python` to generate bindings |
| [Main Feast Repository](https://github.com/feast-dev/feast) | Golang | Run `make compile-protos-go` to generate bindings |
-| [Feast Java](https://github.com/feast-dev/feast-java) | Java | No action required: bindings are generated automatically during compilation. |
-
diff --git a/docs/project/new_branch_part_1.png b/docs/project/new_branch_part_1.png
new file mode 100644
index 00000000000..e8e59d82140
Binary files /dev/null and b/docs/project/new_branch_part_1.png differ
diff --git a/docs/project/new_branch_part_2.png b/docs/project/new_branch_part_2.png
new file mode 100644
index 00000000000..f94c2e3227b
Binary files /dev/null and b/docs/project/new_branch_part_2.png differ
diff --git a/docs/project/new_branch_part_3.png b/docs/project/new_branch_part_3.png
new file mode 100644
index 00000000000..34cbb807514
Binary files /dev/null and b/docs/project/new_branch_part_3.png differ
diff --git a/docs/project/new_branch_part_4.png b/docs/project/new_branch_part_4.png
new file mode 100644
index 00000000000..c9c3cc4352d
Binary files /dev/null and b/docs/project/new_branch_part_4.png differ
diff --git a/docs/project/new_branch_part_5.png b/docs/project/new_branch_part_5.png
new file mode 100644
index 00000000000..89b3a08cc63
Binary files /dev/null and b/docs/project/new_branch_part_5.png differ
diff --git a/docs/project/release-process.md b/docs/project/release-process.md
index f7102d13c39..e9f3295d919 100644
--- a/docs/project/release-process.md
+++ b/docs/project/release-process.md
@@ -28,3 +28,30 @@ For Feast maintainers, these are the concrete steps for making a new release.
4. Try the dry run first with your personal access token. If this succeeds, uncheck `Dry Run` and run the release workflow.
5. All of the jobs should succeed besides the UI job which needs to be released separately. Ping a maintainer on Slack to run the UI release manually.
6. Try to install the feast release in your local environment and test out the `feast init` -> `feast apply` workflow to verify as a sanity check that the release worked correctly.
+
+### (for minor releases) Post-release steps
+1. Create a new branch based on master (i.e. v0.22-branch) and push to the main Feast repo. This will be where cherry-picks go for future patch releases and where documentation will point.
+2. Write a summary of the release in the GitHub release
+ 1. By default, Semantic Release will pull in messages from commits (features vs fixes, etc). But this is hard to digest still, so it helps to have a high level overview.
+
+### Update documentation
+
+In the Feast Gitbook (ask [Danny Chiao](https://tectonfeast.slack.com/team/U029405HFEU) in Slack for access):
+1. Create a new space within the Feast collection
+2. Go to the overflow menu on the top -> Synchronize with Git
+ 1. Specify GitHub as the provider
+
+ 
+ 2. Configure to point to the new release branch
+
+ 
+3. Publish the new page for this branch as part of the collection
+
+ 
+4. Go back to the main Feast collection and go to the overflow menu -> "Customize collection"
+
+ 
+5. Configure the default space to be your new branch and save
+
+ 
+6. Verify on docs.feast.dev that this new space is the default (this may take a few minutes to propagate, and your browser cache may be caching the old branch as the default)
\ No newline at end of file
diff --git a/docs/project/versioning-policy.md b/docs/project/versioning-policy.md
index 8e516763552..b1ff2c75e74 100644
--- a/docs/project/versioning-policy.md
+++ b/docs/project/versioning-policy.md
@@ -23,24 +23,18 @@ In general, unless you're committing code that only applies to a particular rele
The following table shows the **status** \(stable, beta, or alpha\) of Feast components.
-Application status indicators for Feast:
+Component status indicators for Feast:
* **Stable** means that the component has reached a sufficient level of stability and adoption that the Feast community has deemed the component stable. Please see the stability criteria below.
* **Beta** means that the component is working towards a version 1.0 release. Beta does not mean a component is unstable, it simply means the component has not met the full criteria of stability.
* **Alpha** means that the component is in the early phases of development and/or integration into Feast.
-| Application | Status | Notes |
-| :--- | :--- | :--- |
-| [Feast Serving](https://github.com/feast-dev/feast-java) | Beta | APIs are considered stable and will not have breaking changes within 3 minor versions. |
-| [Feast Core](https://github.com/feast-dev/feast-java) | Beta | At risk of deprecation |
-| [Feast Java Client](https://github.com/feast-dev/feast-java) | Beta | |
-| [Feast Python SDK](https://github.com/feast-dev/feast) | Beta | |
-| [Feast Go Client](https://github.com/feast-dev/feast) | Beta | |
-| [Feast Spark Python SDK](https://github.com/feast-dev/feast-spark) | Alpha | |
-| [Feast Spark Launchers](https://github.com/feast-dev/feast-spark) | Alpha | |
-| [Feast Job Service](https://github.com/feast-dev/feast-spark) | Alpha | Scheduled for deprecation |
-| [Feast Helm Chart](https://github.com/feast-dev/feast-helm-charts) | Beta | |
-| | | |
+| Component | Status | Notes |
+|:---------------------------------------------------------------------------------|:-------| :--- |
+| [Feast Python SDK](https://github.com/feast-dev/feast/tree/master/sdk/python) | Stable | |
+| [Feast Go Feature Server](https://github.com/feast-dev/feast/tree/master/) | Beta | |
+| [Feast Java Feature Server](https://github.com/feast-dev/feast/tree/master/java) | Alpha | |
+| | | |
Criteria for reaching _**stable**_ status:
diff --git a/docs/roadmap.md b/docs/roadmap.md
index 8461256a15b..ae46eb9005f 100644
--- a/docs/roadmap.md
+++ b/docs/roadmap.md
@@ -4,7 +4,7 @@ The list below contains the functionality that contributors are planning to deve
* Items below that are in development (or planned for development) will be indicated in parentheses.
* We welcome contribution to all items in the roadmap!
-* Want to speak to a Feast contributor? We are more than happy to jump on a call. Please schedule a time using [Calendly](https://calendly.com/d/x2ry-g5bb/meet-with-feast-team).
+* Have questions about the roadmap? Go to the Slack channel to ask on #feast-development
* **Data Sources**
* [x] [Snowflake source](https://docs.feast.dev/reference/data-sources/snowflake)
@@ -16,7 +16,6 @@ The list below contains the functionality that contributors are planning to deve
* [x] [Postgres (contrib plugin)](https://docs.feast.dev/reference/data-sources/postgres)
* [x] [Spark (contrib plugin)](https://docs.feast.dev/reference/data-sources/spark)
* [x] Kafka / Kinesis sources (via [push support into the online store](https://docs.feast.dev/reference/data-sources/push))
- * [ ] HTTP source
* **Offline Stores**
* [x] [Snowflake](https://docs.feast.dev/reference/offline-stores/snowflake)
* [x] [Redshift](https://docs.feast.dev/reference/offline-stores/redshift)
@@ -49,26 +48,17 @@ The list below contains the functionality that contributors are planning to deve
* **Deployments**
* [x] AWS Lambda (Alpha release. See [RFC](https://docs.google.com/document/d/1eZWKWzfBif66LDN32IajpaG-j82LSHCCOzY6R7Ax7MI/edit))
* [x] Kubernetes (See [guide](https://docs.feast.dev/how-to-guides/running-feast-in-production#4.3.-java-based-feature-server-deployed-on-kubernetes))
- * [ ] Cloud Run
- * [ ] KNative
* **Feature Serving**
* [x] Python Client
- * [x] REST Feature Server (Python) (Alpha release. See [RFC](https://docs.google.com/document/d/1iXvFhAsJ5jgAhPOpTdB3j-Wj1S9x3Ev\_Wr6ZpnLzER4/edit))
- * [x] gRPC Feature Server (Java) (See [#1497](https://github.com/feast-dev/feast/issues/1497))
- * [x] Push API
- * [ ] Java Client
- * [ ] Go Client
- * [ ] Delete API
- * [ ] Feature Logging (for training)
+ * [x] REST Feature Server (Python) (See [RFC](https://docs.google.com/document/d/1iXvFhAsJ5jgAhPOpTdB3j-Wj1S9x3Ev\_Wr6ZpnLzER4/edit))
+ * [x] REST / gRPC Feature Server (Go) (Alpha release. See [docs](https://docs.feast.dev/reference/feature-servers/go-feature-retrieval)
+ * [x] gRPC Feature Server (Java) (Alpha release. See [#1497](https://github.com/feast-dev/feast/issues/1497))
* **Data Quality Management (See [RFC](https://docs.google.com/document/d/110F72d4NTv80p35wDSONxhhPBqWRwbZXG4f9mNEMd98/edit))**
* [x] Data profiling and validation (Great Expectations)
- * [ ] Training-serving skew detection (in progress)
- * [ ] Metric production
- * [ ] Drift detection
* **Feature Discovery and Governance**
* [x] Python SDK for browsing feature registry
* [x] CLI for browsing feature registry
* [x] Model-centric feature tracking (feature services)
* [x] Amundsen integration (see [Feast extractor](https://github.com/amundsen-io/amundsen/blob/main/databuilder/databuilder/extractor/feast_extractor.py))
- * [x] Feast Web UI (Alpha release. See [documentation](https://docs.feast.dev/reference/alpha-web-ui))
- * [ ] REST API for browsing feature registry
+ * [x] DataHub integration (see [DataHub Feast docs](https://datahubproject.io/docs/generated/ingestion/sources/feast/))
+ * [x] Feast Web UI (Alpha release. See [documentation](https://docs.feast.dev/reference/alpha-web-ui))
\ No newline at end of file
diff --git a/examples/quickstart/quickstart.ipynb b/examples/quickstart/quickstart.ipynb
index d29ee4fa35f..c7d0fcfe54d 100644
--- a/examples/quickstart/quickstart.ipynb
+++ b/examples/quickstart/quickstart.ipynb
@@ -949,45 +949,6 @@
"pprint(feature_vector)"
]
},
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "_dBcqkaCnOYv"
- },
- "source": [
- "## Step 7: Explore registered features with the Web UI"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 21,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 52
- },
- "id": "mCUPypyhl5TH",
- "outputId": "fb2475c3-b254-42e6-b638-7982d52d2a19"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "nohup: appending output to 'nohup.out'\n",
- "Open the Web UI at https://c6cuffvc4qm-496ff2e9c6d22116-8888-colab.googleusercontent.com/\n"
- ]
- }
- ],
- "source": [
- "from google.colab.output import eval_js\n",
- "host = eval_js(\"google.colab.kernel.proxyPort(8888)\")\n",
- "\n",
- "!nohup feast ui &\n",
- "\n",
- "print(f\"Open the Web UI at {host}\")"
- ]
- },
{
"cell_type": "markdown",
"metadata": {
diff --git a/infra/charts/feast-python-server/Chart.yaml b/infra/charts/feast-python-server/Chart.yaml
index 661701e164d..aace4f88cc9 100644
--- a/infra/charts/feast-python-server/Chart.yaml
+++ b/infra/charts/feast-python-server/Chart.yaml
@@ -2,7 +2,7 @@ apiVersion: v2
name: feast-python-server
description: Feast Feature Server in Python
type: application
-version: 0.22.1
+version: 0.22.2
keywords:
- machine learning
- big data
diff --git a/infra/charts/feast-python-server/README.md b/infra/charts/feast-python-server/README.md
index 0c1a1000a6b..358510e23d2 100644
--- a/infra/charts/feast-python-server/README.md
+++ b/infra/charts/feast-python-server/README.md
@@ -1,6 +1,6 @@
# feast-python-server
- 
+ 
Feast Feature Server in Python
diff --git a/infra/charts/feast/Chart.yaml b/infra/charts/feast/Chart.yaml
index c2d35bb2169..0ab010bb2fa 100644
--- a/infra/charts/feast/Chart.yaml
+++ b/infra/charts/feast/Chart.yaml
@@ -1,7 +1,7 @@
apiVersion: v1
description: Feature store for machine learning
name: feast
-version: 0.22.1
+version: 0.22.2
keywords:
- machine learning
- big data
diff --git a/infra/charts/feast/README.md b/infra/charts/feast/README.md
index e9e66a7e9aa..9105b0b5d11 100644
--- a/infra/charts/feast/README.md
+++ b/infra/charts/feast/README.md
@@ -8,7 +8,7 @@ This repo contains Helm charts for Feast components that are being installed on
## Chart: Feast
-Feature store for machine learning Current chart version is `0.22.1`
+Feature store for machine learning Current chart version is `0.22.2`
## Installation
@@ -55,8 +55,8 @@ For more details, please see: https://docs.feast.dev/how-to-guides/running-feast
| Repository | Name | Version |
|------------|------|---------|
| https://charts.helm.sh/stable | redis | 10.5.6 |
-| https://feast-helm-charts.storage.googleapis.com | feature-server(feature-server) | 0.22.1 |
-| https://feast-helm-charts.storage.googleapis.com | transformation-service(transformation-service) | 0.22.1 |
+| https://feast-helm-charts.storage.googleapis.com | feature-server(feature-server) | 0.22.2 |
+| https://feast-helm-charts.storage.googleapis.com | transformation-service(transformation-service) | 0.22.2 |
## Values
diff --git a/infra/charts/feast/charts/feature-server/Chart.yaml b/infra/charts/feast/charts/feature-server/Chart.yaml
index b61675c0f5f..c53e9906ca6 100644
--- a/infra/charts/feast/charts/feature-server/Chart.yaml
+++ b/infra/charts/feast/charts/feature-server/Chart.yaml
@@ -1,8 +1,8 @@
apiVersion: v1
description: "Feast Feature Server: Online feature serving service for Feast"
name: feature-server
-version: 0.22.1
-appVersion: v0.22.1
+version: 0.22.2
+appVersion: v0.22.2
keywords:
- machine learning
- big data
diff --git a/infra/charts/feast/charts/feature-server/README.md b/infra/charts/feast/charts/feature-server/README.md
index 7aac6d1296e..86b5fd26af9 100644
--- a/infra/charts/feast/charts/feature-server/README.md
+++ b/infra/charts/feast/charts/feature-server/README.md
@@ -1,6 +1,6 @@
# feature-server
- 
+ 
Feast Feature Server: Online feature serving service for Feast
@@ -17,7 +17,7 @@ Feast Feature Server: Online feature serving service for Feast
| envOverrides | object | `{}` | Extra environment variables to set |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| image.repository | string | `"feastdev/feature-server-java"` | Docker image for Feature Server repository |
-| image.tag | string | `"0.22.1"` | Image tag |
+| image.tag | string | `"0.22.2"` | Image tag |
| ingress.grpc.annotations | object | `{}` | Extra annotations for the ingress |
| ingress.grpc.auth.enabled | bool | `false` | Flag to enable auth |
| ingress.grpc.class | string | `"nginx"` | Which ingress controller to use |
diff --git a/infra/charts/feast/charts/feature-server/values.yaml b/infra/charts/feast/charts/feature-server/values.yaml
index ee1c65efac4..00d5ab400d3 100644
--- a/infra/charts/feast/charts/feature-server/values.yaml
+++ b/infra/charts/feast/charts/feature-server/values.yaml
@@ -5,7 +5,7 @@ image:
# image.repository -- Docker image for Feature Server repository
repository: feastdev/feature-server-java
# image.tag -- Image tag
- tag: 0.22.1
+ tag: 0.22.2
# image.pullPolicy -- Image pull policy
pullPolicy: IfNotPresent
diff --git a/infra/charts/feast/charts/transformation-service/Chart.yaml b/infra/charts/feast/charts/transformation-service/Chart.yaml
index d48e2b9358b..650773dd8e1 100644
--- a/infra/charts/feast/charts/transformation-service/Chart.yaml
+++ b/infra/charts/feast/charts/transformation-service/Chart.yaml
@@ -1,8 +1,8 @@
apiVersion: v1
description: "Transformation service: to compute on-demand features"
name: transformation-service
-version: 0.22.1
-appVersion: v0.22.1
+version: 0.22.2
+appVersion: v0.22.2
keywords:
- machine learning
- big data
diff --git a/infra/charts/feast/charts/transformation-service/README.md b/infra/charts/feast/charts/transformation-service/README.md
index d940e6181dc..395f92145df 100644
--- a/infra/charts/feast/charts/transformation-service/README.md
+++ b/infra/charts/feast/charts/transformation-service/README.md
@@ -1,6 +1,6 @@
# transformation-service
- 
+ 
Transformation service: to compute on-demand features
@@ -13,7 +13,7 @@ Transformation service: to compute on-demand features
| envOverrides | object | `{}` | Extra environment variables to set |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| image.repository | string | `"feastdev/feature-transformation-server"` | Docker image for Transformation Server repository |
-| image.tag | string | `"0.22.1"` | Image tag |
+| image.tag | string | `"0.22.2"` | Image tag |
| nodeSelector | object | `{}` | Node labels for pod assignment |
| podLabels | object | `{}` | Labels to be added to Feast Serving pods |
| replicaCount | int | `1` | Number of pods that will be created |
diff --git a/infra/charts/feast/charts/transformation-service/values.yaml b/infra/charts/feast/charts/transformation-service/values.yaml
index 55e8f75f4fa..830607da656 100644
--- a/infra/charts/feast/charts/transformation-service/values.yaml
+++ b/infra/charts/feast/charts/transformation-service/values.yaml
@@ -5,7 +5,7 @@ image:
# image.repository -- Docker image for Transformation Server repository
repository: feastdev/feature-transformation-server
# image.tag -- Image tag
- tag: 0.22.1
+ tag: 0.22.2
# image.pullPolicy -- Image pull policy
pullPolicy: IfNotPresent
diff --git a/infra/charts/feast/requirements.yaml b/infra/charts/feast/requirements.yaml
index bf8a1d0b553..0cc7653de2d 100644
--- a/infra/charts/feast/requirements.yaml
+++ b/infra/charts/feast/requirements.yaml
@@ -1,12 +1,12 @@
dependencies:
- name: feature-server
alias: feature-server
- version: 0.22.1
+ version: 0.22.2
condition: feature-server.enabled
repository: https://feast-helm-charts.storage.googleapis.com
- name: transformation-service
alias: transformation-service
- version: 0.22.1
+ version: 0.22.2
condition: transformation-service.enabled
repository: https://feast-helm-charts.storage.googleapis.com
- name: redis
diff --git a/java/pom.xml b/java/pom.xml
index a1e10a040bd..74e8261929f 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -38,7 +38,7 @@
- 0.22.1
+ 0.22.2
https://github.com/feast-dev/feast
UTF-8
diff --git a/java/serving/src/test/resources/docker-compose/feast10/Dockerfile b/java/serving/src/test/resources/docker-compose/feast10/Dockerfile
index dee7dcf84c4..dc26c804a9a 100644
--- a/java/serving/src/test/resources/docker-compose/feast10/Dockerfile
+++ b/java/serving/src/test/resources/docker-compose/feast10/Dockerfile
@@ -1,4 +1,4 @@
-FROM python:3.8
+FROM python:3.7
WORKDIR /usr/src/
diff --git a/sdk/python/feast/driver_test_data.py b/sdk/python/feast/driver_test_data.py
index 991b5391e85..117bfcbd9cb 100644
--- a/sdk/python/feast/driver_test_data.py
+++ b/sdk/python/feast/driver_test_data.py
@@ -98,7 +98,7 @@ def create_driver_hourly_stats_df(drivers, start_date, end_date) -> pd.DataFrame
"event_timestamp": [
pd.Timestamp(dt, unit="ms", tz="UTC").round("ms")
for dt in pd.date_range(
- start=start_date, end=end_date, freq="1H", inclusive="left"
+ start=start_date, end=end_date, freq="1H", closed="left"
)
]
# include a fixed timestamp for get_historical_features in the quickstart
diff --git a/sdk/python/requirements/py3.10-ci-requirements.txt b/sdk/python/requirements/py3.10-ci-requirements.txt
index e0b05ecaa08..d453eca1c27 100644
--- a/sdk/python/requirements/py3.10-ci-requirements.txt
+++ b/sdk/python/requirements/py3.10-ci-requirements.txt
@@ -4,7 +4,7 @@
#
# pip-compile --extra=ci --output-file=sdk/python/requirements/py3.10-ci-requirements.txt
#
-absl-py==1.1.0
+absl-py==1.2.0
# via tensorflow-metadata
adal==1.2.7
# via
@@ -50,7 +50,7 @@ async-timeout==4.0.2
# via
# aiohttp
# redis
-attrs==21.4.0
+attrs==22.1.0
# via
# aiohttp
# black
@@ -59,7 +59,7 @@ attrs==21.4.0
# pytest
avro==1.10.0
# via feast (setup.py)
-azure-core==1.24.1
+azure-core==1.24.2
# via
# adlfs
# azure-identity
@@ -69,7 +69,7 @@ azure-datalake-store==0.0.52
# via adlfs
azure-identity==1.10.0
# via adlfs
-azure-storage-blob==12.12.0
+azure-storage-blob==12.13.0
# via adlfs
babel==2.10.3
# via sphinx
@@ -103,7 +103,7 @@ certifi==2022.6.15
# msrest
# requests
# snowflake-connector-python
-cffi==1.15.0
+cffi==1.15.1
# via
# azure-datalake-store
# cryptography
@@ -130,7 +130,7 @@ colorama==0.4.5
# via
# feast (setup.py)
# great-expectations
-coverage[toml]==6.4.1
+coverage[toml]==6.4.2
# via pytest-cov
cryptography==35.0.0
# via
@@ -157,7 +157,7 @@ deprecation==2.1.0
# via testcontainers
dill==0.3.5.1
# via feast (setup.py)
-distlib==0.3.4
+distlib==0.3.5
# via virtualenv
docker==5.0.3
# via
@@ -171,15 +171,15 @@ entrypoints==0.4
# via altair
execnet==1.9.0
# via pytest-xdist
-executing==0.8.3
+executing==0.9.1
# via stack-data
-fastapi==0.78.0
+fastapi==0.79.0
# via feast (setup.py)
-fastavro==1.5.2
+fastavro==1.5.3
# via
# feast (setup.py)
# pandavro
-fastjsonschema==2.15.3
+fastjsonschema==2.16.1
# via nbformat
filelock==3.7.1
# via virtualenv
@@ -201,7 +201,7 @@ fsspec==2022.1.0
# s3fs
gcsfs==2022.1.0
# via feast (setup.py)
-google-api-core[grpc]==1.31.6
+google-api-core[grpc]==1.32.0
# via
# feast (setup.py)
# firebase-admin
@@ -211,7 +211,7 @@ google-api-core[grpc]==1.31.6
# google-cloud-core
# google-cloud-datastore
# google-cloud-firestore
-google-api-python-client==2.52.0
+google-api-python-client==2.55.0
# via firebase-admin
google-auth==1.35.0
# via
@@ -228,18 +228,18 @@ google-auth-oauthlib==0.5.2
# via gcsfs
google-cloud-bigquery==2.34.4
# via feast (setup.py)
-google-cloud-bigquery-storage==2.13.2
+google-cloud-bigquery-storage==2.14.1
# via feast (setup.py)
-google-cloud-core==1.7.2
+google-cloud-core==1.7.3
# via
# feast (setup.py)
# google-cloud-bigquery
# google-cloud-datastore
# google-cloud-firestore
# google-cloud-storage
-google-cloud-datastore==2.7.1
+google-cloud-datastore==2.8.0
# via feast (setup.py)
-google-cloud-firestore==2.5.3
+google-cloud-firestore==2.6.0
# via firebase-admin
google-cloud-storage==1.40.0
# via
@@ -252,14 +252,16 @@ google-resumable-media==1.3.3
# via
# google-cloud-bigquery
# google-cloud-storage
-googleapis-common-protos==1.56.3
+googleapis-common-protos==1.56.4
# via
# feast (setup.py)
# google-api-core
# tensorflow-metadata
great-expectations==0.14.13
# via feast (setup.py)
-grpcio==1.47.0
+greenlet==1.1.2
+ # via sqlalchemy
+grpcio==1.48.0
# via
# feast (setup.py)
# google-api-core
@@ -267,11 +269,11 @@ grpcio==1.47.0
# grpcio-reflection
# grpcio-testing
# grpcio-tools
-grpcio-reflection==1.47.0
+grpcio-reflection==1.48.0
# via feast (setup.py)
-grpcio-testing==1.47.0
+grpcio-testing==1.48.0
# via feast (setup.py)
-grpcio-tools==1.47.0
+grpcio-tools==1.48.0
# via feast (setup.py)
h11==0.13.0
# via uvicorn
@@ -285,7 +287,7 @@ httplib2==0.20.4
# google-auth-httplib2
httptools==0.4.0
# via uvicorn
-identify==2.5.1
+identify==2.5.2
# via pre-commit
idna==3.3
# via
@@ -293,7 +295,7 @@ idna==3.3
# requests
# snowflake-connector-python
# yarl
-imagesize==1.3.0
+imagesize==1.4.1
# via sphinx
importlib-metadata==4.12.0
# via great-expectations
@@ -322,13 +324,13 @@ jsonpatch==1.32
# via great-expectations
jsonpointer==2.3
# via jsonpatch
-jsonschema==4.6.1
+jsonschema==4.8.0
# via
# altair
# feast (setup.py)
# great-expectations
# nbformat
-jupyter-core==4.10.0
+jupyter-core==4.11.1
# via nbformat
locket==1.0.0
# via partd
@@ -336,13 +338,14 @@ markupsafe==2.1.1
# via
# jinja2
# moto
+ # werkzeug
matplotlib-inline==0.1.3
# via ipython
mccabe==0.6.1
# via flake8
minio==7.1.0
# via feast (setup.py)
-mistune==2.0.3
+mistune==2.0.4
# via great-expectations
mmh3==3.0.0
# via feast (setup.py)
@@ -370,7 +373,7 @@ multidict==6.0.2
# via
# aiohttp
# yarl
-mypy==0.961
+mypy==0.971
# via
# feast (setup.py)
# sqlalchemy
@@ -384,7 +387,7 @@ nbformat==5.4.0
# via great-expectations
nodeenv==1.7.0
# via pre-commit
-numpy==1.22.0
+numpy==1.21.6
# via
# altair
# feast (setup.py)
@@ -431,7 +434,7 @@ pexpect==4.8.0
# via ipython
pickleshare==0.7.5
# via ipython
-pip-tools==6.7.0
+pip-tools==6.8.0
# via feast (setup.py)
platformdirs==2.5.2
# via virtualenv
@@ -439,9 +442,9 @@ pluggy==1.0.0
# via pytest
ply==3.11
# via thriftpy2
-portalocker==2.4.0
+portalocker==2.5.1
# via msal-extensions
-pre-commit==2.19.0
+pre-commit==2.20.0
# via feast (setup.py)
prompt-toolkit==3.0.30
# via ipython
@@ -584,7 +587,7 @@ pyyaml==6.0
# uvicorn
redis==4.2.2
# via feast (setup.py)
-regex==2022.6.2
+regex==2022.7.25
# via black
requests==2.28.1
# via
@@ -613,7 +616,7 @@ requests-oauthlib==1.3.1
# msrest
responses==0.21.0
# via moto
-rsa==4.8
+rsa==4.9
# via google-auth
ruamel-yaml==0.17.17
# via great-expectations
@@ -638,7 +641,6 @@ six==1.16.0
# msrestazure
# pandavro
# python-dateutil
- # virtualenv
sniffio==1.2.0
# via anyio
snowballstemmer==2.2.0
@@ -695,7 +697,7 @@ tomli==2.0.1
# mypy
# pep517
# pytest
-toolz==0.11.2
+toolz==0.12.0
# via
# altair
# dask
@@ -710,7 +712,7 @@ traitlets==5.3.0
# jupyter-core
# matplotlib-inline
# nbformat
-trino==0.313.0
+trino==0.315.0
# via feast (setup.py)
typed-ast==1.5.4
# via black
@@ -720,23 +722,23 @@ types-protobuf==3.19.22
# via
# feast (setup.py)
# mypy-protobuf
-types-python-dateutil==2.8.18
+types-python-dateutil==2.8.19
# via feast (setup.py)
-types-pytz==2022.1.1
+types-pytz==2022.1.2
# via feast (setup.py)
-types-pyyaml==6.0.9
+types-pyyaml==6.0.11
# via feast (setup.py)
-types-redis==4.3.3
+types-redis==4.3.11
# via feast (setup.py)
-types-requests==2.28.0
+types-requests==2.28.5
# via feast (setup.py)
-types-setuptools==57.4.18
+types-setuptools==63.2.2
# via feast (setup.py)
types-tabulate==0.8.11
# via feast (setup.py)
-types-urllib3==1.26.15
+types-urllib3==1.26.17
# via types-requests
-typing-extensions==4.2.0
+typing-extensions==4.3.0
# via
# azure-core
# great-expectations
@@ -749,7 +751,7 @@ tzlocal==4.2
# via great-expectations
uritemplate==4.1.1
# via google-api-python-client
-urllib3==1.26.9
+urllib3==1.26.11
# via
# botocore
# feast (setup.py)
@@ -761,11 +763,11 @@ uvicorn[standard]==0.18.2
# via feast (setup.py)
uvloop==0.16.0
# via uvicorn
-virtualenv==20.15.1
+virtualenv==20.16.2
# via pre-commit
volatile==2.1.0
# via bowler
-watchfiles==0.15.0
+watchfiles==0.16.1
# via uvicorn
wcwidth==0.2.5
# via prompt-toolkit
@@ -773,7 +775,7 @@ websocket-client==1.3.3
# via docker
websockets==10.3
# via uvicorn
-werkzeug==2.1.2
+werkzeug==2.2.1
# via moto
wheel==0.37.1
# via pip-tools
@@ -786,7 +788,7 @@ xmltodict==0.13.0
# via moto
yarl==1.7.2
# via aiohttp
-zipp==3.8.0
+zipp==3.8.1
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
diff --git a/sdk/python/requirements/py3.10-requirements.txt b/sdk/python/requirements/py3.10-requirements.txt
index d4a4425aece..30b76b6aa8c 100644
--- a/sdk/python/requirements/py3.10-requirements.txt
+++ b/sdk/python/requirements/py3.10-requirements.txt
@@ -4,7 +4,7 @@
#
# pip-compile --output-file=sdk/python/requirements/py3.10-requirements.txt
#
-absl-py==1.1.0
+absl-py==1.2.0
# via tensorflow-metadata
anyio==3.6.1
# via
@@ -12,7 +12,7 @@ anyio==3.6.1
# watchfiles
appdirs==1.4.4
# via fissix
-attrs==21.4.0
+attrs==22.1.0
# via
# bowler
# jsonschema
@@ -38,30 +38,32 @@ dask==2022.1.1
# via feast (setup.py)
dill==0.3.5.1
# via feast (setup.py)
-fastapi==0.78.0
+fastapi==0.79.0
# via feast (setup.py)
-fastavro==1.5.2
+fastavro==1.5.3
# via
# feast (setup.py)
# pandavro
fissix==21.11.13
# via bowler
-fsspec==2022.5.0
+fsspec==2022.7.1
# via dask
google-api-core==2.8.2
# via feast (setup.py)
-google-auth==2.9.0
+google-auth==2.9.1
# via google-api-core
-googleapis-common-protos==1.56.3
+googleapis-common-protos==1.56.4
# via
# feast (setup.py)
# google-api-core
# tensorflow-metadata
-grpcio==1.47.0
+greenlet==1.1.2
+ # via sqlalchemy
+grpcio==1.48.0
# via
# feast (setup.py)
# grpcio-reflection
-grpcio-reflection==1.47.0
+grpcio-reflection==1.48.0
# via feast (setup.py)
h11==0.13.0
# via uvicorn
@@ -73,7 +75,7 @@ idna==3.3
# requests
jinja2==3.1.2
# via feast (setup.py)
-jsonschema==4.6.1
+jsonschema==4.8.0
# via feast (setup.py)
locket==1.0.0
# via partd
@@ -83,11 +85,11 @@ mmh3==3.0.0
# via feast (setup.py)
moreorless==0.4.0
# via bowler
-mypy==0.961
+mypy==0.971
# via sqlalchemy
mypy-extensions==0.4.3
# via mypy
-numpy==1.22.0
+numpy==1.21.6
# via
# feast (setup.py)
# pandas
@@ -144,7 +146,7 @@ pyyaml==6.0
# uvicorn
requests==2.28.1
# via google-api-core
-rsa==4.8
+rsa==4.9
# via google-auth
six==1.16.0
# via
@@ -170,7 +172,7 @@ toml==0.10.2
# via feast (setup.py)
tomli==2.0.1
# via mypy
-toolz==0.11.2
+toolz==0.12.0
# via
# dask
# partd
@@ -178,12 +180,12 @@ tqdm==4.64.0
# via feast (setup.py)
typeguard==2.13.3
# via feast (setup.py)
-typing-extensions==4.2.0
+typing-extensions==4.3.0
# via
# mypy
# pydantic
# sqlalchemy2-stubs
-urllib3==1.26.9
+urllib3==1.26.11
# via requests
uvicorn[standard]==0.18.2
# via feast (setup.py)
@@ -191,7 +193,7 @@ uvloop==0.16.0
# via uvicorn
volatile==2.1.0
# via bowler
-watchfiles==0.15.0
+watchfiles==0.16.1
# via uvicorn
websockets==10.3
# via uvicorn
diff --git a/sdk/python/requirements/py3.7-ci-requirements.txt b/sdk/python/requirements/py3.7-ci-requirements.txt
new file mode 100644
index 00000000000..0de82b11a90
--- /dev/null
+++ b/sdk/python/requirements/py3.7-ci-requirements.txt
@@ -0,0 +1,808 @@
+#
+# This file is autogenerated by pip-compile with python 3.8
+# To update, run:
+#
+# pip-compile --extra=ci --output-file=sdk/python/requirements/py3.7-ci-requirements.txt
+#
+absl-py==1.2.0
+ # via tensorflow-metadata
+adal==1.2.7
+ # via
+ # azure-datalake-store
+ # msrestazure
+adlfs==0.5.9
+ # via feast (setup.py)
+aiobotocore==2.1.2
+ # via s3fs
+aiohttp==3.8.1
+ # via
+ # adlfs
+ # aiobotocore
+ # gcsfs
+ # s3fs
+aioitertools==0.10.0
+ # via aiobotocore
+aiosignal==1.2.0
+ # via aiohttp
+alabaster==0.7.12
+ # via sphinx
+altair==4.2.0
+ # via great-expectations
+anyio==3.6.1
+ # via
+ # starlette
+ # watchfiles
+appdirs==1.4.4
+ # via
+ # black
+ # fissix
+appnope==0.1.3
+ # via ipython
+asn1crypto==1.5.1
+ # via
+ # oscrypto
+ # snowflake-connector-python
+assertpy==1.1
+ # via feast (setup.py)
+asttokens==2.0.5
+ # via stack-data
+async-timeout==4.0.2
+ # via
+ # aiohttp
+ # redis
+attrs==22.1.0
+ # via
+ # aiohttp
+ # black
+ # bowler
+ # jsonschema
+ # pytest
+avro==1.10.0
+ # via feast (setup.py)
+azure-core==1.24.2
+ # via
+ # adlfs
+ # azure-identity
+ # azure-storage-blob
+ # msrest
+azure-datalake-store==0.0.52
+ # via adlfs
+azure-identity==1.10.0
+ # via adlfs
+azure-storage-blob==12.13.0
+ # via adlfs
+babel==2.10.3
+ # via sphinx
+backcall==0.2.0
+ # via ipython
+backports-zoneinfo==0.2.1
+ # via
+ # pytz-deprecation-shim
+ # tzlocal
+black==19.10b0
+ # via feast (setup.py)
+boto3==1.20.23
+ # via
+ # feast (setup.py)
+ # moto
+botocore==1.23.24
+ # via
+ # aiobotocore
+ # boto3
+ # moto
+ # s3transfer
+bowler==0.9.0
+ # via feast (setup.py)
+build==0.8.0
+ # via
+ # feast (setup.py)
+ # pip-tools
+cachecontrol==0.12.11
+ # via firebase-admin
+cachetools==4.2.4
+ # via google-auth
+certifi==2022.6.15
+ # via
+ # minio
+ # msrest
+ # requests
+ # snowflake-connector-python
+cffi==1.15.1
+ # via
+ # azure-datalake-store
+ # cryptography
+ # snowflake-connector-python
+cfgv==3.3.1
+ # via pre-commit
+charset-normalizer==2.0.12
+ # via
+ # aiohttp
+ # requests
+ # snowflake-connector-python
+click==8.0.1
+ # via
+ # black
+ # bowler
+ # feast (setup.py)
+ # great-expectations
+ # moreorless
+ # pip-tools
+ # uvicorn
+cloudpickle==2.1.0
+ # via dask
+colorama==0.4.5
+ # via
+ # feast (setup.py)
+ # great-expectations
+coverage[toml]==6.4.2
+ # via pytest-cov
+cryptography==35.0.0
+ # via
+ # adal
+ # azure-identity
+ # azure-storage-blob
+ # feast (setup.py)
+ # great-expectations
+ # moto
+ # msal
+ # pyopenssl
+ # snowflake-connector-python
+dask==2022.1.1
+ # via feast (setup.py)
+dataclasses==0.6
+ # via great-expectations
+decorator==5.1.1
+ # via
+ # gcsfs
+ # ipython
+deprecated==1.2.13
+ # via redis
+deprecation==2.1.0
+ # via testcontainers
+dill==0.3.5.1
+ # via feast (setup.py)
+distlib==0.3.5
+ # via virtualenv
+docker==5.0.3
+ # via
+ # feast (setup.py)
+ # testcontainers
+docutils==0.17.1
+ # via
+ # sphinx
+ # sphinx-rtd-theme
+entrypoints==0.4
+ # via altair
+execnet==1.9.0
+ # via pytest-xdist
+executing==0.9.1
+ # via stack-data
+fastapi==0.79.0
+ # via feast (setup.py)
+fastavro==1.5.3
+ # via
+ # feast (setup.py)
+ # pandavro
+fastjsonschema==2.16.1
+ # via nbformat
+filelock==3.7.1
+ # via virtualenv
+firebase-admin==4.5.2
+ # via feast (setup.py)
+fissix==21.11.13
+ # via bowler
+flake8==4.0.1
+ # via feast (setup.py)
+frozenlist==1.3.0
+ # via
+ # aiohttp
+ # aiosignal
+fsspec==2022.1.0
+ # via
+ # adlfs
+ # dask
+ # gcsfs
+ # s3fs
+gcsfs==2022.1.0
+ # via feast (setup.py)
+google-api-core[grpc]==1.32.0
+ # via
+ # feast (setup.py)
+ # firebase-admin
+ # google-api-python-client
+ # google-cloud-bigquery
+ # google-cloud-bigquery-storage
+ # google-cloud-core
+ # google-cloud-datastore
+ # google-cloud-firestore
+google-api-python-client==2.55.0
+ # via firebase-admin
+google-auth==1.35.0
+ # via
+ # gcsfs
+ # google-api-core
+ # google-api-python-client
+ # google-auth-httplib2
+ # google-auth-oauthlib
+ # google-cloud-core
+ # google-cloud-storage
+google-auth-httplib2==0.1.0
+ # via google-api-python-client
+google-auth-oauthlib==0.5.2
+ # via gcsfs
+google-cloud-bigquery==2.34.4
+ # via feast (setup.py)
+google-cloud-bigquery-storage==2.14.1
+ # via feast (setup.py)
+google-cloud-core==1.7.3
+ # via
+ # feast (setup.py)
+ # google-cloud-bigquery
+ # google-cloud-datastore
+ # google-cloud-firestore
+ # google-cloud-storage
+google-cloud-datastore==2.8.0
+ # via feast (setup.py)
+google-cloud-firestore==2.6.0
+ # via firebase-admin
+google-cloud-storage==1.40.0
+ # via
+ # feast (setup.py)
+ # firebase-admin
+ # gcsfs
+google-crc32c==1.3.0
+ # via google-resumable-media
+google-resumable-media==1.3.3
+ # via
+ # google-cloud-bigquery
+ # google-cloud-storage
+googleapis-common-protos==1.56.4
+ # via
+ # feast (setup.py)
+ # google-api-core
+ # tensorflow-metadata
+great-expectations==0.14.13
+ # via feast (setup.py)
+greenlet==1.1.2
+ # via sqlalchemy
+grpcio==1.48.0
+ # via
+ # feast (setup.py)
+ # google-api-core
+ # google-cloud-bigquery
+ # grpcio-reflection
+ # grpcio-testing
+ # grpcio-tools
+grpcio-reflection==1.48.0
+ # via feast (setup.py)
+grpcio-testing==1.48.0
+ # via feast (setup.py)
+grpcio-tools==1.48.0
+ # via feast (setup.py)
+h11==0.13.0
+ # via uvicorn
+happybase==1.2.0
+ # via feast (setup.py)
+hiredis==2.0.0
+ # via feast (setup.py)
+httplib2==0.20.4
+ # via
+ # google-api-python-client
+ # google-auth-httplib2
+httptools==0.4.0
+ # via uvicorn
+identify==2.5.2
+ # via pre-commit
+idna==3.3
+ # via
+ # anyio
+ # requests
+ # snowflake-connector-python
+ # yarl
+imagesize==1.4.1
+ # via sphinx
+importlib-metadata==4.12.0
+ # via great-expectations
+importlib-resources==5.9.0
+ # via jsonschema
+iniconfig==1.1.1
+ # via pytest
+ipython==8.4.0
+ # via great-expectations
+isodate==0.6.1
+ # via msrest
+isort==5.10.1
+ # via feast (setup.py)
+jedi==0.18.1
+ # via ipython
+jinja2==3.0.3
+ # via
+ # altair
+ # feast (setup.py)
+ # great-expectations
+ # moto
+ # sphinx
+jmespath==0.10.0
+ # via
+ # boto3
+ # botocore
+jsonpatch==1.32
+ # via great-expectations
+jsonpointer==2.3
+ # via jsonpatch
+jsonschema==4.8.0
+ # via
+ # altair
+ # feast (setup.py)
+ # great-expectations
+ # nbformat
+jupyter-core==4.11.1
+ # via nbformat
+locket==1.0.0
+ # via partd
+markupsafe==2.1.1
+ # via
+ # jinja2
+ # moto
+ # werkzeug
+matplotlib-inline==0.1.3
+ # via ipython
+mccabe==0.6.1
+ # via flake8
+minio==7.1.0
+ # via feast (setup.py)
+mistune==2.0.4
+ # via great-expectations
+mmh3==3.0.0
+ # via feast (setup.py)
+mock==2.0.0
+ # via feast (setup.py)
+moreorless==0.4.0
+ # via bowler
+moto==3.1.16
+ # via feast (setup.py)
+msal==1.18.0
+ # via
+ # azure-identity
+ # msal-extensions
+msal-extensions==1.0.0
+ # via azure-identity
+msgpack==1.0.4
+ # via cachecontrol
+msrest==0.7.1
+ # via
+ # azure-storage-blob
+ # msrestazure
+msrestazure==0.6.4
+ # via adlfs
+multidict==6.0.2
+ # via
+ # aiohttp
+ # yarl
+mypy==0.971
+ # via
+ # feast (setup.py)
+ # sqlalchemy
+mypy-extensions==0.4.3
+ # via mypy
+mypy-protobuf==3.1
+ # via feast (setup.py)
+mysqlclient==2.1.1
+ # via feast (setup.py)
+nbformat==5.4.0
+ # via great-expectations
+nodeenv==1.7.0
+ # via pre-commit
+numpy==1.21.6
+ # via
+ # altair
+ # feast (setup.py)
+ # great-expectations
+ # pandas
+ # pandavro
+ # pyarrow
+ # scipy
+oauthlib==3.2.0
+ # via requests-oauthlib
+oscrypto==1.3.0
+ # via snowflake-connector-python
+packaging==21.3
+ # via
+ # build
+ # dask
+ # deprecation
+ # google-api-core
+ # google-cloud-bigquery
+ # great-expectations
+ # pytest
+ # redis
+ # sphinx
+pandas==1.4.3
+ # via
+ # altair
+ # feast (setup.py)
+ # great-expectations
+ # pandavro
+ # snowflake-connector-python
+pandavro==1.5.2
+ # via feast (setup.py)
+parso==0.8.3
+ # via jedi
+partd==1.2.0
+ # via dask
+pathspec==0.9.0
+ # via black
+pbr==5.9.0
+ # via mock
+pep517==0.12.0
+ # via build
+pexpect==4.8.0
+ # via ipython
+pickleshare==0.7.5
+ # via ipython
+pip-tools==6.8.0
+ # via feast (setup.py)
+platformdirs==2.5.2
+ # via virtualenv
+pluggy==1.0.0
+ # via pytest
+ply==3.11
+ # via thriftpy2
+portalocker==2.5.1
+ # via msal-extensions
+pre-commit==2.20.0
+ # via feast (setup.py)
+prompt-toolkit==3.0.30
+ # via ipython
+proto-plus==1.20.6
+ # via
+ # feast (setup.py)
+ # google-cloud-bigquery
+ # google-cloud-bigquery-storage
+ # google-cloud-datastore
+ # google-cloud-firestore
+protobuf==3.20.1
+ # via
+ # feast (setup.py)
+ # google-api-core
+ # google-cloud-bigquery
+ # google-cloud-bigquery-storage
+ # google-cloud-datastore
+ # google-cloud-firestore
+ # googleapis-common-protos
+ # grpcio-reflection
+ # grpcio-testing
+ # grpcio-tools
+ # mypy-protobuf
+ # proto-plus
+ # tensorflow-metadata
+psutil==5.9.0
+ # via feast (setup.py)
+psycopg2-binary==2.9.3
+ # via feast (setup.py)
+ptyprocess==0.7.0
+ # via pexpect
+pure-eval==0.2.2
+ # via stack-data
+py==1.11.0
+ # via
+ # pytest
+ # pytest-forked
+py-cpuinfo==8.0.0
+ # via pytest-benchmark
+py4j==0.10.9.5
+ # via pyspark
+pyarrow==6.0.1
+ # via
+ # feast (setup.py)
+ # snowflake-connector-python
+pyasn1==0.4.8
+ # via
+ # pyasn1-modules
+ # rsa
+pyasn1-modules==0.2.8
+ # via google-auth
+pybindgen==0.22.1
+ # via feast (setup.py)
+pycodestyle==2.8.0
+ # via flake8
+pycparser==2.21
+ # via cffi
+pycryptodomex==3.15.0
+ # via snowflake-connector-python
+pydantic==1.9.1
+ # via
+ # fastapi
+ # feast (setup.py)
+pyflakes==2.4.0
+ # via flake8
+pygments==2.12.0
+ # via
+ # feast (setup.py)
+ # ipython
+ # sphinx
+pyjwt[crypto]==2.4.0
+ # via
+ # adal
+ # msal
+ # snowflake-connector-python
+pyopenssl==22.0.0
+ # via snowflake-connector-python
+pyparsing==2.4.7
+ # via
+ # great-expectations
+ # httplib2
+ # packaging
+pyrsistent==0.18.1
+ # via jsonschema
+pyspark==3.3.0
+ # via feast (setup.py)
+pytest==7.1.2
+ # via
+ # feast (setup.py)
+ # pytest-benchmark
+ # pytest-cov
+ # pytest-forked
+ # pytest-lazy-fixture
+ # pytest-mock
+ # pytest-ordering
+ # pytest-timeout
+ # pytest-xdist
+pytest-benchmark==3.4.1
+ # via feast (setup.py)
+pytest-cov==3.0.0
+ # via feast (setup.py)
+pytest-forked==1.4.0
+ # via pytest-xdist
+pytest-lazy-fixture==0.6.3
+ # via feast (setup.py)
+pytest-mock==1.10.4
+ # via feast (setup.py)
+pytest-ordering==0.6
+ # via feast (setup.py)
+pytest-timeout==1.4.2
+ # via feast (setup.py)
+pytest-xdist==2.5.0
+ # via feast (setup.py)
+python-dateutil==2.8.2
+ # via
+ # adal
+ # botocore
+ # google-cloud-bigquery
+ # great-expectations
+ # moto
+ # pandas
+python-dotenv==0.20.0
+ # via uvicorn
+pytz==2022.1
+ # via
+ # babel
+ # google-api-core
+ # great-expectations
+ # moto
+ # pandas
+ # snowflake-connector-python
+ # trino
+pytz-deprecation-shim==0.1.0.post0
+ # via tzlocal
+pyyaml==6.0
+ # via
+ # dask
+ # feast (setup.py)
+ # pre-commit
+ # uvicorn
+redis==4.2.2
+ # via feast (setup.py)
+regex==2022.7.25
+ # via black
+requests==2.28.1
+ # via
+ # adal
+ # adlfs
+ # azure-core
+ # azure-datalake-store
+ # cachecontrol
+ # docker
+ # gcsfs
+ # google-api-core
+ # google-cloud-bigquery
+ # google-cloud-storage
+ # great-expectations
+ # moto
+ # msal
+ # msrest
+ # requests-oauthlib
+ # responses
+ # snowflake-connector-python
+ # sphinx
+ # trino
+requests-oauthlib==1.3.1
+ # via
+ # google-auth-oauthlib
+ # msrest
+responses==0.21.0
+ # via moto
+rsa==4.9
+ # via google-auth
+ruamel-yaml==0.17.17
+ # via great-expectations
+ruamel-yaml-clib==0.2.6
+ # via ruamel-yaml
+s3fs==2022.1.0
+ # via feast (setup.py)
+s3transfer==0.5.2
+ # via boto3
+scipy==1.8.1
+ # via great-expectations
+six==1.16.0
+ # via
+ # azure-core
+ # azure-identity
+ # google-api-core
+ # google-auth
+ # google-auth-httplib2
+ # google-cloud-core
+ # google-resumable-media
+ # grpcio
+ # happybase
+ # mock
+ # msrestazure
+ # pandavro
+ # python-dateutil
+sniffio==1.2.0
+ # via anyio
+snowballstemmer==2.2.0
+ # via sphinx
+snowflake-connector-python[pandas]==2.7.8
+ # via feast (setup.py)
+sphinx==4.3.2
+ # via
+ # feast (setup.py)
+ # sphinx-rtd-theme
+sphinx-rtd-theme==1.0.0
+ # via feast (setup.py)
+sphinxcontrib-applehelp==1.0.2
+ # via sphinx
+sphinxcontrib-devhelp==1.0.2
+ # via sphinx
+sphinxcontrib-htmlhelp==2.0.0
+ # via sphinx
+sphinxcontrib-jsmath==1.0.1
+ # via sphinx
+sphinxcontrib-qthelp==1.0.3
+ # via sphinx
+sphinxcontrib-serializinghtml==1.1.5
+ # via sphinx
+sqlalchemy[mypy]==1.4.39
+ # via feast (setup.py)
+sqlalchemy2-stubs==0.0.2a24
+ # via sqlalchemy
+stack-data==0.3.0
+ # via ipython
+starlette==0.19.1
+ # via fastapi
+tabulate==0.8.10
+ # via feast (setup.py)
+tenacity==8.0.1
+ # via feast (setup.py)
+tensorflow-metadata==1.9.0
+ # via feast (setup.py)
+termcolor==1.1.0
+ # via great-expectations
+testcontainers==3.6.0
+ # via feast (setup.py)
+thriftpy2==0.4.14
+ # via happybase
+toml==0.10.2
+ # via
+ # black
+ # feast (setup.py)
+ # pre-commit
+tomli==2.0.1
+ # via
+ # build
+ # coverage
+ # mypy
+ # pep517
+ # pytest
+toolz==0.12.0
+ # via
+ # altair
+ # dask
+ # partd
+tqdm==4.64.0
+ # via
+ # feast (setup.py)
+ # great-expectations
+traitlets==5.3.0
+ # via
+ # ipython
+ # jupyter-core
+ # matplotlib-inline
+ # nbformat
+trino==0.315.0
+ # via feast (setup.py)
+typed-ast==1.5.4
+ # via black
+typeguard==2.13.3
+ # via feast (setup.py)
+types-protobuf==3.19.22
+ # via
+ # feast (setup.py)
+ # mypy-protobuf
+types-python-dateutil==2.8.19
+ # via feast (setup.py)
+types-pytz==2022.1.2
+ # via feast (setup.py)
+types-pyyaml==6.0.11
+ # via feast (setup.py)
+types-redis==4.3.11
+ # via feast (setup.py)
+types-requests==2.28.5
+ # via feast (setup.py)
+types-setuptools==63.2.2
+ # via feast (setup.py)
+types-tabulate==0.8.11
+ # via feast (setup.py)
+types-urllib3==1.26.17
+ # via types-requests
+typing-extensions==4.3.0
+ # via
+ # aioitertools
+ # azure-core
+ # great-expectations
+ # mypy
+ # pydantic
+ # sqlalchemy2-stubs
+ # starlette
+tzdata==2022.1
+ # via pytz-deprecation-shim
+tzlocal==4.2
+ # via great-expectations
+uritemplate==4.1.1
+ # via google-api-python-client
+urllib3==1.26.11
+ # via
+ # botocore
+ # feast (setup.py)
+ # great-expectations
+ # minio
+ # requests
+ # responses
+uvicorn[standard]==0.18.2
+ # via feast (setup.py)
+uvloop==0.16.0
+ # via uvicorn
+virtualenv==20.16.2
+ # via pre-commit
+volatile==2.1.0
+ # via bowler
+watchfiles==0.16.1
+ # via uvicorn
+wcwidth==0.2.5
+ # via prompt-toolkit
+websocket-client==1.3.3
+ # via docker
+websockets==10.3
+ # via uvicorn
+werkzeug==2.2.1
+ # via moto
+wheel==0.37.1
+ # via pip-tools
+wrapt==1.14.1
+ # via
+ # aiobotocore
+ # deprecated
+ # testcontainers
+xmltodict==0.13.0
+ # via moto
+yarl==1.7.2
+ # via aiohttp
+zipp==3.8.1
+ # via
+ # importlib-metadata
+ # importlib-resources
+
+# The following packages are considered to be unsafe in a requirements file:
+# pip
+# setuptools
diff --git a/sdk/python/requirements/py3.7-requirements.txt b/sdk/python/requirements/py3.7-requirements.txt
new file mode 100644
index 00000000000..bebffbe5dcc
--- /dev/null
+++ b/sdk/python/requirements/py3.7-requirements.txt
@@ -0,0 +1,218 @@
+#
+# This file is autogenerated by pip-compile with python 3.7
+# To update, run:
+#
+# pip-compile --output-file=sdk/python/requirements/py3.7-requirements.txt
+#
+absl-py==1.2.0
+ # via tensorflow-metadata
+anyio==3.6.1
+ # via
+ # starlette
+ # watchfiles
+appdirs==1.4.4
+ # via fissix
+attrs==22.1.0
+ # via
+ # bowler
+ # jsonschema
+bowler==0.9.0
+ # via feast (setup.py)
+cachetools==5.2.0
+ # via google-auth
+certifi==2022.6.15
+ # via requests
+charset-normalizer==2.1.0
+ # via requests
+click==8.0.1
+ # via
+ # bowler
+ # feast (setup.py)
+ # moreorless
+ # uvicorn
+cloudpickle==2.1.0
+ # via dask
+colorama==0.4.5
+ # via feast (setup.py)
+dask==2022.1.1
+ # via feast (setup.py)
+dill==0.3.5.1
+ # via feast (setup.py)
+fastapi==0.79.0
+ # via feast (setup.py)
+fastavro==1.5.3
+ # via
+ # feast (setup.py)
+ # pandavro
+fissix==21.11.13
+ # via bowler
+fsspec==2022.7.1
+ # via dask
+google-api-core==2.8.2
+ # via feast (setup.py)
+google-auth==2.9.1
+ # via google-api-core
+googleapis-common-protos==1.56.4
+ # via
+ # feast (setup.py)
+ # google-api-core
+ # tensorflow-metadata
+greenlet==1.1.2
+ # via sqlalchemy
+grpcio==1.48.0
+ # via
+ # feast (setup.py)
+ # grpcio-reflection
+grpcio-reflection==1.48.0
+ # via feast (setup.py)
+h11==0.13.0
+ # via uvicorn
+httptools==0.4.0
+ # via uvicorn
+idna==3.3
+ # via
+ # anyio
+ # requests
+importlib-metadata==4.12.0
+ # via
+ # click
+ # jsonschema
+ # sqlalchemy
+importlib-resources==5.9.0
+ # via jsonschema
+jinja2==3.1.2
+ # via feast (setup.py)
+jsonschema==4.8.0
+ # via feast (setup.py)
+locket==1.0.0
+ # via partd
+markupsafe==2.1.1
+ # via jinja2
+mmh3==3.0.0
+ # via feast (setup.py)
+moreorless==0.4.0
+ # via bowler
+mypy==0.971
+ # via sqlalchemy
+mypy-extensions==0.4.3
+ # via mypy
+numpy==1.21.6
+ # via
+ # feast (setup.py)
+ # pandas
+ # pandavro
+ # pyarrow
+packaging==21.3
+ # via dask
+pandas==1.3.5
+ # via
+ # feast (setup.py)
+ # pandavro
+pandavro==1.5.2
+ # via feast (setup.py)
+partd==1.2.0
+ # via dask
+proto-plus==1.20.6
+ # via feast (setup.py)
+protobuf==3.20.1
+ # via
+ # feast (setup.py)
+ # google-api-core
+ # googleapis-common-protos
+ # grpcio-reflection
+ # proto-plus
+ # tensorflow-metadata
+pyarrow==6.0.1
+ # via feast (setup.py)
+pyasn1==0.4.8
+ # via
+ # pyasn1-modules
+ # rsa
+pyasn1-modules==0.2.8
+ # via google-auth
+pydantic==1.9.1
+ # via
+ # fastapi
+ # feast (setup.py)
+pygments==2.12.0
+ # via feast (setup.py)
+pyparsing==3.0.9
+ # via packaging
+pyrsistent==0.18.1
+ # via jsonschema
+python-dateutil==2.8.2
+ # via pandas
+python-dotenv==0.20.0
+ # via uvicorn
+pytz==2022.1
+ # via pandas
+pyyaml==6.0
+ # via
+ # dask
+ # feast (setup.py)
+ # uvicorn
+requests==2.28.1
+ # via google-api-core
+rsa==4.9
+ # via google-auth
+six==1.16.0
+ # via
+ # google-auth
+ # grpcio
+ # pandavro
+ # python-dateutil
+sniffio==1.2.0
+ # via anyio
+sqlalchemy[mypy]==1.4.39
+ # via feast (setup.py)
+sqlalchemy2-stubs==0.0.2a24
+ # via sqlalchemy
+starlette==0.19.1
+ # via fastapi
+tabulate==0.8.10
+ # via feast (setup.py)
+tenacity==8.0.1
+ # via feast (setup.py)
+tensorflow-metadata==1.9.0
+ # via feast (setup.py)
+toml==0.10.2
+ # via feast (setup.py)
+tomli==2.0.1
+ # via mypy
+toolz==0.12.0
+ # via
+ # dask
+ # partd
+tqdm==4.64.0
+ # via feast (setup.py)
+typed-ast==1.5.4
+ # via mypy
+typeguard==2.13.3
+ # via feast (setup.py)
+typing-extensions==4.3.0
+ # via
+ # anyio
+ # h11
+ # importlib-metadata
+ # jsonschema
+ # mypy
+ # pydantic
+ # sqlalchemy2-stubs
+ # starlette
+ # uvicorn
+urllib3==1.26.11
+ # via requests
+uvicorn[standard]==0.18.2
+ # via feast (setup.py)
+uvloop==0.16.0
+ # via uvicorn
+volatile==2.1.0
+ # via bowler
+watchfiles==0.16.1
+ # via uvicorn
+websockets==10.3
+ # via uvicorn
+zipp==3.8.1
+ # via
+ # importlib-metadata
+ # importlib-resources
diff --git a/sdk/python/requirements/py3.8-ci-requirements.txt b/sdk/python/requirements/py3.8-ci-requirements.txt
index 813420a121f..f3a58fcf5e4 100644
--- a/sdk/python/requirements/py3.8-ci-requirements.txt
+++ b/sdk/python/requirements/py3.8-ci-requirements.txt
@@ -4,7 +4,7 @@
#
# pip-compile --extra=ci --output-file=sdk/python/requirements/py3.8-ci-requirements.txt
#
-absl-py==1.1.0
+absl-py==1.2.0
# via tensorflow-metadata
adal==1.2.7
# via
@@ -50,7 +50,7 @@ async-timeout==4.0.2
# via
# aiohttp
# redis
-attrs==21.4.0
+attrs==22.1.0
# via
# aiohttp
# black
@@ -59,7 +59,7 @@ attrs==21.4.0
# pytest
avro==1.10.0
# via feast (setup.py)
-azure-core==1.24.1
+azure-core==1.24.2
# via
# adlfs
# azure-identity
@@ -69,7 +69,7 @@ azure-datalake-store==0.0.52
# via adlfs
azure-identity==1.10.0
# via adlfs
-azure-storage-blob==12.12.0
+azure-storage-blob==12.13.0
# via adlfs
babel==2.10.3
# via sphinx
@@ -107,7 +107,7 @@ certifi==2022.6.15
# msrest
# requests
# snowflake-connector-python
-cffi==1.15.0
+cffi==1.15.1
# via
# azure-datalake-store
# cryptography
@@ -134,7 +134,7 @@ colorama==0.4.5
# via
# feast (setup.py)
# great-expectations
-coverage[toml]==6.4.1
+coverage[toml]==6.4.2
# via pytest-cov
cryptography==35.0.0
# via
@@ -161,7 +161,7 @@ deprecation==2.1.0
# via testcontainers
dill==0.3.5.1
# via feast (setup.py)
-distlib==0.3.4
+distlib==0.3.5
# via virtualenv
docker==5.0.3
# via
@@ -175,15 +175,15 @@ entrypoints==0.4
# via altair
execnet==1.9.0
# via pytest-xdist
-executing==0.8.3
+executing==0.9.1
# via stack-data
-fastapi==0.78.0
+fastapi==0.79.0
# via feast (setup.py)
-fastavro==1.5.2
+fastavro==1.5.3
# via
# feast (setup.py)
# pandavro
-fastjsonschema==2.15.3
+fastjsonschema==2.16.1
# via nbformat
filelock==3.7.1
# via virtualenv
@@ -205,7 +205,7 @@ fsspec==2022.1.0
# s3fs
gcsfs==2022.1.0
# via feast (setup.py)
-google-api-core[grpc]==1.31.6
+google-api-core[grpc]==1.32.0
# via
# feast (setup.py)
# firebase-admin
@@ -215,7 +215,7 @@ google-api-core[grpc]==1.31.6
# google-cloud-core
# google-cloud-datastore
# google-cloud-firestore
-google-api-python-client==2.52.0
+google-api-python-client==2.55.0
# via firebase-admin
google-auth==1.35.0
# via
@@ -232,18 +232,18 @@ google-auth-oauthlib==0.5.2
# via gcsfs
google-cloud-bigquery==2.34.4
# via feast (setup.py)
-google-cloud-bigquery-storage==2.13.2
+google-cloud-bigquery-storage==2.14.1
# via feast (setup.py)
-google-cloud-core==1.7.2
+google-cloud-core==1.7.3
# via
# feast (setup.py)
# google-cloud-bigquery
# google-cloud-datastore
# google-cloud-firestore
# google-cloud-storage
-google-cloud-datastore==2.7.1
+google-cloud-datastore==2.8.0
# via feast (setup.py)
-google-cloud-firestore==2.5.3
+google-cloud-firestore==2.6.0
# via firebase-admin
google-cloud-storage==1.40.0
# via
@@ -256,14 +256,16 @@ google-resumable-media==1.3.3
# via
# google-cloud-bigquery
# google-cloud-storage
-googleapis-common-protos==1.56.3
+googleapis-common-protos==1.56.4
# via
# feast (setup.py)
# google-api-core
# tensorflow-metadata
great-expectations==0.14.13
# via feast (setup.py)
-grpcio==1.47.0
+greenlet==1.1.2
+ # via sqlalchemy
+grpcio==1.48.0
# via
# feast (setup.py)
# google-api-core
@@ -271,11 +273,11 @@ grpcio==1.47.0
# grpcio-reflection
# grpcio-testing
# grpcio-tools
-grpcio-reflection==1.47.0
+grpcio-reflection==1.48.0
# via feast (setup.py)
-grpcio-testing==1.47.0
+grpcio-testing==1.48.0
# via feast (setup.py)
-grpcio-tools==1.47.0
+grpcio-tools==1.48.0
# via feast (setup.py)
h11==0.13.0
# via uvicorn
@@ -289,7 +291,7 @@ httplib2==0.20.4
# google-auth-httplib2
httptools==0.4.0
# via uvicorn
-identify==2.5.1
+identify==2.5.2
# via pre-commit
idna==3.3
# via
@@ -297,11 +299,11 @@ idna==3.3
# requests
# snowflake-connector-python
# yarl
-imagesize==1.3.0
+imagesize==1.4.1
# via sphinx
importlib-metadata==4.12.0
# via great-expectations
-importlib-resources==5.8.0
+importlib-resources==5.9.0
# via jsonschema
iniconfig==1.1.1
# via pytest
@@ -328,13 +330,13 @@ jsonpatch==1.32
# via great-expectations
jsonpointer==2.3
# via jsonpatch
-jsonschema==4.6.1
+jsonschema==4.8.0
# via
# altair
# feast (setup.py)
# great-expectations
# nbformat
-jupyter-core==4.10.0
+jupyter-core==4.11.1
# via nbformat
locket==1.0.0
# via partd
@@ -342,13 +344,14 @@ markupsafe==2.1.1
# via
# jinja2
# moto
+ # werkzeug
matplotlib-inline==0.1.3
# via ipython
mccabe==0.6.1
# via flake8
minio==7.1.0
# via feast (setup.py)
-mistune==2.0.3
+mistune==2.0.4
# via great-expectations
mmh3==3.0.0
# via feast (setup.py)
@@ -376,7 +379,7 @@ multidict==6.0.2
# via
# aiohttp
# yarl
-mypy==0.961
+mypy==0.971
# via
# feast (setup.py)
# sqlalchemy
@@ -390,7 +393,7 @@ nbformat==5.4.0
# via great-expectations
nodeenv==1.7.0
# via pre-commit
-numpy==1.23.0
+numpy==1.21.6
# via
# altair
# feast (setup.py)
@@ -437,7 +440,7 @@ pexpect==4.8.0
# via ipython
pickleshare==0.7.5
# via ipython
-pip-tools==6.7.0
+pip-tools==6.8.0
# via feast (setup.py)
platformdirs==2.5.2
# via virtualenv
@@ -445,9 +448,9 @@ pluggy==1.0.0
# via pytest
ply==3.11
# via thriftpy2
-portalocker==2.4.0
+portalocker==2.5.1
# via msal-extensions
-pre-commit==2.19.0
+pre-commit==2.20.0
# via feast (setup.py)
prompt-toolkit==3.0.30
# via ipython
@@ -590,7 +593,7 @@ pyyaml==6.0
# uvicorn
redis==4.2.2
# via feast (setup.py)
-regex==2022.6.2
+regex==2022.7.25
# via black
requests==2.28.1
# via
@@ -619,7 +622,7 @@ requests-oauthlib==1.3.1
# msrest
responses==0.21.0
# via moto
-rsa==4.8
+rsa==4.9
# via google-auth
ruamel-yaml==0.17.17
# via great-expectations
@@ -646,7 +649,6 @@ six==1.16.0
# msrestazure
# pandavro
# python-dateutil
- # virtualenv
sniffio==1.2.0
# via anyio
snowballstemmer==2.2.0
@@ -703,7 +705,7 @@ tomli==2.0.1
# mypy
# pep517
# pytest
-toolz==0.11.2
+toolz==0.12.0
# via
# altair
# dask
@@ -718,7 +720,7 @@ traitlets==5.3.0
# jupyter-core
# matplotlib-inline
# nbformat
-trino==0.313.0
+trino==0.315.0
# via feast (setup.py)
typed-ast==1.5.4
# via black
@@ -728,23 +730,23 @@ types-protobuf==3.19.22
# via
# feast (setup.py)
# mypy-protobuf
-types-python-dateutil==2.8.18
+types-python-dateutil==2.8.19
# via feast (setup.py)
-types-pytz==2022.1.1
+types-pytz==2022.1.2
# via feast (setup.py)
-types-pyyaml==6.0.9
+types-pyyaml==6.0.11
# via feast (setup.py)
-types-redis==4.3.3
+types-redis==4.3.11
# via feast (setup.py)
-types-requests==2.28.0
+types-requests==2.28.5
# via feast (setup.py)
-types-setuptools==57.4.18
+types-setuptools==63.2.2
# via feast (setup.py)
types-tabulate==0.8.11
# via feast (setup.py)
-types-urllib3==1.26.15
+types-urllib3==1.26.17
# via types-requests
-typing-extensions==4.2.0
+typing-extensions==4.3.0
# via
# aioitertools
# azure-core
@@ -759,7 +761,7 @@ tzlocal==4.2
# via great-expectations
uritemplate==4.1.1
# via google-api-python-client
-urllib3==1.26.9
+urllib3==1.26.11
# via
# botocore
# feast (setup.py)
@@ -771,11 +773,11 @@ uvicorn[standard]==0.18.2
# via feast (setup.py)
uvloop==0.16.0
# via uvicorn
-virtualenv==20.15.1
+virtualenv==20.16.2
# via pre-commit
volatile==2.1.0
# via bowler
-watchfiles==0.15.0
+watchfiles==0.16.1
# via uvicorn
wcwidth==0.2.5
# via prompt-toolkit
@@ -783,7 +785,7 @@ websocket-client==1.3.3
# via docker
websockets==10.3
# via uvicorn
-werkzeug==2.1.2
+werkzeug==2.2.1
# via moto
wheel==0.37.1
# via pip-tools
@@ -796,7 +798,7 @@ xmltodict==0.13.0
# via moto
yarl==1.7.2
# via aiohttp
-zipp==3.8.0
+zipp==3.8.1
# via
# importlib-metadata
# importlib-resources
diff --git a/sdk/python/requirements/py3.8-requirements.txt b/sdk/python/requirements/py3.8-requirements.txt
index 56e5e3adba4..aa74d340542 100644
--- a/sdk/python/requirements/py3.8-requirements.txt
+++ b/sdk/python/requirements/py3.8-requirements.txt
@@ -4,7 +4,7 @@
#
# pip-compile --output-file=sdk/python/requirements/py3.8-requirements.txt
#
-absl-py==1.1.0
+absl-py==1.2.0
# via tensorflow-metadata
anyio==3.6.1
# via
@@ -12,7 +12,7 @@ anyio==3.6.1
# watchfiles
appdirs==1.4.4
# via fissix
-attrs==21.4.0
+attrs==22.1.0
# via
# bowler
# jsonschema
@@ -38,30 +38,32 @@ dask==2022.1.1
# via feast (setup.py)
dill==0.3.5.1
# via feast (setup.py)
-fastapi==0.78.0
+fastapi==0.79.0
# via feast (setup.py)
-fastavro==1.5.2
+fastavro==1.5.3
# via
# feast (setup.py)
# pandavro
fissix==21.11.13
# via bowler
-fsspec==2022.5.0
+fsspec==2022.7.1
# via dask
google-api-core==2.8.2
# via feast (setup.py)
-google-auth==2.9.0
+google-auth==2.9.1
# via google-api-core
-googleapis-common-protos==1.56.3
+googleapis-common-protos==1.56.4
# via
# feast (setup.py)
# google-api-core
# tensorflow-metadata
-grpcio==1.47.0
+greenlet==1.1.2
+ # via sqlalchemy
+grpcio==1.48.0
# via
# feast (setup.py)
# grpcio-reflection
-grpcio-reflection==1.47.0
+grpcio-reflection==1.48.0
# via feast (setup.py)
h11==0.13.0
# via uvicorn
@@ -71,11 +73,11 @@ idna==3.3
# via
# anyio
# requests
-importlib-resources==5.8.0
+importlib-resources==5.9.0
# via jsonschema
jinja2==3.1.2
# via feast (setup.py)
-jsonschema==4.6.1
+jsonschema==4.8.0
# via feast (setup.py)
locket==1.0.0
# via partd
@@ -85,11 +87,11 @@ mmh3==3.0.0
# via feast (setup.py)
moreorless==0.4.0
# via bowler
-mypy==0.961
+mypy==0.971
# via sqlalchemy
mypy-extensions==0.4.3
# via mypy
-numpy==1.23.0
+numpy==1.21.6
# via
# feast (setup.py)
# pandas
@@ -146,7 +148,7 @@ pyyaml==6.0
# uvicorn
requests==2.28.1
# via google-api-core
-rsa==4.8
+rsa==4.9
# via google-auth
six==1.16.0
# via
@@ -172,7 +174,7 @@ toml==0.10.2
# via feast (setup.py)
tomli==2.0.1
# via mypy
-toolz==0.11.2
+toolz==0.12.0
# via
# dask
# partd
@@ -180,13 +182,13 @@ tqdm==4.64.0
# via feast (setup.py)
typeguard==2.13.3
# via feast (setup.py)
-typing-extensions==4.2.0
+typing-extensions==4.3.0
# via
# mypy
# pydantic
# sqlalchemy2-stubs
# starlette
-urllib3==1.26.9
+urllib3==1.26.11
# via requests
uvicorn[standard]==0.18.2
# via feast (setup.py)
@@ -194,9 +196,9 @@ uvloop==0.16.0
# via uvicorn
volatile==2.1.0
# via bowler
-watchfiles==0.15.0
+watchfiles==0.16.1
# via uvicorn
websockets==10.3
# via uvicorn
-zipp==3.8.0
+zipp==3.8.1
# via importlib-resources
diff --git a/sdk/python/requirements/py3.9-ci-requirements.txt b/sdk/python/requirements/py3.9-ci-requirements.txt
index fe1b8b2e131..ef8a5ee352c 100644
--- a/sdk/python/requirements/py3.9-ci-requirements.txt
+++ b/sdk/python/requirements/py3.9-ci-requirements.txt
@@ -4,7 +4,7 @@
#
# pip-compile --extra=ci --output-file=sdk/python/requirements/py3.9-ci-requirements.txt
#
-absl-py==1.1.0
+absl-py==1.2.0
# via tensorflow-metadata
adal==1.2.7
# via
@@ -50,7 +50,7 @@ async-timeout==4.0.2
# via
# aiohttp
# redis
-attrs==21.4.0
+attrs==22.1.0
# via
# aiohttp
# black
@@ -59,7 +59,7 @@ attrs==21.4.0
# pytest
avro==1.10.0
# via feast (setup.py)
-azure-core==1.24.1
+azure-core==1.24.2
# via
# adlfs
# azure-identity
@@ -69,7 +69,7 @@ azure-datalake-store==0.0.52
# via adlfs
azure-identity==1.10.0
# via adlfs
-azure-storage-blob==12.12.0
+azure-storage-blob==12.13.0
# via adlfs
babel==2.10.3
# via sphinx
@@ -103,7 +103,7 @@ certifi==2022.6.15
# msrest
# requests
# snowflake-connector-python
-cffi==1.15.0
+cffi==1.15.1
# via
# azure-datalake-store
# cryptography
@@ -130,7 +130,7 @@ colorama==0.4.5
# via
# feast (setup.py)
# great-expectations
-coverage[toml]==6.4.1
+coverage[toml]==6.4.2
# via pytest-cov
cryptography==35.0.0
# via
@@ -157,7 +157,7 @@ deprecation==2.1.0
# via testcontainers
dill==0.3.5.1
# via feast (setup.py)
-distlib==0.3.4
+distlib==0.3.5
# via virtualenv
docker==5.0.3
# via
@@ -171,15 +171,15 @@ entrypoints==0.4
# via altair
execnet==1.9.0
# via pytest-xdist
-executing==0.8.3
+executing==0.9.1
# via stack-data
-fastapi==0.78.0
+fastapi==0.79.0
# via feast (setup.py)
-fastavro==1.5.2
+fastavro==1.5.3
# via
# feast (setup.py)
# pandavro
-fastjsonschema==2.15.3
+fastjsonschema==2.16.1
# via nbformat
filelock==3.7.1
# via virtualenv
@@ -201,7 +201,7 @@ fsspec==2022.1.0
# s3fs
gcsfs==2022.1.0
# via feast (setup.py)
-google-api-core[grpc]==1.31.6
+google-api-core[grpc]==1.32.0
# via
# feast (setup.py)
# firebase-admin
@@ -211,7 +211,7 @@ google-api-core[grpc]==1.31.6
# google-cloud-core
# google-cloud-datastore
# google-cloud-firestore
-google-api-python-client==2.52.0
+google-api-python-client==2.55.0
# via firebase-admin
google-auth==1.35.0
# via
@@ -228,18 +228,18 @@ google-auth-oauthlib==0.5.2
# via gcsfs
google-cloud-bigquery==2.34.4
# via feast (setup.py)
-google-cloud-bigquery-storage==2.13.2
+google-cloud-bigquery-storage==2.14.1
# via feast (setup.py)
-google-cloud-core==1.7.2
+google-cloud-core==1.7.3
# via
# feast (setup.py)
# google-cloud-bigquery
# google-cloud-datastore
# google-cloud-firestore
# google-cloud-storage
-google-cloud-datastore==2.7.1
+google-cloud-datastore==2.8.0
# via feast (setup.py)
-google-cloud-firestore==2.5.3
+google-cloud-firestore==2.6.0
# via firebase-admin
google-cloud-storage==1.40.0
# via
@@ -252,14 +252,16 @@ google-resumable-media==1.3.3
# via
# google-cloud-bigquery
# google-cloud-storage
-googleapis-common-protos==1.56.3
+googleapis-common-protos==1.56.4
# via
# feast (setup.py)
# google-api-core
# tensorflow-metadata
great-expectations==0.14.13
# via feast (setup.py)
-grpcio==1.47.0
+greenlet==1.1.2
+ # via sqlalchemy
+grpcio==1.48.0
# via
# feast (setup.py)
# google-api-core
@@ -267,11 +269,11 @@ grpcio==1.47.0
# grpcio-reflection
# grpcio-testing
# grpcio-tools
-grpcio-reflection==1.47.0
+grpcio-reflection==1.48.0
# via feast (setup.py)
-grpcio-testing==1.47.0
+grpcio-testing==1.48.0
# via feast (setup.py)
-grpcio-tools==1.47.0
+grpcio-tools==1.48.0
# via feast (setup.py)
h11==0.13.0
# via uvicorn
@@ -285,7 +287,7 @@ httplib2==0.20.4
# google-auth-httplib2
httptools==0.4.0
# via uvicorn
-identify==2.5.1
+identify==2.5.2
# via pre-commit
idna==3.3
# via
@@ -293,7 +295,7 @@ idna==3.3
# requests
# snowflake-connector-python
# yarl
-imagesize==1.3.0
+imagesize==1.4.1
# via sphinx
importlib-metadata==4.12.0
# via great-expectations
@@ -322,13 +324,13 @@ jsonpatch==1.32
# via great-expectations
jsonpointer==2.3
# via jsonpatch
-jsonschema==4.6.1
+jsonschema==4.8.0
# via
# altair
# feast (setup.py)
# great-expectations
# nbformat
-jupyter-core==4.10.0
+jupyter-core==4.11.1
# via nbformat
locket==1.0.0
# via partd
@@ -336,13 +338,14 @@ markupsafe==2.1.1
# via
# jinja2
# moto
+ # werkzeug
matplotlib-inline==0.1.3
# via ipython
mccabe==0.6.1
# via flake8
minio==7.1.0
# via feast (setup.py)
-mistune==2.0.3
+mistune==2.0.4
# via great-expectations
mmh3==3.0.0
# via feast (setup.py)
@@ -370,7 +373,7 @@ multidict==6.0.2
# via
# aiohttp
# yarl
-mypy==0.961
+mypy==0.971
# via
# feast (setup.py)
# sqlalchemy
@@ -384,7 +387,7 @@ nbformat==5.4.0
# via great-expectations
nodeenv==1.7.0
# via pre-commit
-numpy==1.22.0
+numpy==1.21.6
# via
# altair
# feast (setup.py)
@@ -431,7 +434,7 @@ pexpect==4.8.0
# via ipython
pickleshare==0.7.5
# via ipython
-pip-tools==6.7.0
+pip-tools==6.8.0
# via feast (setup.py)
platformdirs==2.5.2
# via virtualenv
@@ -439,9 +442,9 @@ pluggy==1.0.0
# via pytest
ply==3.11
# via thriftpy2
-portalocker==2.4.0
+portalocker==2.5.1
# via msal-extensions
-pre-commit==2.19.0
+pre-commit==2.20.0
# via feast (setup.py)
prompt-toolkit==3.0.30
# via ipython
@@ -584,7 +587,7 @@ pyyaml==6.0
# uvicorn
redis==4.2.2
# via feast (setup.py)
-regex==2022.6.2
+regex==2022.7.25
# via black
requests==2.28.1
# via
@@ -613,12 +616,12 @@ requests-oauthlib==1.3.1
# msrest
responses==0.21.0
# via moto
-rsa==4.8
+rsa==4.9
# via google-auth
-ruamel-yaml==0.17.17
+ruamel.yaml==0.17.17
# via great-expectations
-ruamel-yaml-clib==0.2.6
- # via ruamel-yaml
+ruamel.yaml.clib==0.2.6
+ # via ruamel.yaml
s3fs==2022.1.0
# via feast (setup.py)
s3transfer==0.5.2
@@ -640,7 +643,6 @@ six==1.16.0
# msrestazure
# pandavro
# python-dateutil
- # virtualenv
sniffio==1.2.0
# via anyio
snowballstemmer==2.2.0
@@ -697,7 +699,7 @@ tomli==2.0.1
# mypy
# pep517
# pytest
-toolz==0.11.2
+toolz==0.12.0
# via
# altair
# dask
@@ -712,7 +714,7 @@ traitlets==5.3.0
# jupyter-core
# matplotlib-inline
# nbformat
-trino==0.313.0
+trino==0.315.0
# via feast (setup.py)
typed-ast==1.5.4
# via black
@@ -722,23 +724,23 @@ types-protobuf==3.19.22
# via
# feast (setup.py)
# mypy-protobuf
-types-python-dateutil==2.8.18
+types-python-dateutil==2.8.19
# via feast (setup.py)
-types-pytz==2022.1.1
+types-pytz==2022.1.2
# via feast (setup.py)
-types-pyyaml==6.0.9
+types-pyyaml==6.0.11
# via feast (setup.py)
-types-redis==4.3.3
+types-redis==4.3.11
# via feast (setup.py)
-types-requests==2.28.0
+types-requests==2.28.5
# via feast (setup.py)
-types-setuptools==57.4.18
+types-setuptools==63.2.2
# via feast (setup.py)
types-tabulate==0.8.11
# via feast (setup.py)
-types-urllib3==1.26.15
+types-urllib3==1.26.17
# via types-requests
-typing-extensions==4.2.0
+typing-extensions==4.3.0
# via
# aioitertools
# azure-core
@@ -753,7 +755,7 @@ tzlocal==4.2
# via great-expectations
uritemplate==4.1.1
# via google-api-python-client
-urllib3==1.26.9
+urllib3==1.26.11
# via
# botocore
# feast (setup.py)
@@ -765,11 +767,11 @@ uvicorn[standard]==0.18.2
# via feast (setup.py)
uvloop==0.16.0
# via uvicorn
-virtualenv==20.15.1
+virtualenv==20.16.2
# via pre-commit
volatile==2.1.0
# via bowler
-watchfiles==0.15.0
+watchfiles==0.16.1
# via uvicorn
wcwidth==0.2.5
# via prompt-toolkit
@@ -777,7 +779,7 @@ websocket-client==1.3.3
# via docker
websockets==10.3
# via uvicorn
-werkzeug==2.1.2
+werkzeug==2.2.1
# via moto
wheel==0.37.1
# via pip-tools
@@ -790,7 +792,7 @@ xmltodict==0.13.0
# via moto
yarl==1.7.2
# via aiohttp
-zipp==3.8.0
+zipp==3.8.1
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
diff --git a/sdk/python/requirements/py3.9-requirements.txt b/sdk/python/requirements/py3.9-requirements.txt
index 76e2815ed59..4d155bf5401 100644
--- a/sdk/python/requirements/py3.9-requirements.txt
+++ b/sdk/python/requirements/py3.9-requirements.txt
@@ -4,7 +4,7 @@
#
# pip-compile --output-file=sdk/python/requirements/py3.9-requirements.txt
#
-absl-py==1.1.0
+absl-py==1.2.0
# via tensorflow-metadata
anyio==3.6.1
# via
@@ -12,7 +12,7 @@ anyio==3.6.1
# watchfiles
appdirs==1.4.4
# via fissix
-attrs==21.4.0
+attrs==22.1.0
# via
# bowler
# jsonschema
@@ -38,30 +38,32 @@ dask==2022.1.1
# via feast (setup.py)
dill==0.3.5.1
# via feast (setup.py)
-fastapi==0.78.0
+fastapi==0.79.0
# via feast (setup.py)
-fastavro==1.5.2
+fastavro==1.5.3
# via
# feast (setup.py)
# pandavro
fissix==21.11.13
# via bowler
-fsspec==2022.5.0
+fsspec==2022.7.1
# via dask
google-api-core==2.8.2
# via feast (setup.py)
-google-auth==2.9.0
+google-auth==2.9.1
# via google-api-core
-googleapis-common-protos==1.56.3
+googleapis-common-protos==1.56.4
# via
# feast (setup.py)
# google-api-core
# tensorflow-metadata
-grpcio==1.47.0
+greenlet==1.1.2
+ # via sqlalchemy
+grpcio==1.48.0
# via
# feast (setup.py)
# grpcio-reflection
-grpcio-reflection==1.47.0
+grpcio-reflection==1.48.0
# via feast (setup.py)
h11==0.13.0
# via uvicorn
@@ -73,7 +75,7 @@ idna==3.3
# requests
jinja2==3.1.2
# via feast (setup.py)
-jsonschema==4.6.1
+jsonschema==4.8.0
# via feast (setup.py)
locket==1.0.0
# via partd
@@ -83,11 +85,11 @@ mmh3==3.0.0
# via feast (setup.py)
moreorless==0.4.0
# via bowler
-mypy==0.961
+mypy==0.971
# via sqlalchemy
mypy-extensions==0.4.3
# via mypy
-numpy==1.22.0
+numpy==1.21.6
# via
# feast (setup.py)
# pandas
@@ -144,7 +146,7 @@ pyyaml==6.0
# uvicorn
requests==2.28.1
# via google-api-core
-rsa==4.8
+rsa==4.9
# via google-auth
six==1.16.0
# via
@@ -170,7 +172,7 @@ toml==0.10.2
# via feast (setup.py)
tomli==2.0.1
# via mypy
-toolz==0.11.2
+toolz==0.12.0
# via
# dask
# partd
@@ -178,13 +180,13 @@ tqdm==4.64.0
# via feast (setup.py)
typeguard==2.13.3
# via feast (setup.py)
-typing-extensions==4.2.0
+typing-extensions==4.3.0
# via
# mypy
# pydantic
# sqlalchemy2-stubs
# starlette
-urllib3==1.26.9
+urllib3==1.26.11
# via requests
uvicorn[standard]==0.18.2
# via feast (setup.py)
@@ -192,7 +194,7 @@ uvloop==0.16.0
# via uvicorn
volatile==2.1.0
# via bowler
-watchfiles==0.15.0
+watchfiles==0.16.1
# via uvicorn
websockets==10.3
# via uvicorn
diff --git a/setup.py b/setup.py
index deaf47f955f..9a6bcb9180b 100644
--- a/setup.py
+++ b/setup.py
@@ -57,7 +57,7 @@
"Jinja2>=2,<4",
"jsonschema",
"mmh3",
- "numpy>=1.22,<2",
+ "numpy<1.22,<2",
"pandas>=1,<2",
"pandavro==1.5.*",
"protobuf>3.20,<4",
@@ -131,8 +131,8 @@
"flake8",
"black==19.10b0",
"isort>=5,<6",
- "grpcio-tools==1.47.0",
- "grpcio-testing==1.47.0",
+ "grpcio-tools>=1.47.0",
+ "grpcio-testing>=1.47.0",
"minio==7.1.0",
"mock==2.0.0",
"moto",
@@ -517,8 +517,8 @@ def copy_extensions_to_source(self):
use_scm_version=use_scm_version,
setup_requires=[
"setuptools_scm",
- "grpcio==1.47.0",
- "grpcio-tools==1.47.0",
+ "grpcio>=1.47.0",
+ "grpcio-tools>=1.47.0",
"mypy-protobuf==3.1",
"pybindgen==0.22.0",
"sphinx!=4.0.0",