Installation¶
fsspeckit installs with pip (or any PEP 517 installer). Core filesystem
operations work with no extra dependencies; cloud providers and data-processing
backends are opt-in extras.
Prerequisites¶
- Python 3.11 or higher.
Install¶
Upgrade an existing install:
Optional extras¶
fsspeckit ships optional dependency groups. Install only what you need; imports always succeed and the relevant extra is required only when you actually call the feature.
Integration and extras matrix¶
This is the single authoritative mapping of each extra to the workflow or provider it enables. Every reference page that depends on an extra links back here; none duplicates this table.
| Extra | Enables | Typical import | Related docs |
|---|---|---|---|
aws |
S3 filesystem via s3fs/boto3; AwsStorageOptions |
from fsspeckit import AwsStorageOptions |
Storage Options, Configure Cloud Storage |
gcp |
Google Cloud Storage via gcsfs; GcsStorageOptions |
from fsspeckit import GcsStorageOptions |
Storage Options, Configure Cloud Storage |
azure |
Azure Blob/Data Lake via adlfs; AzureStorageOptions |
from fsspeckit import AzureStorageOptions |
Storage Options, Configure Cloud Storage |
polars |
Compatibility install group for Polars type optimization; Polars is already a core dependency | from fsspeckit.datasets import opt_dtype_pl |
API Guide |
datasets |
DuckDB + PyArrow dataset handlers, schema utilities, full dataset lifecycle | from fsspeckit.datasets.duckdb import DuckDBDatasetIO |
Dataset Handlers, API Guide |
monitoring |
System memory monitoring (psutil) for memory-aware merge and compaction |
from fsspeckit.datasets.pyarrow import MemoryMonitor |
Adaptive Key Tracking |
sql |
SQL-to-filter translation (sqlglot, duckdb) |
from fsspeckit.sql import sql2pyarrow_filter |
API Guide, Use SQL Filters |
Notes on the matrix:
datasetsis the broadest data-processing extra. It addsduckdb,sqlglot, andpsutil;pyarrow,numpy,pandas,polars, andorjsonare core dependencies already installed with fsspeckit. Install[datasets]when you want the complete dataset read/write/merge stack, including the DuckDB handler.polarsis retained as a compatibility install group for Polars type optimization. It adds no packages because Polars is already a core dependency.monitoringaddspsutilfor system-memory-aware streaming merge and compaction. It is separate fromdatasetsso memory-constrained workflows can opt in without the full dataset stack, althoughdatasetsalready includes it.sqlis the minimal extra for SQL filter translation. It overlaps withdatasets(both bringduckdbandsqlglot); installsqlalone when you only need filter translation against your own PyArrow/Polars tables.- Core (
filesystem,get_filesystem, storage-options classes,commonutilities) has no required extra. Cloud provider extras are only needed when you connect to that provider.
Dependency management tools¶
uv is recommended for fast installs:
pixi:
Troubleshooting¶
- Python version: require 3.11+. Check with
python --version. - Virtual environments: use
venv,conda,uv, orpixito avoid system-package conflicts. - Missing optional dependency: if you call a feature whose extra is not
installed, fsspeckit raises an
ImportErrornaming the required package. Match the error to a row in the matrix above.
For further help, see the GitHub repository or open an issue.