Skip to content

Commit

Permalink
Redesign of code with uv, Makefile, Pydantic (#23)
Browse files Browse the repository at this point in the history
* big refactor
  • Loading branch information
jimdowling authored Jan 9, 2025
1 parent 0d92a90 commit f71cbf4
Show file tree
Hide file tree
Showing 86 changed files with 16,731 additions and 7,955 deletions.
11 changes: 11 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Required for feature store, model registry, model serving
AQI_API_KEY=
FELDERA_API_KEY=<Feldera API KEY VALUE>
OPENAI_API_KEY=<OPENAI API KEY VALUE>
#HOPSWORKS_PROJECT=jim
HOPSWORKS_API_KEY=

AQCI_URL=https://api.waqi.info/feed/@10009
AQCI_COUNTRY=sweden
AQCI_CITY=stockholm
AQCI_STREET=hornsgatan-108
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
data/hopsworks-api-key.txt
data/aqi-api-key.txt

.env

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down
76 changes: 76 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# conda create -n mlfs python==3.11
# conda activate mlsfs
# conda install twofish clang -y

include .env
export $(shell sed 's/=.*//' .env)

install:
@if [ -n "$$CONDA_DEFAULT_ENV" ]; then \
echo "You are in a Conda environment: $$CONDA_DEFAULT_ENV"; \
elif python -c 'import sys; exit(0 if hasattr(sys, "real_prefix") or (hasattr(sys, "base_prefix") and sys.base_prefix != sys.prefix) else 1)'; then \
echo "You are running in a Python virtual environment."; \
else \
echo "No virtual environment or Conda environment detected. Please create and activate one first, then re-run 'make install'"; \
exit 1; \
fi
pip install uv
uv pip install --all-extras --system --requirement pyproject.toml

cc-start-ui:
uv run python -m streamlit run streamlit_app.py



cc-purge:
uv run python mlfs/clean_hopsworks_resources.py cc

cc-data-generation:
uv run ipython notebooks/ccfraud/0-data-generation-with-polars.ipynb

cc-features:
uv run ipython notebooks/ccfraud/1-batch-polars-feature-pipeline.ipynb

cc-streaming-features:
uv run ipython notebooks/ccfraud/1-streaming-feature-pipeline-feldera.ipynb
cc-train:
uv run ipython notebooks/ccfraud/

cc-deploy:
uv run ipython notebooks/ccfraud/

cc-all: cc-features cc-streaming-features cc-train cc-deploy

aq-purge:
uv run python mlfs/clean_hopsworks_resources.py aq

aq-features:
uv run ipython notebooks/airquality/1_air_quality_feature_backfill.ipynb

aq-train:
uv run ipython notebooks/airquality/3_air_quality_training_pipeline.ipynb

aq-inference:
uv run ipython notebooks/airquality/2_air_quality_feature_pipeline.ipynb
uv run ipython notebooks/airquality/4_air_quality_batch_inference.ipynb

aq-llm:
uv run ipython notebooks/airquality/5_function_calling.ipynb

aq-all: aq-features aq-train aq-inference

titanic-purge:
uv run python mlfs/clean_hopsworks_resources.py titanic

titanic-features:
uv run ipython notebooks/titanic/1-titanic-feature-group-backfill.ipynb

titanic-train:
uv run ipython notebooks/titanic/2-titanic-training-pipeline.ipynb

titanic-inference:
uv run ipython notebooks/titanic/scheduled-titanic-feature-pipeline-daily.ipynb
uv run ipython notebooks/titanic/scheduled-titanic-batch-inference-daily.ipynb

titanic-all: titanic-features titanic-train titanic-inference

Loading

0 comments on commit f71cbf4

Please sign in to comment.