febus982/bootstrap-python-fastapi

View on GitHub
Update docker/setup-buildx-action action to v3.7.0 (#210) #835
renovate[bot] authored eb3bea11
complete00:00:16
1
git clone
2
codeclimate validate-config
View output
codeclimate validate-config
No errors or warnings found in .codeclimate.yml.
3
codeclimate prepare
View output
codeclimate prepare
4
builder pull-engines
View output
determining required images
docker pull codeclimate/codeclimate-sonar-python:b10
b10: Pulling from codeclimate/codeclimate-sonar-python
709515475419: Pulling fs layer
d1c225ed7c34: Pulling fs layer
887f300163b6: Pulling fs layer
a3ed95caeb02: Pulling fs layer
9b412187b352: Pulling fs layer
8fe915fa1948: Pulling fs layer
65145a386a45: Pulling fs layer
a64dfb9c0f27: Pulling fs layer
59a464ab5a51: Pulling fs layer
47413513c002: Pulling fs layer
9f30da6d3676: Pulling fs layer
9b412187b352: Waiting
a3ed95caeb02: Waiting
59a464ab5a51: Waiting
47413513c002: Waiting
9f30da6d3676: Waiting
8fe915fa1948: Waiting
65145a386a45: Waiting
a64dfb9c0f27: Waiting
d1c225ed7c34: Verifying Checksum
d1c225ed7c34: Download complete
709515475419: Verifying Checksum
709515475419: Download complete
709515475419: Pull complete
a3ed95caeb02: Verifying Checksum
a3ed95caeb02: Download complete
9b412187b352: Download complete
d1c225ed7c34: Pull complete
65145a386a45: Download complete
887f300163b6: Verifying Checksum
887f300163b6: Download complete
59a464ab5a51: Verifying Checksum
59a464ab5a51: Download complete
8fe915fa1948: Verifying Checksum
8fe915fa1948: Download complete
887f300163b6: Pull complete
a3ed95caeb02: Pull complete
9b412187b352: Pull complete
47413513c002: Verifying Checksum
47413513c002: Download complete
a64dfb9c0f27: Verifying Checksum
a64dfb9c0f27: Download complete
9f30da6d3676: Verifying Checksum
9f30da6d3676: Download complete
8fe915fa1948: Pull complete
65145a386a45: Pull complete
a64dfb9c0f27: Pull complete
59a464ab5a51: Pull complete
47413513c002: Pull complete
9f30da6d3676: Pull complete
Digest: sha256:7904831e83e5474cba8a95726a691787d74d669d74a8721f114057ebb4a8943d
Status: Downloaded newer image for registry.prod.codeclimate.net/codeclimate/codeclimate-sonar-python:b10
5
structure
View output
12
Parser process id: 12
codeclimate-parser socket not present
waiting 1s...
6
duplication
View output
12
Parser process id: 12
codeclimate-parser socket not present
waiting 1s...
I, [2024-11-03T09:54:30.622320 #1]  INFO -- : Skipping file ./src/gateways/event.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 6
    async def emit(
            ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.636619 #1]  INFO -- : Skipping file ./src/http_app/routes/events.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 30
    def _parse_event_registry() -> Dict[str, Type[_EVENTS_UNION_TYPE]]:
                                ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.644980 #1]  INFO -- : Skipping file ./src/http_app/routes/graphql/resolvers.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 4
    async def list_books():
            ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.647469 #1]  INFO -- : Skipping file ./src/http_app/routes/graphql/types.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 8
    book_id: Union[int, None] = None
           ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.655560 #1]  INFO -- : Skipping file ./src/http_app/routes/graphql/__init__.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 8
    router: GraphQLRouter = GraphQLRouter(schema)
          ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.658189 #1]  INFO -- : Skipping file ./src/http_app/routes/graphql/query.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 11
    books: List[Book] = strawberry.field(resolver=list_books)
         ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.668741 #1]  INFO -- : Skipping file ./src/http_app/routes/api/books.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 11
    book: dto.Book
        ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.677513 #1]  INFO -- : Skipping file ./src/http_app/routes/ping.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 8
    ping: str
        ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.679419 #1]  INFO -- : Skipping file ./src/http_app/routes/__init__.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 6
    def init_routes(app: FastAPI) -> None:
                       ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.688083 #1]  INFO -- : Skipping file ./src/http_app/routes/hello.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 10
    async def hello(request: Request):
        ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.699145 #1]  INFO -- : Skipping file ./src/http_app/__init__.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 14
    test_config: Union[AppConfig, None] = None,
               ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.701686 #1]  INFO -- : Skipping file ./src/bootstrap/bootstrap.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 16
    celery_app: Celery
              ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.709795 #1]  INFO -- : Skipping file ./src/bootstrap/storage/SQLAlchemy/default_bind_tables.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 7
    def init_tables(registry_mapper: registry):
                                   ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.712066 #1]  INFO -- : Skipping file ./src/bootstrap/storage/SQLAlchemy/__init__.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 8
    TABLE_INIT_REGISTRY: Dict[str, Callable] = {
                       ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.722624 #1]  INFO -- : Skipping file ./src/bootstrap/di_container.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 63
    BookRepositoryInterface: Factory[BookRepositoryInterface] = Factory(
                           ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.731009 #1]  INFO -- : Skipping file ./src/bootstrap/celery.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 6
    def init_celery(config: AppConfig) -> Celery:
                          ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.733097 #1]  INFO -- : Skipping file ./src/bootstrap/config.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 14
    timezone: str = "UTC"
            ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.741757 #1]  INFO -- : Skipping file ./src/bootstrap/logs/__init__.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 16
    def init_logger(config: AppConfig) -> None:
                          ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.743569 #1]  INFO -- : Skipping file ./src/bootstrap/logs/processors.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 5
    def extract_from_record(_, __, event_dict: EventDict) -> EventDict:
                                             ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.762736 #1]  INFO -- : Skipping file ./src/domains/books/interfaces.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 8
    async def create_book(self, book: BookData) -> Book: ...
            ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.764603 #1]  INFO -- : Skipping file ./src/domains/books/events.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 11
    book_id: int
           ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.773177 #1]  INFO -- : Skipping file ./src/domains/books/dto.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 7
    title: str
         ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.775167 #1]  INFO -- : Skipping file ./src/domains/books/_gateway_interfaces.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 10
    async def save(self, book: BookModel) -> BookModel: ...
            ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.783541 #1]  INFO -- : Skipping file ./src/domains/books/_service.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 15
    _book_repository: BookRepositoryInterface
                    ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.785576 #1]  INFO -- : Skipping file ./src/domains/books/_tasks.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 27
    def book_cpu_intensive_task(book_id: str, **kwargs) -> str:
                                       ^
SyntaxError: invalid syntax


I, [2024-11-03T09:54:30.795853 #1]  INFO -- : Skipping file ./src/domains/books/_models.py due to exception (CC::Engine::Analyzers::ParserError): `python2 /usr/src/app/lib/cc/engine/analyzers/python/parser.py` exited with code 1:
Traceback (most recent call last):
  File "/usr/src/app/lib/cc/engine/analyzers/python/parser.py", line 51, in <module>
    print(json.dumps(to_json(ast.parse(source))))
  File "/usr/local/python2/lib/python2.7/ast.py", line 37, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 7
    title: str
         ^
SyntaxError: invalid syntax
7
sonar-python
sonar-python engine documentation
View output
INFO: Java 1.8.0_111-internal Oracle Corporation (64-bit)
INFO: Linux 4.4.0-1128-aws amd64
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/src/app/build/libs/sonarlint-core-2.17.0.899.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/src/app/build/libs/sonarlint-cli-2.1.0.566.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
INFO: Index files
INFO: 68 files indexed
ERROR: Unable to parse file: /code/src/http_app/routes/events.py
ERROR: Parse error at line 50 column 12:

   43: mode: Literal["single", "batch"]) -> dict[str, Example]:
   44:     missing_example_message = (
   45:         "No example has been added to this event but you can"
   46:         " still explore the event schema. (Ask the developer"
   47:         " to add an example in the event model if you see this"
   48:         " message!)"
   49:     )
  -->      examples: Dict[str, Union[dict, str]] = {
   51:         k: getattr(v, "model_config", {})
   52:         .get("json_schema_extra",

ERROR: Unable to parse file: /code/src/http_app/routes/graphql/types.py
ERROR: Parse error at line 8 column 11:

    1: from typing import Union
    2: 
    3: import strawberry
    4: 
    5: 
    6: @strawberry.type
    7: class Book:
  -->      book_id: Union[int, None] = None
    9:     title: str
   10:     author_name: str
   11: EOF

ERROR: Unable to parse file: /code/src/http_app/routes/graphql/__init__.py
ERROR: Parse error at line 8 column 6:

    1: from strawberry import Schema
    2: from strawberry.fastapi import GraphQLRouter
    3: 
    4: from .query import Query
    5: 
    6: schema = Schema(query=Query)
    7: 
  -->  router: GraphQLRouter = GraphQLRouter(schema)
    9: EOF

ERROR: Unable to parse file: /code/src/http_app/routes/graphql/query.py
ERROR: Parse error at line 11 column 9:

    1: typing import List
    2: 
    3: import strawberry
    4: 
    5: from .resolvers import list_books
    6: from .types import Book
    7: 
    8: 
    9: @strawberry.type
   10: class Query:
  -->      books: List[Book] = strawberry.field(resolver=list_books)
   12: EOF

ERROR: Unable to parse file: /code/src/http_app/routes/api/books.py
ERROR: Parse error at line 11 column 8:

    4: , dto
    5: 
    6: router_v1 = APIRouter(prefix="/books/v1")
    7: router_v2 = APIRouter(prefix="/books/v2")
    8: 
    9: 
   10: class CreateBookResponse(BaseModel):
  -->      book: dto.Book
   12:     model_config = ConfigDict(
   13:         json_schema_extra={
   14:             "example": {
   15:                 "title": "The Hitchhiker's Guide to the Galaxy",
   16:                 "author_name": "Douglas Adams",
   17:                 "book_id": 123,
   18:             }
   19:         }
   20:     )

ERROR: Unable to parse file: /code/src/http_app/routes/ping.py
ERROR: Parse error at line 8 column 8:

    1: from fastapi import APIRouter
    2: from pydantic import BaseModel, ConfigDict
    3: 
    4: router = APIRouter()
    5: 
    6: 
    7: class PingResponse(BaseModel):
  -->      ping: str
    9: 
   10:     model_config = ConfigDict(
   11:         json_schema_extra={
   12:             "example": {
   13:                 "ping": "pong!",
   14:             }
   15:         }
   16:     )
   17: 
   18: 
   19: @router.get("/ping")
   20: 

ERROR: Unable to parse file: /code/src/bootstrap/bootstrap.py
ERROR: Parse error at line 16 column 14:

    9: import AppConfig
   10: from .di_container import Container
   11: from .logs import init_logger
   12: from .storage import init_storage
   13: 
   14: 
   15: class InitReference(BaseModel):
  -->      celery_app: Celery
   17:     di_container: DynamicContainer
   18: 
   19:     model_config = ConfigDict(arbitrary_types_allowed=True)
   20: 
   21: 
   22: def application_init(app_config: AppConfig) -> InitReference:
   23:     

ERROR: Unable to parse file: /code/src/bootstrap/storage/SQLAlchemy/__init__.py
ERROR: Parse error at line 8 column 19:

    1: from typing import Callable, Dict
    2: 
    3: from dependency_injector.wiring import Provide, inject
    4: from sqlalchemy_bind_manager import SQLAlchemyBindManager
    5: 
    6: from . import default_bind_tables
    7: 
  -->  TABLE_INIT_REGISTRY: Dict[str, Callable] = {
    9:     "default": default_bind_tables.init_tables,
   10: }
   11: 
   12: 
   13: def init_sqlalchemy():
   14:     init_tables()
   15: 
   16: 
   17: @

ERROR: Unable to parse file: /code/src/bootstrap/di_container.py
ERROR: Parse error at line 63 column 27:

   33: config = Dependency(instance_of=AppConfig)
   34: 
   35:     """
   36:     Class mappings
   37: 
   38:     These are classes we want the container to manage the life cycle for
   39:     (e.g. Singletons), we map them using their class name directly.
   40:     """
   41:     SQLAlchemyBindManager = Singleton(
   42:         SQLAlchemyBindManager,
   43:         config=config.provided.SQLALCHEMY_CONFIG,
   44:     )
   45: 
   46:     """
   47:     Interface => Class mappings
   48: 
   49:     We use the interface class name as key so that we can trigger the injection
   50:     using `class.__name__` and avoid using any hardcoded string or constant.
   51: 
   52:     e.g.
   53:     Mapping
   54:         MyInterface = providers.Factory("http_app.storage.repositories.ConcreteClass")
   55: 
   56:     Usage
   57:         @inject
   58:         def function(
   59:             service: MyInterface = Provide[MyInterface.__name__],
   60:         )
   61:     """
   62: 
  -->      BookRepositoryInterface: Factory[BookRepositoryInterface] = Factory(
   64:         SQLAlchemyAsyncRepository,
   65:         bind=SQLAlchemyBindManager.provided.get_bind.call(),
   66:         model_class=BookModel,
   67:     )
   68:     BookEventGatewayInterface:

ERROR: Unable to parse file: /code/src/bootstrap/config.py
ERROR: Parse error at line 14 column 12:

    5: , SettingsConfigDict
    6: from sqlalchemy_bind_manager import SQLAlchemyConfig
    7: 
    8: TYPE_ENVIRONMENT = Literal["local", "test", "staging", "production"]
    9: 
   10: 
   11: class CeleryConfig(BaseModel):
   12: 
   13: 
  -->      timezone: str = "UTC"
   15: 
   16: 
   17:     broker_url: Optional[str] = None
   18:     broker_connection_retry_on_startup: bool = True
   19: 
   20: 
   21:     result_backend: Optional[str] = None
   22:     redis_socket_keepalive

ERROR: Unable to parse file: /code/src/bootstrap/logs/__init__.py
ERROR: Parse error at line 27 column 21:

    8: 
    9: from .processors import (
   10:     add_logging_open_telemetry_spans,
   11:     drop_color_message_key,
   12:     extract_from_record,
   13: )
   14: 
   15: 
   16: def init_logger(config: AppConfig) -> None:
   17:     """
   18:     Configure structlog and stdlib logging with shared handler and formatter.
   19: 
   20:     :param config: The app configuration
   21:     :type config: AppConfig
   22:     :return:
   23:     """
   24: 
   25: 
   26: 
  -->      shared_processors: List[Processor] = [
   28:         structlog.contextvars.merge_contextvars,
   29:         structlog.stdlib.add_logger_name,
   30:         structlog.stdlib.add_log_level,
   31:         structlog.stdlib.PositionalArgumentsFormatter

ERROR: Unable to parse file: /code/src/domains/books/events.py
ERROR: Parse error at line 11 column 11:

    6: cloudevents_pydantic.events.fields.types import URI, URIReference
    7: from pydantic import ConfigDict, Field
    8: 
    9: 
   10: class BookCreatedV1Data(pydantic.BaseModel):
  -->      book_id: int
   12:     title: str
   13:     author_name: str
   14: 
   15: 
   16: def _dataschema_url(value: str) -> str:
   17:     return f"https://this_service/dataschemas/{value}"
   18: 
   19: 
   20: class

ERROR: Unable to parse file: /code/src/domains/books/dto.py
ERROR: Parse error at line 7 column 9:

    1: from typing import Union
    2: 
    3: from pydantic import BaseModel
    4: 
    5: 
    6: class BookData(BaseModel):
  -->      title: str
    8:     author_name: str
    9: 
   10: 
   11: class Book(BookData):
   12:     book_id: Union[int, None] = None
   13: EOF

ERROR: Unable to parse file: /code/src/domains/books/_service.py
ERROR: Parse error at line 15 column 20:

    8: BookModel
    9: from ._tasks import book_cpu_intensive_task
   10: from .dto import Book, BookData
   11: from .events import BookCreatedV1, BookCreatedV1Data
   12: 
   13: 
   14: class BookService:
  -->      _book_repository: BookRepositoryInterface
   16:     _event_gateway: BookEventGatewayInterface
   17: 
   18:     @inject
   19:     def __init__(
   20:         self,
   21:         book_repository: BookRepositoryInterface = Provide[
   22:             BookRepositoryInterface.__name__
   23:         ],
   24:         event_gateway: BookEventGatewayInterface =

ERROR: Unable to parse file: /code/src/domains/books/_models.py
ERROR: Parse error at line 7 column 9:

    1: from dataclasses import dataclass
    2: from typing import Union
    3: 
    4: 
    5: @dataclass
    6: class BookModel:
  -->      title: str
    8:     author_name: str
    9:     book_id: Union[int, None] = None
   10: EOF

INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 0.232s
INFO: Final Memory: 6M/295M
INFO: ------------------------------------------------------------------------