From 7a0e7c96e82dad434834d12978a4897e0d30d149 Mon Sep 17 00:00:00 2001 From: marcellodebernardi Date: Mon, 9 Feb 2026 15:04:07 +0000 Subject: [PATCH 1/4] feat: makefile.local --- .gitignore | 1 + Makefile | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e223cff1..d1c5ec7b 100644 --- a/.gitignore +++ b/.gitignore @@ -202,3 +202,4 @@ notebooks/ **/.claude/settings.local.json config.yaml +Makefile.local diff --git a/Makefile b/Makefile index 36dc71ef..4a6fc688 100644 --- a/Makefile +++ b/Makefile @@ -340,4 +340,7 @@ clean-images: .PHONY: clean clean: clean-workdir clean-images - @echo "✅ Full cleanup complete!" \ No newline at end of file + @echo "✅ Full cleanup complete!" + +# Include local overrides (not committed to git) +-include Makefile.local \ No newline at end of file From 24934f17b7c08a4bf0b45c411d1d46e333afb1bc Mon Sep 17 00:00:00 2001 From: marcellodebernardi Date: Mon, 9 Feb 2026 15:04:20 +0000 Subject: [PATCH 2/4] fix: pyspark version bounds too loose --- Dockerfile | 2 +- poetry.lock | 15 +++++++-------- pyproject.toml | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index b6718fcb..9dbe878e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -75,7 +75,7 @@ ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-${TARGETARCH} ENV PATH="${JAVA_HOME}/bin:${PATH}" # Install pyspark extra -RUN pip install --no-cache-dir 'pyspark>=4.0.1,<5.0.0' +RUN pip install --no-cache-dir 'pyspark>=4.0.1,<4.1.0' # Download Spark JARs for S3 + Avro support (avoids ~40s Maven download at runtime) RUN mkdir -p /opt/spark-jars && \ diff --git a/poetry.lock b/poetry.lock index cd2f774b..0cc30407 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3973,26 +3973,25 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyspark" -version = "4.1.1" +version = "4.0.2" description = "Apache Spark Python API" optional = true -python-versions = ">=3.10" +python-versions = ">=3.9" groups = ["main"] markers = "extra == \"pyspark\"" files = [ - {file = "pyspark-4.1.1.tar.gz", hash = "sha256:77f78984aa84fbe865c717dd37b49913b4e5c97d76ef6824f932f1aefa6621ec"}, + {file = "pyspark-4.0.2.tar.gz", hash = "sha256:938b4a1883383374d331ebfcb5d92debfa1891cf3d7a6d730520a1a2d23f1a90"}, ] [package.dependencies] py4j = ">=0.10.9.7,<0.10.9.10" [package.extras] -connect = ["googleapis-common-protos (>=1.71.0)", "grpcio (>=1.76.0)", "grpcio-status (>=1.76.0)", "numpy (>=1.21)", "pandas (>=2.2.0)", "pyarrow (>=15.0.0)", "zstandard (>=0.25.0)"] +connect = ["googleapis-common-protos (>=1.65.0)", "grpcio (>=1.67.0)", "grpcio-status (>=1.67.0)", "numpy (>=1.21)", "pandas (>=2.0.0)", "pyarrow (>=11.0.0)"] ml = ["numpy (>=1.21)"] mllib = ["numpy (>=1.21)"] -pandas-on-spark = ["numpy (>=1.21)", "pandas (>=2.2.0)", "pyarrow (>=15.0.0)"] -pipelines = ["googleapis-common-protos (>=1.71.0)", "grpcio (>=1.76.0)", "grpcio-status (>=1.76.0)", "numpy (>=1.21)", "pandas (>=2.2.0)", "pyarrow (>=15.0.0)", "pyyaml (>=3.11)", "zstandard (>=0.25.0)"] -sql = ["numpy (>=1.21)", "pandas (>=2.2.0)", "pyarrow (>=15.0.0)"] +pandas-on-spark = ["numpy (>=1.21)", "pandas (>=2.0.0)", "pyarrow (>=11.0.0)"] +sql = ["numpy (>=1.21)", "pandas (>=2.0.0)", "pyarrow (>=11.0.0)"] [[package]] name = "pytest" @@ -5967,4 +5966,4 @@ pyspark = ["pyspark"] [metadata] lock-version = "2.1" python-versions = ">=3.10,<3.13" -content-hash = "91dc974facc032fe3e3671ea88d0b049ed645baae2f74d4345fb7f6f40afb8b0" +content-hash = "be497053105e160a447720c8c6dee9308c311b1ea86dc19b694d46e3967d77a8" diff --git a/pyproject.toml b/pyproject.toml index 01896d5d..9178fdd1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,7 +66,7 @@ pydantic = ">=2.7.4,<3.0.0" pydantic-settings = ">=2.0.0,<3.0.0" # Optional dependencies -pyspark = { version = ">=4.0.1,<5.0.0", optional = true } +pyspark = { version = ">=4.0.1,<4.1.0", optional = true } databricks-connect = { version = ">=17.3.1,<18.0.0", python = "3.12", optional = true } boto3 = { version = ">=1.35.0,<2.0.0", optional = true } From 1eea9811e5d36dc6c002aeb9efb3ce15ef1423e4 Mon Sep 17 00:00:00 2001 From: marcellodebernardi Date: Mon, 9 Feb 2026 15:05:42 +0000 Subject: [PATCH 3/4] chore: bump patch version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 9178fdd1..942025ac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "plexe" -version = "1.0.0" +version = "1.0.1" description = "An agentic framework for building ML models from natural language" authors = [ "Marcello De Bernardi ", From 5b2410e4b878edff59698d640b3bcc314d1e9daa Mon Sep 17 00:00:00 2001 From: marcellodebernardi Date: Mon, 9 Feb 2026 15:35:32 +0000 Subject: [PATCH 4/4] fix: applying config to wrong logger --- plexe/CODE_INDEX.md | 2 +- plexe/config.py | 2 +- tests/CODE_INDEX.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plexe/CODE_INDEX.md b/plexe/CODE_INDEX.md index 833a5750..28382dbf 100644 --- a/plexe/CODE_INDEX.md +++ b/plexe/CODE_INDEX.md @@ -1,6 +1,6 @@ # Code Index: plexe -> Generated on 2026-02-08 21:45:49 +> Generated on 2026-02-09 15:35:33 Code structure and public interface documentation for the **plexe** package. diff --git a/plexe/config.py b/plexe/config.py index 8f242371..8314f0fc 100644 --- a/plexe/config.py +++ b/plexe/config.py @@ -494,7 +494,7 @@ def setup_logging(config: Config) -> logging.Logger: Configured package logger """ # Get package root logger - package_logger = logging.getLogger("source") + package_logger = logging.getLogger("plexe") package_logger.setLevel(getattr(logging, config.log_level.upper())) # Clear existing handlers to avoid duplicates diff --git a/tests/CODE_INDEX.md b/tests/CODE_INDEX.md index c4a88168..8b4fa262 100644 --- a/tests/CODE_INDEX.md +++ b/tests/CODE_INDEX.md @@ -1,6 +1,6 @@ # Code Index: tests -> Generated on 2026-02-08 21:45:49 +> Generated on 2026-02-09 15:35:33 Test suite structure and test case documentation.