Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make reqwest an optional dependency #211

Closed
emilk opened this issue Mar 22, 2022 · 2 comments · Fixed by #215
Closed

Make reqwest an optional dependency #211

emilk opened this issue Mar 22, 2022 · 2 comments · Fixed by #215

Comments

@emilk
Copy link
Contributor

emilk commented Mar 22, 2022

reqwest has a huge dependency tree, including tokio and hyper, and it would be nice to only have to pull that in if one actually plan on loading assets over HTTP (which I don't).

From cargo tree:

reqwest v0.11.9
├── base64 v0.13.0
├── bytes v1.1.0
├── encoding_rs v0.8.30
│   └── cfg-if v1.0.0
├── futures-core v0.3.21
├── futures-util v0.3.21
│   ├── futures-core v0.3.21
│   ├── futures-task v0.3.21
│   ├── pin-project-lite v0.2.8
│   └── pin-utils v0.1.0
├── h2 v0.3.11
│   ├── bytes v1.1.0
│   ├── fnv v1.0.7
│   ├── futures-core v0.3.21
│   ├── futures-sink v0.3.21
│   ├── futures-util v0.3.21 (*)
│   ├── http v0.2.6
│   │   ├── bytes v1.1.0
│   │   ├── fnv v1.0.7
│   │   └── itoa v1.0.1
│   ├── indexmap v1.8.0
│   │   └── hashbrown v0.11.2
│   │   [build-dependencies]
│   │   └── autocfg v1.1.0
│   ├── slab v0.4.5
│   ├── tokio v1.17.0
│   │   ├── bytes v1.1.0
│   │   ├── libc v0.2.119
│   │   ├── memchr v2.4.1
│   │   ├── mio v0.8.0
│   │   │   ├── libc v0.2.119
│   │   │   └── log v0.4.14 (*)
│   │   ├── num_cpus v1.13.1
│   │   │   └── libc v0.2.119
│   │   ├── pin-project-lite v0.2.8
│   │   ├── socket2 v0.4.4
│   │   │   └── libc v0.2.119
│   │   └── tokio-macros v1.7.0 (proc-macro)
│   │       ├── proc-macro2 v1.0.36 (*)
│   │       ├── quote v1.0.15 (*)
│   │       └── syn v1.0.86 (*)
│   ├── tokio-util v0.6.9
│   │   ├── bytes v1.1.0
│   │   ├── futures-core v0.3.21
│   │   ├── futures-sink v0.3.21
│   │   ├── log v0.4.14 (*)
│   │   ├── pin-project-lite v0.2.8
│   │   └── tokio v1.17.0 (*)
│   └── tracing v0.1.31
│       ├── cfg-if v1.0.0
│       ├── pin-project-lite v0.2.8
│       └── tracing-core v0.1.22
│           └── lazy_static v1.4.0
├── http v0.2.6 (*)
├── http-body v0.4.4
│   ├── bytes v1.1.0
│   ├── http v0.2.6 (*)
│   └── pin-project-lite v0.2.8
├── hyper v0.14.17
│   ├── bytes v1.1.0
│   ├── futures-channel v0.3.21
│   │   └── futures-core v0.3.21
│   ├── futures-core v0.3.21
│   ├── futures-util v0.3.21 (*)
│   ├── h2 v0.3.11 (*)
│   ├── http v0.2.6 (*)
│   ├── http-body v0.4.4 (*)
│   ├── httparse v1.6.0
│   ├── httpdate v1.0.2
│   ├── itoa v1.0.1
│   ├── pin-project-lite v0.2.8
│   ├── socket2 v0.4.4 (*)
│   ├── tokio v1.17.0 (*)
│   ├── tower-service v0.3.1
│   ├── tracing v0.1.31 (*)
│   └── want v0.3.0
│       ├── log v0.4.14 (*)
│       └── try-lock v0.2.3
├── hyper-tls v0.5.0
│   ├── bytes v1.1.0
│   ├── hyper v0.14.17 (*)
│   ├── native-tls v0.2.8
│   │   ├── lazy_static v1.4.0
│   │   ├── libc v0.2.119
│   │   ├── security-framework v2.6.1
│   │   │   ├── bitflags v1.3.2
│   │   │   ├── core-foundation v0.9.3 (*)
│   │   │   ├── core-foundation-sys v0.8.3
│   │   │   ├── libc v0.2.119
│   │   │   └── security-framework-sys v2.6.1
│   │   │       ├── core-foundation-sys v0.8.3
│   │   │       └── libc v0.2.119
│   │   ├── security-framework-sys v2.6.1 (*)
│   │   └── tempfile v3.3.0
│   │       ├── cfg-if v1.0.0
│   │       ├── fastrand v1.7.0
│   │       ├── libc v0.2.119
│   │       └── remove_dir_all v0.5.3
│   ├── tokio v1.17.0 (*)
│   └── tokio-native-tls v0.3.0
│       ├── native-tls v0.2.8 (*)
│       └── tokio v1.17.0 (*)
├── ipnet v2.4.0
├── lazy_static v1.4.0
├── log v0.4.14 (*)
├── mime v0.3.16
├── native-tls v0.2.8 (*)
├── percent-encoding v2.1.0
├── pin-project-lite v0.2.8
├── serde v1.0.136 (*)
├── serde_urlencoded v0.7.1
│   ├── form_urlencoded v1.0.1
│   │   ├── matches v0.1.9
│   │   └── percent-encoding v2.1.0
│   ├── itoa v1.0.1
│   ├── ryu v1.0.9
│   └── serde v1.0.136 (*)
├── tokio v1.17.0 (*)
├── tokio-native-tls v0.3.0 (*)
└── url v2.2.2
    ├── form_urlencoded v1.0.1 (*)
    ├── idna v0.2.3
    │   ├── matches v0.1.9
    │   ├── unicode-bidi v0.3.7
    │   └── unicode-normalization v0.1.19
    │       └── tinyvec v1.5.1
    │           └── tinyvec_macros v0.1.0
    ├── matches v0.1.9
    └── percent-encoding v2.1.0
@asny
Copy link
Owner

asny commented Mar 22, 2022

Yeah, I plan to move the loading of assets to another crate (https://github.com/asny/three-d-io) and do proper feature flags for that crate. In general, the feature flags needs a clean-up 💪

@asny
Copy link
Owner

asny commented Mar 22, 2022

#214

emilk added a commit to rerun-io/three-d that referenced this issue Mar 22, 2022
Closes asny#211

This is just the simple solution until
asny#214 is fixed
@asny asny closed this as completed in #215 Mar 22, 2022
asny pushed a commit that referenced this issue Mar 22, 2022
Closes #211

This is just the simple solution until
#214 is fixed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants