Skip to main content

Package for the Featureform Feature Store

Project description

Featureform Python Client

Overview

Featureform’s Python client is a SDK for defining, managing and serving resources (e.g. infrastructure providers, data sources, transformations, etc.). At a high level, the API is divided into two parts:

  • Registration: register data stores (e.g. PostgreSQL), data sources (e.g. tables or CSV files) as resources or get and/or list previously registered resources
  • Serving: retrieve training sets and features for offline training or online inference

Requirements

  • Python 3.7-3.10 (Untested with version 3.11)

Setting Up Your Local Development Environment

Step 1: Install gRPC and Protocol Buffer Tooling

See grpc.io for instructions on installing the protocol buffer compiler for your OS and language-specific plugins for Golang (NOTE: the Golang dependencies can also be installed via Homebrew.)

Step 2: Create Python Virtual Environment

You may create a Python virtual environment however you prefer, but the directory name .venv is ignored by Git for convenience, so you may choose to create your virtual environment in the root of the project.

> python -m venv .venv && . .venv/bin/activate
(.venv) >

Step 3: Upgrade pip and Install Build Dependencies

The following dependencies are required to build the client:

(.venv) > python -m pip install --upgrade pip
(.venv) > python -m pip install -r requirements.txt

Step 4: Compile API Protocol Buffers and Python Stub

The shell script gen_grpc.sh has been provided for convenience. Change the file access permissions to make it executable and run it:

(.venv) > chmod +x gen_grpc.sh
(.venv) > ./gen_grpc.sh

Step 5: Build Python Client and Dashboard

The shell script pip_update.sh has been provided for convenience. Change the file access permissions to make it executable and run it:

(.venv) > chmod +x pip_update.sh
(.venv) > ./pip_update.sh

Step 6: Optionally Run Client Test Suite

To ensure your changes haven’t broken the client, run the test suite with the following make target:

(.venv) > make pytest

Outcome

With steps 1-5 successfully completed, you should have the featureform CLI command accessible in your terminal session.

(.venv) > featureform -h

To further verify that your setup is complete and correct, you may optionally walk through the Quickstart (Local) tutorial. You may put the definitions.py file at the root of the project, which won’t be ignored by Git, or use a URL to a file (e.g. hosted on GitHub).

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

featureform-1.9.2rc6.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

featureform-1.9.2rc6-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file featureform-1.9.2rc6.tar.gz.

File metadata

  • Download URL: featureform-1.9.2rc6.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for featureform-1.9.2rc6.tar.gz
Algorithm Hash digest
SHA256 ce5eb4c69b5dfba44b391ecbf5942c39913670b3a98599ca161fa95739787d3f
MD5 802b1cf7a4d68fff5b093f8c9e39530f
BLAKE2b-256 775c2289a209b9aecf159c85f1f70b2ac6af5d0b894dc7c8b5accdf0edc2a6ef

See more details on using hashes here.

File details

Details for the file featureform-1.9.2rc6-py3-none-any.whl.

File metadata

  • Download URL: featureform-1.9.2rc6-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for featureform-1.9.2rc6-py3-none-any.whl
Algorithm Hash digest
SHA256 175d468c8e3ee93ee8134ec617b3058c0e1e78f2c2e43f9471e15f6dfe1bc26a
MD5 198636f5206f40d0e371e41daad1e195
BLAKE2b-256 1b2b51d39af01c5da615ed6fd9dc985c1a24c33a77ab538abae6d8e19d9120e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page