opendalfs is a hybrid of Rust and Python. The underlying implementation is written in Rust, with a Python interface provided by PyO3.
- Clone the repository:
git clone https://github.com/fsspec/opendalfs.git
cd opendalfs- Create a virtual environment and install dependencies:
uv venv
uv sync --locked --all-extras --devThe project uses several dependency groups:
dev: Development tools (ruff)test: Testing tools (pytest, pytest-asyncio, pytest-cov, fsspec, s3fs)all: All dependencies combined
Install specific groups as needed:
pip install -e ".[dev,test]" # For development and testing
pip install -e ".[s3]" # For S3 backend development- For S3 tests, you need MinIO running locally:
docker compose -f tests/docker/docker-compose.yml up -dNote: The S3 tests use these default settings:
- Endpoint:
http://localhost:9000 - Region:
us-east-1 - Access Key:
minioadmin - Secret Key:
minioadmin - Bucket:
test-bucket
- Run the test suite:
pytest -v- After testing, stop MinIO:
docker compose -f tests/docker/docker-compose.yml down- Format and lint:
ruff format . - Check:
ruff check .
Our GitHub Actions workflows handle:
- Code formatting and linting
- Building packages
- Running tests with MinIO
- Package distribution checks
See .github/workflows/ for detailed configurations.