42 releases (20 stable)

2.0.0-pre.0 Nov 19, 2024
1.5.2 Sep 3, 2024
1.5.1 Mar 10, 2024
1.4.1 Jun 26, 2023
0.1.1 Aug 4, 2017

#5 in Operating systems

Download history 492266/week @ 2024-08-22 471126/week @ 2024-08-29 531944/week @ 2024-09-05 511460/week @ 2024-09-12 509086/week @ 2024-09-19 548777/week @ 2024-09-26 565616/week @ 2024-10-03 563005/week @ 2024-10-10 611108/week @ 2024-10-17 633262/week @ 2024-10-24 591204/week @ 2024-10-31 614196/week @ 2024-11-07 638932/week @ 2024-11-14 597089/week @ 2024-11-21 496362/week @ 2024-11-28 593318/week @ 2024-12-05

2,447,761 downloads per month
Used in 1,900 crates (260 directly)

Apache-2.0 OR BSL-1.0 OR MIT

79KB
2K SLoC

WhoAmI Logo

Changelog | Source | Getting Started

tests GitHub commit activity GitHub contributors
Crates.io Crates.io Crates.io (recent)
Crates.io Docs.rs

Retrieve the current user and environment through simple functions.

Check out the documentation for examples.

Features

  • Get the user's full name
  • Get the user's username
  • Get the user's preferred language(s)
  • Get the devices's hostname
  • Get the devices's "pretty" or "fancy" name
  • Get the devices's desktop environment
  • Get the devices's OS name and version
  • Get the devices's platform name
  • Get the devices's CPU architecture and its width

Supported Platforms

WhoAmI targets all platforms that can run Rust, including:

  • Linux
  • Windows
  • Mac OS
  • BSD variants (FreeBSD, others)
  • illumos variants (SmartOS, OmniOS, others) Target-Specific MSRV 1.65
  • Redox Target-Specific MSRV 1.65
  • Web Assembly
    • Fake implementation
    • Web Browser - DOM
    • WASI (Wasite, others) untested, testing planned later
    • Daku (Ardaku/Quantii, others) planned later
  • Android planned later
  • iOS / watchOS / tvOS planned later
  • Fuchsia planned later
  • GNU/Hurd untested
  • Others? (make a PR or open an issue)

MSRV

WhoAmI 1.x.y targets Rust 1.40.0 stable and later, and the 1.x.y track will be maintained at least until the release of the Rust 2024 edition.

The MSRV will not be updated until version 2.0.0, after which breaking changes may happen on minor releases, and version 2.0.0 will target Rust 1.65.0 and later to make use of the let else syntax. The current plan is for all 2.x releases to be supported and receive bugfixes at least until sometime in 2027, bumping MSRV only as needed.

Binary

whome: whoami command RiR (Re-written in Rust) that depends on this crate.

Testing

The testing procedure is documented at https://github.com/ardaku/whoami/blob/v1/TESTING.md. The full manual test suite is run for each change that affects multiple platforms.

License

Copyright © 2017-2024 The WhoAmI Contributors.

Licensed under any of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as described above, without any additional terms or conditions.

Help

If you want help using or contributing to this library, feel free to send me an email at aldaronlau@gmail.com.

Dependencies

~0–2.4MB
~44K SLoC