Skip to content

Implementation of ID Code import functionality#226

Merged
sababak merged 22 commits intomasterfrom
pr-EDMMMX-13662-id-python-code
Mar 12, 2026
Merged

Implementation of ID Code import functionality#226
sababak merged 22 commits intomasterfrom
pr-EDMMMX-13662-id-python-code

Conversation

@sababak
Copy link
Collaborator

@sababak sababak commented Feb 5, 2026

Summary

This PR introduces Python code file functionality for SAS Intelligent Decisioning, it include ID code format validation, file import capabilities, and automated dependency detection.

New Features

Main methods

  • write_id_code_file() method: Uploads a python code file to Viya file service, optionally validate code formatting, create an ID Code file linked to uploaded file
  • validate_id_code() method: Validates Python code against SAS Intelligent Decisioning requirements using the /decisions/commons/validations/codeFiles endpoint

Code Validation System

  • validate_id_code() method: Validates Python code against SAS Intelligent Decisioning requirements
  • validate_code parameter: Optional boolean to disable validation (default: True)

File Import Capabilities

  • Code support: Accepts pathlib.Path objects, file path strings, or code passed in as a string
  • Automatic file reading: Reads content from .py files when paths provided
  • Path resolution: Detects file paths vs. code strings
  • Error handling: Graceful handling of invalid paths

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@codecov
Copy link

codecov bot commented Feb 23, 2026

Codecov Report

❌ Patch coverage is 96.25000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 64.53%. Comparing base (973fa82) to head (ea01611).
⚠️ Report is 12 commits behind head on master.

Files with missing lines Patch % Lines
src/sasctl/pzmm/code_file.py 97.22% 2 Missing ⚠️
src/sasctl/_services/files.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #226      +/-   ##
==========================================
+ Coverage   64.26%   64.53%   +0.26%     
==========================================
  Files          57       58       +1     
  Lines        6286     6339      +53     
==========================================
+ Hits         4040     4091      +51     
- Misses       2246     2248       +2     
Flag Coverage Δ
integration 64.53% <96.25%> (+0.26%) ⬆️
unit 64.53% <96.25%> (+0.26%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sababak sababak marked this pull request as ready for review February 26, 2026 14:42
@kaponte75 kaponte75 self-requested a review March 3, 2026 00:45
@kaponte75 kaponte75 assigned kaponte75 and sababak and unassigned kaponte75 and sababak Mar 3, 2026
@sababak sababak closed this Mar 6, 2026
@sababak sababak reopened this Mar 6, 2026
sababak and others added 19 commits March 9, 2026 10:17
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
sababak added 2 commits March 9, 2026 10:17
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
@sababak sababak force-pushed the pr-EDMMMX-13662-id-python-code branch from be8cf13 to b96bd36 Compare March 9, 2026 14:17
Signed-off-by: Samuel Babak <samuel.babak@sas.com>
@sababak sababak force-pushed the pr-EDMMMX-13662-id-python-code branch from 50d96d3 to c8b6716 Compare March 12, 2026 14:08
@sababak sababak merged commit c3dea3c into master Mar 12, 2026
19 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants