Type hint mismatch for list API responses

Đang mở
#444 1 bình luận 1 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@AyeshaNasirWebDeveloper đang làm issue này rồi.

Từ ngày 19/8/2026.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
58/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
api

Hướng nghiên cứu

Bắt đầu bằng cách đọc điểm vào send_request và ví dụ Ticker24hrResponse2.from_dict trong issue, sau đó theo dõi cách các response dạng list ở cấp cao nhất được chú thích và phân tích. Công việc được xem là hoàn tất khi kiểu trả về được khai báo khớp với hành vi lúc chạy của ApiResponse[list[T]] đối với các response dạng list, mà không thay đổi cách xử lý các dạng response khác.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Hi! I’m currently using the binance-sdk-derivatives-trading-usds-futures SDK while migrating from the deprecated version.

I noticed that the return type of the USD Futures API is always annotated as ApiResponse[T], but in cases where the response is a top-level list, the actual return type is ApiResponse[list[T]].

Is this intentional?

def send_request(...):
  ...
  
  if (is_list and not is_flat_list) or not response_model:
     data_function = lambda: parsed
  elif is_oneof or is_list:
     data_function = lambda: response_model.from_dict(parsed)
  else:
     data_function = lambda: response_model.model_validate(parsed)
    @classmethod
    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[list[Self]]:
        """Create an instance of Ticker24hrResponse2 from a dict"""
        return [cls.model_validate(item) for item in obj]
Ngôn ngữ chính
Python
Star
3k
Fork
712
Merge trung bình
1 ngày 13 giờ
Pull request đã merge (30 ngày)
9

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của binance/binance-connector-python

Tất cả issue của binance/binance-connector-python

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.