Latest Results
feat(io): export GooseFSConfig from daft.io (#7194)
Register `GooseFSConfig` alongside the other connector configs so users
can write `from daft.io import IOConfig, GooseFSConfig` (matching the
pattern used by `S3Config`, `CosConfig`, etc.), and add the missing
`.pyi` stubs so mypy and IDEs can see the type.
Follow-up to #7192 (rename `GoosefsConfig` -> `GooseFSConfig`).
## Changes Made
- **`daft/io/__init__.py`**: import `GooseFSConfig` from `daft.daft` and
add it to `__all__`, so `from daft.io import GooseFSConfig` works and
mkdocstrings cross-references like
`[GooseFSConfig][daft.io.GooseFSConfig]` resolve. This mirrors how every
other connector config (`S3Config`, `GCSConfig`, `AzureConfig`,
`CosConfig`, `TosConfig`, `GravitinoConfig`, `HuggingFaceConfig`, ...)
is exposed.
- **`daft/daft/__init__.pyi`**: add the missing type stubs that were not
included when the pyclass was originally introduced:
- New `class GooseFSConfig` stub with all constructor kwargs, read-only
properties, `replace(...)`, and `from_env()` — kept 1:1 with the PyO3
signatures in `src/common/io-config/src/python.rs` and the `GOOSEFS_*`
env vars handled by `from_env`.
- Register `goosefs: GooseFSConfig` on `IOConfig` (attribute +
`__init__` + `replace` kwarg), matching the existing Rust binding that
already accepts `goosefs=None`.
Notes:
- No runtime / Rust changes. The pyclass is already registered via
`add_class::<GooseFSConfig>()` in `register_modules`; this PR only
exposes the Python-facing surface and its type information.
- Verified locally with `pre-commit run --files daft/io/__init__.py
daft/daft/__init__.pyi` (mypy, ruff, formatter all pass).
## Related Issues
Follow-up to #7192.
Companion docs PR: #7220 (adds the GooseFS connector documentation,
which imports `GooseFSConfig` from `daft.io` and cross-references it via
mkdocstrings — this PR is required for that one to render/import
correctly). Latest Branches
0%
cmirandavega:feat/rint-bround 0%
0%
everettVT/mcap-extra-check © 2026 CodSpeed Technology