# `applin_headless`
[](https://crates.io/crates/applin_headless)
[](https://github.com/rust-secure-code/safety-dance/)
[](https://github.com/leonhard-llc/applin-headless-rust/actions)
Create an Applinβ’ client and control it from Rust code. Great for tests.
<https://www.applin.dev/>
# Cargo Geiger Safety Report
```
Metric output format: x/y
x = unsafe code used by the build
y = total unsafe code found in the crate
Symbols:
π = No `unsafe` usage found, declares #![forbid(unsafe_code)]
β = No `unsafe` usage found, missing #![forbid(unsafe_code)]
β’οΈ = `unsafe` usage found
Functions Expressions Impls Traits Methods Dependency
0/0 0/0 0/0 0/0 0/0 π applin_headless 0.3.1
0/0 0/0 0/0 0/0 0/0 π βββ applin 0.2.9
0/0 7/20 0/0 0/0 0/0 β’οΈ β βββ nanorand 0.7.0
0/0 5/5 0/0 0/0 0/0 β’οΈ β βββ serde 1.0.197
0/0 0/0 0/0 0/0 0/0 β β β βββ serde_derive 1.0.197
0/0 15/15 0/0 0/0 3/3 β’οΈ β β βββ proc-macro2 1.0.79
0/0 4/4 0/0 0/0 0/0 β’οΈ β β β βββ unicode-ident 1.0.12
0/0 0/0 0/0 0/0 0/0 β β β βββ quote 1.0.35
0/0 15/15 0/0 0/0 3/3 β’οΈ β β β βββ proc-macro2 1.0.79
0/0 80/80 3/3 0/0 2/2 β’οΈ β β βββ syn 2.0.53
0/0 15/15 0/0 0/0 3/3 β’οΈ β β βββ proc-macro2 1.0.79
0/0 0/0 0/0 0/0 0/0 β β β βββ quote 1.0.35
0/0 4/4 0/0 0/0 0/0 β’οΈ β β βββ unicode-ident 1.0.12
0/0 4/7 0/0 0/0 0/0 β’οΈ β βββ serde_json 1.0.114
0/0 27/32 0/0 0/0 0/0 β’οΈ β βββ indexmap 2.6.0
0/0 0/0 0/0 0/0 0/0 β β β βββ equivalent 1.0.1
1/1 1240/1463 17/22 1/1 72/82 β’οΈ β β βββ hashbrown 0.15.1
0/0 0/0 0/0 0/0 0/0 β β β β βββ equivalent 1.0.1
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β βββ serde 1.0.197
0/0 5/5 0/0 0/0 0/0 β’οΈ β β βββ serde 1.0.197
0/0 7/7 0/0 0/0 0/0 β’οΈ β βββ itoa 1.0.10
7/9 572/702 0/0 0/0 2/2 β’οΈ β βββ ryu 1.0.17
0/0 5/5 0/0 0/0 0/0 β’οΈ β βββ serde 1.0.197
0/0 0/0 0/0 0/0 0/0 β βββ cookie_store 0.21.1
0/0 0/0 0/0 0/0 0/0 β β βββ cookie 0.18.0
0/0 0/0 0/0 0/0 0/0 π β β βββ base64 0.21.7
0/0 8/8 0/0 0/0 0/0 β’οΈ β β βββ percent-encoding 2.3.1
1/2 219/246 0/0 0/0 4/4 β’οΈ β β βββ time 0.3.36
1/1 4/4 0/0 0/0 1/1 β’οΈ β β βββ deranged 0.3.11
2/2 29/29 0/0 0/0 0/0 β’οΈ β β β βββ powerfmt 0.2.0
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β βββ serde 1.0.197
0/0 7/7 0/0 0/0 0/0 β’οΈ β β βββ itoa 1.0.10
0/0 0/0 0/0 0/0 0/0 β β β βββ num-conv 0.1.0
2/2 29/29 0/0 0/0 0/0 β’οΈ β β βββ powerfmt 0.2.0
0/0 5/5 0/0 0/0 0/0 β’οΈ β β βββ serde 1.0.197
0/0 0/0 0/0 0/0 0/0 β β β βββ time-core 0.1.2
0/0 0/0 0/0 0/0 0/0 β β β βββ time-macros 0.2.18
0/0 0/0 0/0 0/0 0/0 β β β βββ num-conv 0.1.0
0/0 0/0 0/0 0/0 0/0 β β β βββ time-core 0.1.2
0/0 0/0 0/0 0/0 0/0 β β βββ document-features 0.2.10
0/0 0/0 0/0 0/0 0/0 β β β βββ litrs 0.4.1
0/0 15/15 0/0 0/0 3/3 β’οΈ β β βββ proc-macro2 1.0.79
0/0 30/30 0/0 0/0 0/0 β’οΈ β βββ idna 1.0.3
0/0 0/0 0/0 0/0 0/0 β β β βββ idna_adapter 1.2.0
0/0 23/23 0/0 0/0 0/0 β’οΈ β β β βββ icu_normalizer 1.5.0
0/12 0/12 0/0 0/0 0/0 β β β β β βββ displaydoc 0.2.5
0/0 15/15 0/0 0/0 3/3 β’οΈ β β β β β βββ proc-macro2 1.0.79
0/0 0/0 0/0 0/0 0/0 β β β β β β βββ quote 1.0.35
0/0 80/80 3/3 0/0 2/2 β’οΈ β β β β β βββ syn 2.0.53
0/1 1/13 0/0 0/0 1/1 β’οΈ β β β β βββ icu_collections 1.5.0
0/12 0/12 0/0 0/0 0/0 β β β β β β βββ displaydoc 0.2.5
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β βββ serde 1.0.197
0/0 99/104 23/24 4/4 11/12 β’οΈ β β β β β βββ yoke 0.7.4
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β β βββ serde 1.0.197
0/0 0/0 18/18 2/2 0/0 β’οΈ β β β β β β βββ stable_deref_trait 1.2.0
0/0 0/0 0/0 0/0 0/0 β β β β β β β βββ yoke-derive 0.7.4
0/0 15/15 0/0 0/0 3/3 β’οΈ β β β β β β β βββ proc-macro2 1.0.79
0/0 0/0 0/0 0/0 0/0 β β β β β β β β βββ quote 1.0.35
0/0 80/80 3/3 0/0 2/2 β’οΈ β β β β β β β βββ syn 2.0.53
0/0 0/0 0/0 0/0 0/0 β β β β β β β β βββ synstructure 0.13.1
0/0 15/15 0/0 0/0 3/3 β’οΈ β β β β β β β βββ proc-macro2 1.0.79
0/0 0/0 0/0 0/0 0/0 β β β β β β β β βββ quote 1.0.35
0/0 80/80 3/3 0/0 2/2 β’οΈ β β β β β β β βββ syn 2.0.53
0/0 0/0 0/0 0/0 0/0 β β β β β β β βββ zerofrom 0.1.4
0/0 0/0 0/0 0/0 0/0 β β β β β β β βββ zerofrom-derive 0.1.4
0/0 15/15 0/0 0/0 3/3 β’οΈ β β β β β β βββ proc-macro2 1.0.79
0/0 0/0 0/0 0/0 0/0 β β β β β β β βββ quote 1.0.35
0/0 80/80 3/3 0/0 2/2 β’οΈ β β β β β β βββ syn 2.0.53
0/0 0/0 0/0 0/0 0/0 β β β β β β β βββ synstructure 0.13.1
0/0 0/0 0/0 0/0 0/0 β β β β β β βββ zerofrom 0.1.4
1/2 655/677 49/49 5/5 46/46 β’οΈ β β β β β βββ zerovec 0.10.4
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β βββ serde 1.0.197
0/0 99/104 23/24 4/4 11/12 β’οΈ β β β β β βββ yoke 0.7.4
0/0 0/0 0/0 0/0 0/0 β β β β β β βββ zerofrom 0.1.4
0/0 0/0 0/1 0/0 0/0 β β β β β β βββ zerovec-derive 0.10.3
0/0 15/15 0/0 0/0 3/3 β’οΈ β β β β β βββ proc-macro2 1.0.79
0/0 0/0 0/0 0/0 0/0 β β β β β β βββ quote 1.0.35
0/0 80/80 3/3 0/0 2/2 β’οΈ β β β β β βββ syn 2.0.53
0/0 0/0 0/0 0/0 0/0 β β β β β βββ icu_normalizer_data 1.5.0
0/0 3/3 1/1 0/0 0/0 β’οΈ β β β β βββ icu_properties 1.5.1
0/12 0/12 0/0 0/0 0/0 β β β β β β βββ displaydoc 0.2.5
0/1 1/13 0/0 0/0 1/1 β’οΈ β β β β β βββ icu_collections 1.5.0
0/0 1/1 0/0 0/0 0/0 β’οΈ β β β β β βββ icu_locid_transform 1.5.0
0/12 0/12 0/0 0/0 0/0 β β β β β β β βββ displaydoc 0.2.5
0/1 6/14 0/0 0/0 0/0 β’οΈ β β β β β β βββ icu_locid 1.5.0
0/12 0/12 0/0 0/0 0/0 β β β β β β β β βββ displaydoc 0.2.5
0/4 0/20 0/0 0/0 0/0 β β β β β β β β βββ litemap 0.7.3
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β β β β βββ serde 1.0.197
0/0 99/104 23/24 4/4 11/12 β’οΈ β β β β β β β β βββ yoke 0.7.4
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β β β βββ serde 1.0.197
0/0 32/33 2/2 0/0 2/2 β’οΈ β β β β β β β βββ tinystr 0.7.6
0/12 0/12 0/0 0/0 0/0 β β β β β β β β β βββ displaydoc 0.2.5
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β β β β βββ serde 1.0.197
1/2 655/677 49/49 5/5 46/46 β’οΈ β β β β β β β β βββ zerovec 0.10.4
0/0 0/0 0/0 0/0 0/0 β β β β β β β β βββ writeable 0.5.5
1/2 655/677 49/49 5/5 46/46 β’οΈ β β β β β β β βββ zerovec 0.10.4
0/0 0/0 0/0 0/0 0/0 β β β β β β β βββ icu_locid_transform_data 1.5.0
0/0 23/23 3/3 0/0 0/0 β’οΈ β β β β β β βββ icu_provider 1.5.0
0/12 0/12 0/0 0/0 0/0 β β β β β β β β βββ displaydoc 0.2.5
0/1 6/14 0/0 0/0 0/0 β’οΈ β β β β β β β βββ icu_locid 1.5.0
0/0 0/0 0/0 0/0 0/0 β β β β β β β β βββ icu_provider_macros 1.5.0
0/0 15/15 0/0 0/0 3/3 β’οΈ β β β β β β β β βββ proc-macro2 1.0.79
0/0 0/0 0/0 0/0 0/0 β β β β β β β β β βββ quote 1.0.35
0/0 80/80 3/3 0/0 2/2 β’οΈ β β β β β β β β βββ syn 2.0.53
2/2 18/18 1/1 0/0 0/0 β’οΈ β β β β β β β βββ log 0.4.21
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β β β β βββ serde 1.0.197
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β β β βββ serde 1.0.197
0/0 4/7 0/0 0/0 0/0 β’οΈ β β β β β β β βββ serde_json 1.0.114
0/0 0/0 18/18 2/2 0/0 β’οΈ β β β β β β β βββ stable_deref_trait 1.2.0
0/0 32/33 2/2 0/0 2/2 β’οΈ β β β β β β β βββ tinystr 0.7.6
0/0 0/0 0/0 0/0 0/0 β β β β β β β β βββ writeable 0.5.5
0/0 99/104 23/24 4/4 11/12 β’οΈ β β β β β β β βββ yoke 0.7.4
0/0 0/0 0/0 0/0 0/0 β β β β β β β β βββ zerofrom 0.1.4
1/2 655/677 49/49 5/5 46/46 β’οΈ β β β β β β β βββ zerovec 0.10.4
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β β βββ serde 1.0.197
0/0 32/33 2/2 0/0 2/2 β’οΈ β β β β β β βββ tinystr 0.7.6
1/2 655/677 49/49 5/5 46/46 β’οΈ β β β β β β βββ zerovec 0.10.4
0/0 0/0 0/0 0/0 0/0 β β β β β β βββ icu_properties_data 1.5.0
0/0 23/23 3/3 0/0 0/0 β’οΈ β β β β β βββ icu_provider 1.5.0
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β βββ serde 1.0.197
0/0 32/33 2/2 0/0 2/2 β’οΈ β β β β β βββ tinystr 0.7.6
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β βββ unicode-bidi 0.3.15
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β β βββ serde 1.0.197
1/2 655/677 49/49 5/5 46/46 β’οΈ β β β β β βββ zerovec 0.10.4
0/0 23/23 3/3 0/0 0/0 β’οΈ β β β β βββ icu_provider 1.5.0
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β βββ serde 1.0.197
1/1 544/546 7/7 1/1 14/14 β’οΈ β β β β βββ smallvec 1.13.2
0/0 5/5 0/0 0/0 0/0 β’οΈ β β β β β βββ serde 1.0.197
0/0 60/60 0/0 0/0 0/0 β’οΈ β β β β βββ utf16_iter 1.0.5
0/0 10/10 0/0 0/0 0/0 β’οΈ β β β β βββ utf8_iter 1.0.4
0/0 0/0 0/0 0/0 0/0 β β β β β βββ write16 1.0.0
1/1 544/546 7/7 1/1 14/14 β’οΈ β β β β β βββ smallvec 1.13.2
1/2 655/677 49/49 5/5 46/46 β’οΈ β β β β βββ zerovec 0.10.4
0/0 3/3 1/1 0/0 0/0 β’οΈ β β β βββ icu_properties 1.5.1
1/1 544/546 7/7 1/1 14/14 β’οΈ β β βββ smallvec 1.13.2
0/0 10/10 0/0 0/0 0/0 β’οΈ β β βββ utf8_iter 1.0.4
0/0 27/32 0/0 0/0 0/0 β’οΈ β βββ indexmap 2.6.0
2/2 18/18 1/1 0/0 0/0 β’οΈ β βββ log 0.4.21
0/0 5/5 0/0 0/0 0/0 β’οΈ β βββ serde 1.0.197
0/0 0/0 0/0 0/0 0/0 β β βββ serde_derive 1.0.197
0/0 4/7 0/0 0/0 0/0 β’οΈ β βββ serde_json 1.0.114
1/2 219/246 0/0 0/0 4/4 β’οΈ β βββ time 0.3.36
0/0 0/0 0/0 0/0 0/0 β β βββ url 2.5.0
0/0 2/2 0/0 0/0 0/0 β’οΈ β βββ form_urlencoded 1.2.1
0/0 8/8 0/0 0/0 0/0 β’οΈ β β βββ percent-encoding 2.3.1
0/0 0/0 0/0 0/0 0/0 β β βββ idna 0.5.0
0/0 5/5 0/0 0/0 0/0 β’οΈ β β βββ unicode-bidi 0.3.15
0/0 20/20 0/0 0/0 0/0 β’οΈ β β βββ unicode-normalization 0.1.23
0/0 0/0 0/0 0/0 0/0 π β β βββ tinyvec 1.6.0
0/0 5/5 0/0 0/0 0/0 β’οΈ β β βββ serde 1.0.197
0/0 0/0 0/0 0/0 0/0 π β β βββ tinyvec_macros 0.1.1
0/0 8/8 0/0 0/0 0/0 β’οΈ β βββ percent-encoding 2.3.1
0/0 5/5 0/0 0/0 0/0 β’οΈ β βββ serde 1.0.197
0/0 0/0 0/0 0/0 0/0 π βββ ureq 2.9.6
0/0 0/0 0/0 0/0 0/0 π β βββ base64 0.21.7
0/0 0/0 0/0 0/0 0/0 β β βββ cookie 0.18.0
0/0 0/0 0/0 0/0 0/0 β β βββ cookie_store 0.21.1
2/2 18/18 1/1 0/0 0/0 β’οΈ β βββ log 0.4.21
0/0 74/117 5/9 0/0 2/4 β’οΈ β βββ once_cell 1.19.0
0/0 5/5 0/0 0/0 0/0 β’οΈ β βββ serde 1.0.197
0/0 4/7 0/0 0/0 0/0 β’οΈ β βββ serde_json 1.0.114
0/0 0/0 0/0 0/0 0/0 β β βββ url 2.5.0
0/0 0/0 0/0 0/0 0/0 β βββ url 2.5.0
16/38 3827/4353 129/140 13/13 160/173
```
# Changelog
- v0.3.1 - Lint.
- v0.3.0 2024-11-17
- Change signature of [`ApplinClient::is_checked`] to take `&Widget`.
- Rename `WidgetExtension::vars` to [`WidgetExtension::var_names_and_initials`].
- v0.2.0 2024-11-13
- Add `cookie_file_path` arg to `ApplinClient::new`.
- Add `log_pages`.
- v0.1.1 2024-11-03 - Add `is_checked`.
- v0.1.0 - Impersonates applin-ios 0.38.0.