You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add any dependencies for your offline store to our `sdk/python/setup.py` under a new `<OFFLINE_STORE>__REQUIRED` list with the packages and add it to the setup script so that if your offline store is needed, users can install the necessary python packages. These packages should be defined as extras so that they are not installed by users by default. You will need to regenerate our requirements files. To do this, create separate pyenv environments for python 3.8, 3.9, and 3.10. In each environment, run the following commands:
443
+
Add any dependencies for your offline store to our `sdk/python/setup.py` under a new `<OFFLINE_STORE>__REQUIRED` list with the packages and add it to the setup script so that if your offline store is needed, users can install the necessary python packages. These packages should be defined as extras so that they are not installed by users by default. You will need to regenerate our requirements files:
Copy file name to clipboardExpand all lines: docs/project/development-guide.md
+24-37Lines changed: 24 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,8 +54,8 @@ See [Contribution process](./contributing.md) and [Community](../community.md) f
54
54
## Making a pull request
55
55
We use the convention that the assignee of a PR is the person with the next action.
56
56
57
-
If the assignee is empty it means that no reviewer has been found yet.
58
-
If a reviewer has been found, they should also be the assigned the PR.
57
+
If the assignee is empty it means that no reviewer has been found yet.
58
+
If a reviewer has been found, they should also be the assigned the PR.
59
59
Finally, if there are comments to be addressed, the PR author should be the one assigned the PR.
60
60
61
61
PRs that are submitted by the general public need to be identified as `ok-to-test`. Once enabled, [Prow](https://github.com/kubernetes/test-infra/tree/master/prow) will run a range of tests to verify the submission, after which community members will help to review the pull request.
@@ -120,51 +120,39 @@ Note that this means if you are midway through working through a PR and rebase,
120
120
121
121
## Feast Python SDK and CLI
122
122
### Environment Setup
123
-
Setting up your development environment for Feast Python SDK and CLI:
124
-
1. Ensure that you have Docker installed in your environment. Docker is used to provision service dependencies during testing, and build images for feature servers and other components.
123
+
#### Tools
124
+
-Docker: Docker is used to provision service dependencies during testing, and build images for feature servers and other components.
125
125
- Please note that we use [Docker with BuiltKit](https://docs.docker.com/develop/develop-images/build_enhancements/).
126
126
-_Alternatively_ - To use [podman](https://podman.io/) on a Fedora or RHEL machine, follow this [guide](https://github.com/feast-dev/feast/issues/4190)
127
-
2. Ensure that you have `make` and Python (3.9 or above) installed.
128
-
3._Recommended:_ Create a virtual environment to isolate development dependencies to be installed
129
-
```sh
130
-
# create & activate a virtual environment
131
-
python -m venv venv/
132
-
source venv/bin/activate
133
-
```
134
-
4. (M1 Mac only): Follow the [dev guide](https://github.com/feast-dev/feast/issues/2105)
135
-
5. Install uv. It is recommended to use uv for managing python dependencies.
127
+
-`make` is used to run various scripts
128
+
-[uv](https://docs.astral.sh/) for managing python dependencies. [installation instructions](https://docs.astral.sh/uv/getting-started/installation/)
129
+
- (M1 Mac only): Follow the [dev guide if you have issues](https://github.com/feast-dev/feast/issues/2105)
130
+
- (Optional): Node & Yarn (needed for building the feast UI)
131
+
- (Optional): [Pixi](https://pixi.sh/latest/) for recompile python lock files. Only when you make changes to requirements or simply want to update python lock files to reflect latest versioons.
132
+
133
+
### Quick start
134
+
- create a new virtual env: `uv venv --python 3.11` (Replace the python version with your desired version)
6. (Optional): Install Node & Yarn. Then run the following to build Feast UI artifacts for use in `feast ui`
144
-
```
145
140
make build-ui
146
141
```
147
-
7. (Optional) install pixi. pixi is necessary to run step 8 for all python versions at once.
148
-
```sh
149
-
curl -fsSL https://pixi.sh/install.sh | bash
150
-
```
151
-
8. (Optional): Recompile python lock files. Only when you make changes to requirements or simply want to update python lock files to reflect latest versioons.
152
-
```sh
153
-
make lock-python-dependencies-all
154
-
```
155
-
9. Install development dependencies for Feast Python SDK and CLI. This will install package versions from the lock file, install editable version of feast and compile protobufs.
156
142
157
-
If running inside a virtual environment:
143
+
### Recompiling python lock files
144
+
Recompile python lock files. This only needs to be run when you make changes to requirements or simply want to update python lock files to reflect latest versions.
Please refer to the maintainers [doc](maintainers.md) if you would like to locally test out the github actions workflow changes.
396
+
Please refer to the maintainers [doc](maintainers.md) if you would like to locally test out the github actions workflow changes.
409
397
This document will help you setup your fork to test the ci integration tests and other workflows without needing to make a pull request against feast-dev master.
410
398
411
399
## Feast Data Storage Format
@@ -414,4 +402,3 @@ Feast data storage contracts are documented in the following locations:
414
402
415
403
* [Feast Offline Storage Format](https://github.com/feast-dev/feast/blob/master/docs/specs/offline_store_format.md): Used by BigQuery, Snowflake \(Future\), Redshift \(Future\).
416
404
* [Feast Online Storage Format](https://github.com/feast-dev/feast/blob/master/docs/specs/online_store_format.md): Used by Redis, Google Datastore.
0 commit comments