Skip to content

IEBH-353: Sync with the latest changes#9

Merged
vmoshynskyi merged 2 commits intomainfrom
IEBH-353
Nov 26, 2025
Merged

IEBH-353: Sync with the latest changes#9
vmoshynskyi merged 2 commits intomainfrom
IEBH-353

Conversation

@vmoshynskyi
Copy link
Member

Add the latest changes from the pilot repo.

@github-actions
Copy link

github-actions bot commented Nov 26, 2025

Coverage

Coverage Report
FileStmtsMissCoverMissing
__init__.py00100% 
api_registry.py00100% 
config.py0198%60
logger.py00100% 
main.py0682%32–33, 35, 39–41
namespace.py00100% 
clients
   __init__.py00100% 
   lineage.py0185%19
components
   __init__.py00100% 
   types.py0190%14
components/request
   __init__.py00100% 
   context.py00100% 
   http_client.py00100% 
components/user
   __init__.py00100% 
   models.py0296%61–62
models
   __init__.py00100% 
   base_models.py00100% 
   dataset_models.py00100% 
   error_model.py00100% 
   file_models.py00100% 
   lineage_models.py00100% 
   manifest_models.py00100% 
   project_models.py00100% 
   validation_models.py00100% 
resources
   __init__.py00100% 
   dependencies.py02670%43, 61, 96–97, 99–104, 108, 110–111, 117–123, 125–129, 136
   error_handler.py0783%22–28
   health_check.py0833%15–16, 22–27
   helpers.py03974%62–63, 86–88, 90–93, 95–96, 100–107, 122, 141–143, 166, 179–181, 217–228
   validation_service.py02367%29–30, 38–43, 64–66, 68–70, 77–79, 84–86, 88–90
resources/authorization
   decorator.py0493%56–59
   exceptions.py00100% 
   models.py00100% 
routers
   __init__.py00100% 
   api_root.py00100% 
routers/v1
   __init__.py00100% 
   api_dataset.py01787%71, 76, 81–84, 87, 92, 94–96, 98, 103, 105, 107, 177–178
   api_file.py01384%63–65, 67, 69, 72–73, 75–76, 121–124
   api_lineage.py00100% 
   api_manifest.py02882%58–59, 75–77, 83–87, 111–112, 144–149, 164–168, 185–187, 210–211
   api_project.py02387%88–90, 93–97, 124–126, 165–168, 170, 181–183, 223, 294–296
   api_validation.py0694%62–64, 89–91
services
   __init__.py00100% 
services/dataset
   __init__.py00100% 
   client.py00100% 
services/project
   __init__.py00100% 
   client.py00100% 
TOTAL154220586% 

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR synchronizes the codebase with the latest changes from the pilot repository, modernizing the architecture and dependencies while introducing a new request handling abstraction layer.

Key Changes:

  • Introduces HTTPClient and RequestContext abstractions to centralize HTTP request handling and header filtering for improved security and maintainability
  • Updates Python dependency constraints to 3.10.x only and upgrades major dependencies (FastAPI 0.90→0.115, httpx 0.23→0.27, gunicorn 20.0.4→23.0.0, redis 3.5.3→4.5.5, cryptography 39.0.0→44.0.3)
  • Modernizes Python type hints from typing module types to built-in generics (PEP 585/604)
  • Removes Vault configuration in favor of simpler environment-based configuration
  • Replaces Jenkinsfile CI/CD with GitHub Actions workflow

Reviewed changes

Copilot reviewed 30 out of 31 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
pyproject.toml Updates Python constraint to 3.10.x and upgrades multiple dependencies including FastAPI, httpx, gunicorn, redis, cryptography, and pilot-platform-common
poetry.lock Reflects dependency updates with new package versions and removal of deprecated packages (aioredis, rfc3986)
app/components/request/http_client.py Adds new HTTPClient wrapper class to standardize HTTP requests with header management
app/components/request/context.py Adds RequestContext class to filter and manage request headers for downstream service calls
app/components/request/__init__.py Adds package initialization file for new request components module
app/services/dataset/client.py Refactors to use HTTPClient instead of direct AsyncClient, updates imports to use collections.abc
app/routers/v1/api_project.py Replaces Request parameter with RequestContext in endpoints for better header management
app/routers/v1/api_dataset.py Updates imports to use modern type hints and passes HTTPClient to helper functions
app/resources/helpers.py Refactors dataset functions to accept HTTPClient parameter and adds proper error propagation
app/resources/health_check.py Updates redis import from aioredis to redis.asyncio
app/resources/error_handler.py Capitalizes docstrings for consistency
app/resources/dependencies.py Renames parameter from header to headers for clarity
app/resources/validation_service.py Uses bytes literal instead of encode() for improved readability
app/resources/authorization/decorator.py Updates to handle both Request and RequestContext objects, modernizes type hints
app/models/project_models.py Replaces typing.Dict/List with built-in dict/list types
app/models/file_models.py Improves docstring formatting and modernizes string formatting
app/config.py Removes Vault configuration, updates version, adds SettingsDependency type alias
app/main.py Capitalizes docstring for consistency
tests/fixtures/request_context.py Adds new fixture for RequestContext in tests
tests/fixtures/services/dataset.py Updates dataset_service_client fixture to use request_context
tests/fixtures/fake.py Adds headers() method and changes fixture scope from session to function
tests/conftest.py Registers new request_context fixture plugin
tests/app/components/request/__init__.py Adds package initialization for request component tests
tests/app/components/request/test_http_client.py Adds tests for HTTPClient header merging behavior
tests/routers/v1/test_api_file.py Removes empty parent_path parameter from test URL
tests/routers/v1/test_api_dataset.py Updates import to use collections.abc.Callable
.github/workflows/hdc-pipeline.yml Adds new GitHub Actions workflow for HDC CI/CD pipeline
.pre-commit-config.yaml Updates docformatter version from v1.7.5 to v1.7.7
.env.example Removes Vault-related configuration variables
Jenkinsfile Removes deprecated Jenkins pipeline configuration
README.md Removes trailing newline

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

@vmoshynskyi vmoshynskyi merged commit 28018bb into main Nov 26, 2025
6 checks passed
@vmoshynskyi vmoshynskyi deleted the IEBH-353 branch November 26, 2025 16:47
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.

1 participant