File: install.md

package info (click to toggle)
universal-pathlib 0.3.10-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,656 kB
  • sloc: python: 20,552; makefile: 5
file content (81 lines) | stat: -rw-r--r-- 2,243 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81

# Installation :package:

Getting started with `universal-pathlib` is easy! Choose your preferred package manager below and you'll be working with cloud storage in minutes.

## Quick Install

=== "uv"

    ```bash
    uv add universal-pathlib
    ```

=== "pip"

    ```bash
    python -m pip install universal-pathlib
    ```

=== "conda"

    ```bash
    conda install -c conda-forge universal-pathlib
    ```

That's it! You now have `universal-pathlib` installed. :tada:

## Filesystem-Specific Dependencies

While `universal-pathlib` comes with `fsspec` out of the box, **some filesystems require additional packages**. Don't worry—installing them is straightforward!

For example, to work with **AWS S3**, you'll need to install `s3fs`:

```bash
pip install s3fs
# or better yet, use fsspec extras:
pip install "fsspec[s3]"
```

Here are some common filesystem extras you might need:

| Filesystem | Install Command |
|------------|----------------|
| **AWS S3** | `pip install "fsspec[s3]"` |
| **Google Cloud Storage** | `pip install "fsspec[gcs]"` |
| **Azure Blob Storage** | `pip install "fsspec[azure]"` |
| **HTTP/HTTPS** | `pip install "fsspec[http]"` |
| **GitHub** | `pip install "fsspec[github]"` |
| **SSH/SFTP** | `pip install "fsspec[ssh]"` |

## Adding to Your Project

When adding `universal-pathlib` to your project, specify the filesystem extras you need. Here's a `pyproject.toml` example for a project using **S3** and **HTTP**:

```toml
[project]
name = "myproject"
requires-python = ">=3.9"
dependencies = [
    "universal_pathlib>=0.3.10",
    "fsspec[s3,http]",  # Add the filesystems you need
]
```

!!! tip "Complete List of Filesystem Extras"

    For a complete overview of all available filesystem extras and their dependencies, check out the [fsspec pyproject.toml file][fsspec-pyproject-toml]. It includes extras for:

    - Cloud storage (S3, GCS, Azure, etc.)
    - Remote protocols (HTTP, FTP, SSH, etc.)
    - Specialized systems (HDFS, WebDAV, SMB, etc.)

    [fsspec-pyproject-toml]: https://github.com/fsspec/filesystem_spec/blob/master/pyproject.toml#L26

---

<div align="center" markdown>

**Ready to get started?** Learn about [Universal Pathlib Concepts](concepts/index.md) :rocket:

</div>