Skip to content

read_json accepts a list of paths at runtime but the type stub only allows a single path. #576

Description

@Amir-R25

What happens?

Hi duckdb team, big fan of the product!

I'm experiencing a small typing issue:

import duckdb

con = duckdb.connect()
rel = con.read_json(
    ["a.jsonl", "b.jsonl"],
    format="newline_delimited",
)
print(rel.count("*").fetchone())

This runs fine and returns the union of both files.

However, pyright throws:
Argument of type "list[str]" cannot be assigned to parameter "path_or_buffer" of type "str | bytes | PathLike[str] | PathLike[bytes] | IO[bytes] | IO[str]"

mypy throws a similar error.

Adding list[str] (and probably list[PathLike]) to path_or_buffer in the Python stub would fix this

To Reproduce

import duckdb

con = duckdb.connect()
rel = con.read_json(
    ["a.jsonl", "b.jsonl"],
    format="newline_delimited",
)
print(rel.count("*").fetchone())

OS:

macOS arm64

DuckDB Package Version:

1.5.3

Python Version:

3.10

Full Name:

Amir Refaee

Affiliation:

Railtracks

What is the latest build you tested with? If possible, we recommend testing with the latest nightly build.

I have tested with a stable release

Did you include all relevant data sets for reproducing the issue?

Not applicable - the reproduction does not require a data set

Did you include all code required to reproduce the issue?

  • Yes, I have

Did you include all relevant configuration to reproduce the issue?

  • Yes, I have

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions