-
Notifications
You must be signed in to change notification settings - Fork 42
Add FastAPI for SsvcObjectRegistry, including docker container. Also convert package management to uv #893
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Conflicts: # docker/Dockerfile
… feature/fastapi
I intend to add |
|
…shed commits) Squashed commits: [15dd288] add unit tests for Objects API in test_objects.py [b9f2d70] add unit tests for Versions API in test_versions.py [ca2a5b0] rename test files for Keys and Namespaces APIs [4b78a6f] add unit tests for Keys API in test_keys.py [8963982] add unit tests for Namespaces API in test_namespaces.py [7fb49a3] add unit tests for Types API in test_types.py [a34e48a] add unit tests for Decision Point API in test_decision_table.py [7fc227b] refactor test setup for Decision Point API and improve registry handling [d69e29c] add unit tests for Decision Point API endpoints [8770218] rename ListOfStringsType to StringsListType for consistency across response models [7eb02a9] add _404_on_none helper function and corresponding tests
sei-vsarvepalli
approved these changes
Aug 26, 2025
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.
Project moonshot..
…stapi # Conflicts: # requirements.txt
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
uv
into our build process #895This PR:
FastAPI
REST interface for the registry object from Refactor registry construction #844uv
to manage thepyproject.toml
, which allows us to consolidate our package and virtual environment management into one place.requirements.txt
can now be dumped frompyproject.toml
.uv
in the build processTo try the api:
make api_dev
(local with live reload) ormake api
(docker)api_dev
or localhost:8001 forapi
You can also do
make up
and assuming docker is installed it will run three containers:Copilot Summary as of 1062ba9
This pull request introduces several significant improvements to the project, focusing on modernizing dependency management, enhancing development workflows, and adding a new API for the SSVC registry. The changes migrate the build and test systems to use
uv
for Python dependency and environment management, update Docker and Makefile workflows for consistency, and introduce a FastAPI-based API for accessing SSVC decision points and tables. Additionally, a new decision point group is added, and schema examples are updated for clarity.Development and Build System Modernization:
Migrated Python dependency management and environment setup from
pip
and requirements files touv
, updating all relevant CI workflows (.github/workflows/link_checker.yml
,.github/workflows/python-app.yml
), theMakefile
, and Dockerfiles to useuv sync
anduv run
for installing dependencies and running commands. This streamlines development, testing, and documentation processes. [1] [2] [3] [4] [5]Updated the minimum required Python version to 3.12 and pinned all dependencies in
src/pyproject.toml
, ensuring reproducible builds and compatibility with the new tooling. Added a[dependency-groups]
section for development dependencies. [1] [2] [3]Docker and Makefile Enhancements:
Refactored Dockerfiles and
docker-compose.yml
to add a dedicatedapi
service for the new registry API, improved build caching, and ensured that all services consistently use the new dependency management approach. Added and updated Makefile targets for local and Docker-based development, testing, and documentation workflows. [1] [2] [3] [4]Added a
.dockerignore
file to exclude unnecessary files and directories from Docker build context, improving build performance and security.API Addition:
src/ssvc/api/main.py
), module initialization (src/ssvc/api/__init__.py
), and helper functions (src/ssvc/api/helpers.py
). The API exposes endpoints for decision points, tables, types, namespaces, and more, and is integrated into Docker and Makefile workflows. [1] [2] [3]Data and Schema Updates:
Added a new decision point group JSON file for "theParanoids" prioritized risk remediation (
data/json/decision_points/x_com_yahooinc_prioritized_risk_remediation/theparanoids_1_0_0.json
).Updated example values in multiple JSON schema files to more accurately reflect extension and localization patterns. [1] [2] [3] [4] [5] [6]