-
Notifications
You must be signed in to change notification settings - Fork 7
APP-226 - Initial Report Execution Service Scaffolding #3004
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
|
||
| assert response.status_code == 422 # Unprocessable Entity | ||
|
|
||
| def test_execute_report_invalid_field_types(self, client): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧑🔬
apps/report-execution/README.md
Outdated
| 1. Install Python 3.14 with `uv`: | ||
| ```bash | ||
| uv python install 3.14 | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(q, b): if you already manage python another way, do you need to do this part?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You shouldn't! Will update to indicate it as optional.
.gitignore
Outdated
| cdc-sandbox/NEDSSDev | ||
| cdc-sandbox/.env | ||
|
|
||
| # report-execution app |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(sugg, nb): do we want a nested .gitignore in the service vs adding to the outer? this seems to be a common pattern
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Definitely! This was initially my preference, but I didn't want to apply that if others felt differently - will update!
| uses: actions/setup-python@v5 | ||
|
|
||
| - name: Install uv | ||
| uses: astral-sh/setup-uv@v5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(❓, blocking) I remember when working on this we wanted to mindful of which 3rd party actions we are using. (Please correct me if I misunderstood @mcmcgrath13) Is this accepted by the CDC? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@emmastephenson do you know if that's a concern for cdcgov like it is for cdcent?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I remember a conversation with Boris about this at some point, but I sure can't find it now 😵💫 I think it should be fine to add this one, though! Looks like it's already in use across CDCGov so I don't expect adding it here will be a problem.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you Emma and Mary!!!
apps/report-execution/Dockerfile
Outdated
| COPY src ./src | ||
|
|
||
| # Expose the port FastAPI will run on | ||
| EXPOSE 8000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(❓, blocking) We use already use this port -- should this be something else to not clash? 👀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, good catch! I noticed that as well in the separate branch for the docker-compose work - will update here!
apps/report-execution/pyproject.toml
Outdated
| "fastapi[standard]>=0.128.0", | ||
| "pydantic>=2.12.5", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| "fastapi[standard]>=0.128.0", | |
| "pydantic>=2.12.5", | |
| "fastapi[standard]~=0.128.0", | |
| "pydantic~=2.12.5", |
(sugg, b): to make sure we're on the expected major version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
though that would only help with the patch at the level of specificity 🤔 , which for fastapi is probably good, but maybe pydantic~=2.12 🥴 TIL python's version specifiers lack some expressivity...
apps/report-execution/pyproject.toml
Outdated
| "pytest>=9.0.2", | ||
| "ruff>=0.15.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| "pytest>=9.0.2", | |
| "ruff>=0.15.0", | |
| "pytest~=9.0", | |
| "ruff~=0.15.0", |
Co-authored-by: Mary McGrath <m.c.mcgrath13@gmail.com>
Co-authored-by: Mary McGrath <m.c.mcgrath13@gmail.com>
Co-authored-by: Mary McGrath <m.c.mcgrath13@gmail.com>
Co-authored-by: Mary McGrath <m.c.mcgrath13@gmail.com>
Description
This PR introduces some initial scaffolding to establish the new Python-based report execution "service" within NEDSS-Modernization, built with
uvand FastAPI. It also includes:pytestfor, well, testing, and introduces some rudimentary testsrufffor linting and formattinguv, but open to suggestions!Tickets
Checklist before requesting a review