Skip to content

leonhard-llc/applin-headless-rust

Repository files navigation

applin_headless

crates.io version unsafe forbidden pipeline status

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.4.0
0/0        0/0          0/0    0/0     0/0      🔒  ├── applin 0.3.0
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.219
0/0        0/0          0/0    0/0     0/0      ❓  │   │   └── serde_derive 1.0.219
0/0        14/14        0/0    0/0     3/3      ☢️  │   │       ├── proc-macro2 1.0.95
0/0        4/4          0/0    0/0     0/0      ☢️  │   │       │   └── unicode-ident 1.0.18
0/0        0/0          0/0    0/0     0/0      ❓  │   │       ├── quote 1.0.40
0/0        14/14        0/0    0/0     3/3      ☢️  │   │       │   └── proc-macro2 1.0.95
0/0        88/88        3/3    0/0     2/2      ☢️  │   │       └── syn 2.0.104
0/0        14/14        0/0    0/0     3/3      ☢️  │   │           ├── proc-macro2 1.0.95
0/0        0/0          0/0    0/0     0/0      ❓  │   │           ├── quote 1.0.40
0/0        4/4          0/0    0/0     0/0      ☢️  │   │           └── unicode-ident 1.0.18
0/0        72/75        0/0    0/0     0/0      ☢️  │   └── serde_json 1.0.140
0/0        78/83        0/0    0/0     0/0      ☢️  │       ├── indexmap 2.10.0
0/0        0/0          0/0    0/0     0/0      ❓  │       │   ├── equivalent 1.0.2
1/1        1249/1520    17/22  1/1     72/85    ☢️  │       │   ├── hashbrown 0.15.4
0/0        0/0          0/0    0/0     0/0      ❓  │       │   │   ├── equivalent 1.0.2
0/0        5/5          0/0    0/0     0/0      ☢️  │       │   │   └── serde 1.0.219
0/0        5/5          0/0    0/0     0/0      ☢️  │       │   └── serde 1.0.219
0/0        8/8          0/0    0/0     0/0      ☢️  │       ├── itoa 1.0.15
34/41      1700/2421    2/2    0/0     82/147   ☢️  │       ├── memchr 2.7.5
2/2        18/18        1/1    0/0     0/0      ☢️  │       │   └── log 0.4.27
0/0        5/5          0/0    0/0     0/0      ☢️  │       │       └── serde 1.0.219
7/9        572/702      0/0    0/0     2/2      ☢️  │       ├── ryu 1.0.20
0/0        5/5          0/0    0/0     0/0      ☢️  │       └── serde 1.0.219
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.1
0/0        0/0          0/0    0/0     0/0      🔒  │   │   ├── base64 0.22.1
0/0        8/8          0/0    0/0     0/0      ☢️  │   │   ├── percent-encoding 2.3.1
2/5        315/342      0/0    0/0     6/6      ☢️  │   │   └── time 0.3.41
1/1        4/4          0/0    0/0     1/1      ☢️  │   │       ├── deranged 0.4.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.219
0/0        8/8          0/0    0/0     0/0      ☢️  │   │       ├── itoa 1.0.15
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.219
0/0        0/0          0/0    0/0     0/0      ❓  │   │       ├── time-core 0.1.4
0/0        0/0          0/0    0/0     0/0      ❓  │   │       └── time-macros 0.2.22
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.4
0/0        0/0          0/0    0/0     0/0      ❓  │   ├── document-features 0.2.11
0/0        0/0          0/0    0/0     0/0      ❓  │   │   └── litrs 0.4.1
0/0        14/14        0/0    0/0     3/3      ☢️  │   │       └── proc-macro2 1.0.95
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.1
0/0        23/23        0/0    0/0     0/0      ☢️  │   │   │   ├── icu_normalizer 2.0.0
0/12       0/12         0/0    0/0     0/0      ❓  │   │   │   │   ├── displaydoc 0.2.5
0/0        14/14        0/0    0/0     3/3      ☢️  │   │   │   │   │   ├── proc-macro2 1.0.95
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   ├── quote 1.0.40
0/0        88/88        3/3    0/0     2/2      ☢️  │   │   │   │   │   └── syn 2.0.104
0/0        1/1          0/0    0/0     1/1      ☢️  │   │   │   │   ├── icu_collections 2.0.0
0/12       0/12         0/0    0/0     0/0      ❓  │   │   │   │   │   ├── displaydoc 0.2.5
0/0        6/24         2/2    0/0     2/2      ☢️  │   │   │   │   │   ├── potential_utf 0.1.2
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   │   ├── serde 1.0.219
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   │   ├── writeable 0.6.1
1/1        641/657      58/58  5/5     49/49    ☢️  │   │   │   │   │   │   └── zerovec 0.11.2
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   │       ├── serde 1.0.219
0/0        96/101       24/25  4/4     12/13    ☢️  │   │   │   │   │   │       ├── yoke 0.8.0
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   │       │   ├── serde 1.0.219
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.8.0
0/0        14/14        0/0    0/0     3/3      ☢️  │   │   │   │   │   │       │   │   ├── proc-macro2 1.0.95
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │       │   │   ├── quote 1.0.40
0/0        88/88        3/3    0/0     2/2      ☢️  │   │   │   │   │   │       │   │   ├── syn 2.0.104
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │       │   │   └── synstructure 0.13.2
0/0        14/14        0/0    0/0     3/3      ☢️  │   │   │   │   │   │       │   │       ├── proc-macro2 1.0.95
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │       │   │       ├── quote 1.0.40
0/0        88/88        3/3    0/0     2/2      ☢️  │   │   │   │   │   │       │   │       └── syn 2.0.104
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │       │   └── zerofrom 0.1.6
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │       │       └── zerofrom-derive 0.1.6
0/0        14/14        0/0    0/0     3/3      ☢️  │   │   │   │   │   │       │           ├── proc-macro2 1.0.95
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │       │           ├── quote 1.0.40
0/0        88/88        3/3    0/0     2/2      ☢️  │   │   │   │   │   │       │           ├── syn 2.0.104
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │       │           └── synstructure 0.13.2
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │       ├── zerofrom 0.1.6
0/0        0/0          0/1    0/0     0/0      ❓  │   │   │   │   │   │       └── zerovec-derive 0.11.1
0/0        14/14        0/0    0/0     3/3      ☢️  │   │   │   │   │   │           ├── proc-macro2 1.0.95
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │           ├── quote 1.0.40
0/0        88/88        3/3    0/0     2/2      ☢️  │   │   │   │   │   │           └── syn 2.0.104
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   ├── serde 1.0.219
0/0        96/101       24/25  4/4     12/13    ☢️  │   │   │   │   │   ├── yoke 0.8.0
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   ├── zerofrom 0.1.6
1/1        641/657      58/58  5/5     49/49    ☢️  │   │   │   │   │   └── zerovec 0.11.2
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   ├── icu_normalizer_data 2.0.0
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   ├── icu_properties 2.0.1
0/12       0/12         0/0    0/0     0/0      ❓  │   │   │   │   │   ├── displaydoc 0.2.5
0/0        1/1          0/0    0/0     1/1      ☢️  │   │   │   │   │   ├── icu_collections 2.0.0
0/0        11/11        0/0    0/0     0/0      ☢️  │   │   │   │   │   ├── icu_locale_core 2.0.0
0/12       0/12         0/0    0/0     0/0      ❓  │   │   │   │   │   │   ├── displaydoc 0.2.5
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │   ├── litemap 0.8.0
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   │   │   ├── serde 1.0.219
0/0        96/101       24/25  4/4     12/13    ☢️  │   │   │   │   │   │   │   └── yoke 0.8.0
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   │   ├── serde 1.0.219
0/0        36/37        2/2    0/0     2/2      ☢️  │   │   │   │   │   │   ├── tinystr 0.8.1
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.219
1/1        641/657      58/58  5/5     49/49    ☢️  │   │   │   │   │   │   │   └── zerovec 0.11.2
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   │   ├── writeable 0.6.1
1/1        641/657      58/58  5/5     49/49    ☢️  │   │   │   │   │   │   └── zerovec 0.11.2
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   ├── icu_properties_data 2.0.1
0/0        31/31        3/3    0/0     2/2      ☢️  │   │   │   │   │   ├── icu_provider 2.0.0
0/12       0/12         0/0    0/0     0/0      ❓  │   │   │   │   │   │   ├── displaydoc 0.2.5
0/0        11/11        0/0    0/0     0/0      ☢️  │   │   │   │   │   │   ├── icu_locale_core 2.0.0
2/2        18/18        1/1    0/0     0/0      ☢️  │   │   │   │   │   │   ├── log 0.4.27
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   │   ├── serde 1.0.219
0/0        72/75        0/0    0/0     0/0      ☢️  │   │   │   │   │   │   ├── serde_json 1.0.140
0/0        0/0          18/18  2/2     0/0      ☢️  │   │   │   │   │   │   ├── stable_deref_trait 1.2.0
0/0        36/37        2/2    0/0     2/2      ☢️  │   │   │   │   │   │   ├── tinystr 0.8.1
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   │   ├── writeable 0.6.1
0/0        96/101       24/25  4/4     12/13    ☢️  │   │   │   │   │   │   ├── yoke 0.8.0
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │   ├── zerofrom 0.1.6
0/0        9/12         0/0    0/0     0/0      ☢️  │   │   │   │   │   │   ├── zerotrie 0.2.2
0/12       0/12         0/0    0/0     0/0      ❓  │   │   │   │   │   │   │   ├── displaydoc 0.2.5
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │   │   ├── litemap 0.8.0
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   │   │   ├── serde 1.0.219
0/0        96/101       24/25  4/4     12/13    ☢️  │   │   │   │   │   │   │   ├── yoke 0.8.0
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   │   │   │   │   ├── zerofrom 0.1.6
1/1        641/657      58/58  5/5     49/49    ☢️  │   │   │   │   │   │   │   └── zerovec 0.11.2
1/1        641/657      58/58  5/5     49/49    ☢️  │   │   │   │   │   │   └── zerovec 0.11.2
0/0        6/24         2/2    0/0     2/2      ☢️  │   │   │   │   │   ├── potential_utf 0.1.2
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   ├── serde 1.0.219
0/0        9/12         0/0    0/0     0/0      ☢️  │   │   │   │   │   ├── zerotrie 0.2.2
1/1        641/657      58/58  5/5     49/49    ☢️  │   │   │   │   │   └── zerovec 0.11.2
0/0        31/31        3/3    0/0     2/2      ☢️  │   │   │   │   ├── icu_provider 2.0.0
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   ├── serde 1.0.219
1/1        554/556      7/7    1/1     14/14    ☢️  │   │   │   │   ├── smallvec 1.15.1
0/0        5/5          0/0    0/0     0/0      ☢️  │   │   │   │   │   └── serde 1.0.219
0/0        10/10        0/0    0/0     0/0      ☢️  │   │   │   │   ├── utf8_iter 1.0.4
1/1        641/657      58/58  5/5     49/49    ☢️  │   │   │   │   └── zerovec 0.11.2
0/0        0/0          0/0    0/0     0/0      ❓  │   │   │   └── icu_properties 2.0.1
1/1        554/556      7/7    1/1     14/14    ☢️  │   │   ├── smallvec 1.15.1
0/0        10/10        0/0    0/0     0/0      ☢️  │   │   └── utf8_iter 1.0.4
0/0        78/83        0/0    0/0     0/0      ☢️  │   ├── indexmap 2.10.0
2/2        18/18        1/1    0/0     0/0      ☢️  │   ├── log 0.4.27
0/0        5/5          0/0    0/0     0/0      ☢️  │   ├── serde 1.0.219
0/0        0/0          0/0    0/0     0/0      ❓  │   ├── serde_derive 1.0.219
0/0        72/75        0/0    0/0     0/0      ☢️  │   ├── serde_json 1.0.140
2/5        315/342      0/0    0/0     6/6      ☢️  │   ├── time 0.3.41
0/0        0/0          0/0    0/0     0/0      ❓  │   └── url 2.5.4
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        30/30        0/0    0/0     0/0      ☢️  │       ├── idna 1.0.3
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.219
0/0        0/0          0/0    0/0     0/0      🔒  ├── ureq 2.12.1
0/0        0/0          0/0    0/0     0/0      🔒  │   ├── base64 0.22.1
0/0        0/0          0/0    0/0     0/0      ❓  │   ├── cookie 0.18.1
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.27
0/0        81/124       5/9    0/0     3/5      ☢️  │   ├── once_cell 1.21.3
0/0        5/5          0/0    0/0     0/0      ☢️  │   ├── serde 1.0.219
0/0        72/75        0/0    0/0     0/0      ☢️  │   ├── serde_json 1.0.140
0/0        0/0          0/0    0/0     0/0      ❓  │   └── url 2.5.4
0/0        0/0          0/0    0/0     0/0      ❓  └── url 2.5.4

51/75      5707/6977    142/153 13/13   253/334

Changelog

  • v0.4.0 2025-07-06 - Use applin v0.3.
  • 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.

About

Create an Applin™ client and control it from Rust code. Great for tests.

Resources

License

Stars

Watchers

Forks

Packages

No packages published