A random.org client library for Rust

Overview

random.org

Build status Crates Docs MIT licensed

A https://random.org client library. The randomness comes from atmospheric noise, which for many purposes is better than the pseudo-random number algorithms typically used in computer programs.

Status

Everything is implemented. Note, that the random.org service API is at beta stage of development, however the library will try to be up-to-date.

The documentation

The documentation which may help you using this library.

Implementation

  • Immutable interface, no need to synchronize, thread-safe (Sync and Send).
  • No unsafe blocks.
  • reqwest crate is used for performing requests.
  • chrono for dates.
  • serde for serialization and deserialization.

Features

  • rand feature which provides the rand_core::RngCore trait implementation for the Random struct and adds new FallibleRandom<T: rand_core::RngCore> structure for better random generation UX.

Usage

Start by creating Random instance and perform needed operations after.

extern crate randomorg;

fn main() {
    use randomorg::Random;
    let r = Random::new("API KEY HERE");
    // A method-call way:
    println!("Result: {:?}", r.generate_integers(-100, 100, 15, true));
    // A lazy request builder way:
    let random_data = r.request_integers().min(0).max(100).limit(5).collect::<Vec<i32>>();
    println!("Random integers: {:?}", random_data);
}

With the rand feature you can also use it that way:

extern crate randomorg;

fn main() {
    use rand_core::RngCore;
    use randomorg::Random;
   
    let mut random = Random::new("API KEY HERE");
    let mut key = [0u8; 16];
    random.fill_bytes(&mut key);
    let random_u64 = random.next_u64();
}

License

This project is licensed under the MIT license.

Comments
  • Reqwest error, expected u64

    Reqwest error, expected u64

    I am trying to run the example with my API key. But it seems like reqwest is expecting u64.

    Result: Err(Reqwest(Error(Json(Error("invalid type: null, expected u64", line: 1, column: 90)))))
    Random integers: Err(Reqwest(Error(Json(Error("invalid type: null, expected u64", line: 1, column: 90)))))
    
    opened by maljaroudi 4
  • Update vergen requirement from 3 to 4

    Update vergen requirement from 3 to 4

    Updates the requirements on vergen to permit the latest version.

    Release notes

    Sourced from vergen's releases.

    v4.0.2

    • Removed some transitive dependencies from the git2 crate (specifically openssl-sys) via the default-features = false flag to allow for running on more diverse systems.
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Update reqwest requirement from 0.10 to 0.11

    Update reqwest requirement from 0.10 to 0.11

    Updates the requirements on reqwest to permit the latest version.

    Release notes

    Sourced from reqwest's releases.

    v0.11.0

    • Change multipart to be an optional cargo feature.
    • Remove deprecated methods.
    • Update to Tokio v1.0.
    • Update to Bytes v1.0.
    • Update to hyper v0.14.
    Changelog

    Sourced from reqwest's changelog.

    v0.11.0

    • Change multipart to be an optional cargo feature.

    • Remove deprecated methods.

    • Update to Tokio v1.0.

    • Update to Bytes v1.0.

    • Update to hyper v0.14.

    v0.10.10

    • Add tcp_keepalive option to blocking::ClientBuilder.
    • Add multipart::Part::stream_with_length constructor, to create a streaming part with a known length.
    • Add ClientBuilder::https_only option, to allow requiring URLs to be https.
    • Change default tcp_keepalive value to be disabled.

    v0.10.9

    • Add rustls-tls-native-roots, rustls-tls-webpki-roots, and rustls-tls-manual-roots Cargo features, to configure which certificate roots to use with rustls.
    • Add ClientBuilder::tcp_keepalive() method to enable TCP keepalive.
    • Add ClientBuilder::http1_writev() method to force enable or disable vectored writes.
    • Add Error::is_connect() method to identify if the error is related to connection-establishment.
    • Add blocking::ClientBuilder::brotli() method.
    • Windows: Update default protocol to HTTP for HTTPS system proxies, when a protocol is not specified.
    • (wasm) Add support for Cloudflare workers runtime.
    • (wasm) Add ClientBuilder::default_headers() method.
    • (wasm) Add RequestBuilder::build() method.

    v0.10.8

    • Add must_use to RequestBuilder and ClientBuilder.
    • Fix Windows system proxy detection of Fiddler proxies.
    • (wasm) Add headers method to RequestBuilder.
    • (wasm) Add execute method to Client.
    • (wasm) Add TryFrom<http::Request> for Request.
    • (wasm) Fix checking for global window to work in non-browser environments.
    • (wasm) Fix sending of an empty body when not required.

    v0.10.7

    • Add NO_PROXY environment variable support.
    • Add more Error::{is_request, is_body, is_decode} getters.
    • Add conversion of reqwest::ClientBuilder to reqwest::blocking::ClientBuilder.
    • Add headers_mut() to reqwest::blocking::Response.
    • (wasm) Add form(), query(), multipart and bearer_auth() to RequestBuilder.

    v0.10.6

    • Changed handling of URLs that don't have http: or https: schemes, returning an error instead.
    • Fixed a potential hyper-rustls feature conflict.
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Update rand_core requirement from 0.5 to 0.6

    Update rand_core requirement from 0.5 to 0.6

    Updates the requirements on rand_core to permit the latest version.

    Changelog

    Sourced from rand_core's changelog.

    [0.6.0] - 2018-11-14

    Project organisation

    Platforms

    • Add fork protection on Unix (#466)
    • Added support for wasm-bindgen. (#541, #559, #562, #600)
    • Enable OsRng for powerpc64, sparc and sparc64 (#609)
    • Use syscall from libc on Linux instead of redefining it (#629)

    RNGs

    • Switch SmallRng to use PCG (#623)
    • Implement Pcg32 and Pcg64Mcg generators (#632)
    • Move ISAAC RNGs to a dedicated crate (#551)
    • Move Xorshift RNG to its own crate (#557)
    • Move ChaCha and HC128 RNGs to dedicated crates (#607, #636)
    • Remove usage of Rc from ThreadRng (#615)

    Sampling and distributions

    • Implement Rng.gen_ratio() and Bernoulli::new_ratio() (#491)
    • Make Uniform strictly respect f32 / f64 high/low bounds (#477)
    • Allow gen_range and Uniform to work on non-Copy types (#506)
    • Uniform supports inclusive ranges: Uniform::from(a..=b). This is automatically enabled for Rust >= 1.27. (#566)
    • Implement TrustedLen and FusedIterator for DistIter (#620)

    New distributions

    • Add the Dirichlet distribution (#485)
    • Added sampling from the unit sphere and circle. (#567)
    • Implement the triangular distribution (#575)
    • Implement the Weibull distribution (#576)
    • Implement the Beta distribution (#574)

    Optimisations

    • Optimise Bernoulli::new (#500)
    • Optimise char sampling (#519)
    • Optimise sampling of std::time::Duration (#583)

    Sequences

    • Redesign the seq module (#483, #515)
    • Add WeightedIndex and choose_weighted (#518, #547)
    • Optimised and changed return type of the sample_indices function. (#479)
    • Use Iterator::size_hint() to speed up IteratorRandom::choose (#593)
    Commits
    • 98e220c Merge pull request #1072 from dhardy/work
    • 95fea0e Fix link in README; rename keyword as suggested in #1073
    • 459d863 Prepare rand_chacha 0.3.0 release
    • 15aebf4 Prepare rand_pcg 0.3.0
    • 14c2016 Prepare rand_hc 0.3.0
    • d95dbd2 Prepare rand_core 0.6.0
    • 6682db1 Merge pull request #1073 from rust-random/work2
    • 33b8f37 Address review: use assert_almost_eq macro
    • 354468e Use approximate assertions in value stability and increase some tolerences sl...
    • 33a78de Add cross test (inspired by ndarray CI)
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Update reqwest requirement from 0.9 to 0.10

    Update reqwest requirement from 0.9 to 0.10

    Updates the requirements on reqwest to permit the latest version.

    Release notes

    Sourced from reqwest's releases.

    v0.10.0

    • Add std::future::Future support.

    • Add wasm32-unknown-unknown support (with fewer features).

    • Add ability to pass async Response as the body of another Request.

    • Add Body::as_bytes() method.

    • Add Response::bytes_stream() method to get body as an impl Stream.

    • Add Request::try_clone() method.

    • Change default Client API to async. The previous blocking client API is avaialble at reqwest::blocking.

    • Change to no longer send a default User-Agent header. Add one via ClientBuilder::user_agent().

    • Change to enable system/environment proxy detection by default.

    • Change default-tls feature to only include ClientBuilder options that both native-tls and rustls support.

    • Change default feature set to reduce unnecessary dependencies. Most features are disabled by default:

      • blocking: The reqwest::blocking (synchronous) client API.
      • cookies: Cookie store support.
      • gzip: Automatic response body decompression.
      • json: Request and response JSON body methods.
      • stream: futures::Stream support.
    • Change Error internal design, removing several Error::is_* inspector methods.

    • Change Redirect API:

      • Renamed types to be part of the redirect module (for example, reqwest::RedirectPolicy is now reqwest::redirect::Policy).
      • Removed loop_detected and too_many_redirect methods from redirect::Attempt, replaced with a generic error method.
      • The default policy no longer specifically looks for redirect loops (but they should be caught by the maximum limit).
    • Fix checking HTTP_PROXY environment variable if it the environment is from a CGI script.

    • Fix removal of username/password of parsed proxy URL.

    • Update url to v2.0.

    • Update hyper to v0.13.

    • Update http to v0.2.

    Changelog

    Sourced from reqwest's changelog.

    v0.10.0

    • Add std::future::Future support.

    • Add wasm32-unknown-unknown support (with fewer features).

    • Add ability to pass async Response as the body of another Request.

    • Add Body::as_bytes() method.

    • Add Response::bytes_stream() method to get body as an impl Stream.

    • Add Request::try_clone() method.

    • Change default Client API to async. The previous blocking client API is avaialble at reqwest::blocking.

    • Change to no longer send a default User-Agent header. Add one via ClientBuilder::user_agent().

    • Change to enable system/environment proxy detection by default.

    • Change default-tls feature to only include ClientBuilder options that both native-tls and rustls support.

    • Change default feature set to reduce unnecessary dependencies. Most features are disabled by default:

      • blocking: The reqwest::blocking (synchronous) client API.
      • cookies: Cookie store support.
      • gzip: Automatic response body decompression.
      • json: Request and response JSON body methods.
      • stream: futures::Stream support.
    • Change Error internal design, removing several Error::is_* inspector methods.

    • Change Redirect API:

      • Renamed types to be part of the redirect module (for example, reqwest::RedirectPolicy is now reqwest::redirect::Policy).
      • Removed loop_detected and too_many_redirect methods from redirect::Attempt, replaced with a generic error method.
      • The default policy no longer specifically looks for redirect loops (but they should be caught by the maximum limit).
    • Fix checking HTTP_PROXY environment variable if it the environment is from a CGI script.

    • Fix removal of username/password of parsed proxy URL.

    • Update url to v2.0.

    • Update hyper to v0.13.

    • Update http to v0.2.

    v0.9.19

    • Add ClientBuilder::use_sys_proxy() to enable automatic detect of HTTP proxies configured on the system.
    • Add ClientBuilder::no_proxy() to disable system proxies. This is the default for 0.9, but will change to detecting system proxies by default in 0.10.
    • Add support for streaming request bodies in the async client.
    • Add async::Response::text() that returns a Future of the full body decoded to a String.
    • Add Clone for Certificate.

    v0.9.18

    • Fix Cookie headers to no longer send as percent-encoded (instead, exactly as sent by the server).

    v0.9.17

    • Fix Cookie headers so as to not include attributes from the Set-Cookie (like HttpOnly, Secure, etc).

    v0.9.16

    ... (truncated)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Update vergen requirement from 0.1 to 3.0

    Update vergen requirement from 0.1 to 3.0

    Updates the requirements on vergen to permit the latest version.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 1
  • Update reqwest requirement from 0.8 to 0.9

    Update reqwest requirement from 0.8 to 0.9

    Updates the requirements on reqwest to permit the latest version.

    Release notes

    Sourced from reqwest's releases.

    v0.9.0

    Features

    • Upgrade to tokio 0.1.
    • Upgrade to hyper 0.12.
    • Upgrade to native-tls 0.2.
    • Add ClientBuilder::danger_accept_invalid_certs(bool) to disable certificate verification.
    • Add RequestBuilder::bearer_auth(token) to ease sending bearer tokens.
    • Add headers() and headers_mut() to multipart::Part to allow sending extra headers for a specific part.
    • Moved request::unstable::async to reqwest::async.

    Fixes

    • Fix panicking when passing a Url with a file:// scheme. Instead, an Error is returned.

    Breaking Changes

    • Changed ClientBuilder::danger_disable_hostname_verification() to ClientBuilder::danger_accept_invalid_hostnames(bool).

    • Changed ClientBuilder to be a by-value builder instead of by-ref.

      For single chains of method calls, this shouldn't affect you. For code that conditionally uses the builder, this kind of change is needed:

      // Old
      let mut builder = ClientBuilder::new();
      if some_val {
          builder.gzip(false);
      }
      let client = builder.build()?;
      
      // New
      let mut builder = ClientBuilder::new();
      if some_val {
          builder = builder.gzip(false);
      }
      let client = builder.build()?;
      
    • Changed RequestBuilder to be a by-value builder of by-ref.

      See the previous note about ClientBuilder for affected code and how to change it.

    • Removed the unstable cargo-feature, and moved reqwest::unstable::async to reqwest::async.

    • Changed multipart::Part::mime() to mime_str().

    ... (truncated)
    Changelog

    Sourced from reqwest's changelog.

    v0.9.0

    Features

    • Upgrade to tokio 0.1.
    • Upgrade to hyper 0.12.
    • Upgrade to native-tls 0.2.
    • Add ClientBuilder::danger_accept_invalid_certs(bool) to disable certificate verification.
    • Add RequestBuilder::bearer_auth(token) to ease sending bearer tokens.
    • Add headers() and headers_mut() to multipart::Part to allow sending extra headers for a specific part.
    • Moved request::unstable::async to reqwest::async.

    Fixes

    • Fix panicking when passing a Url with a file:// scheme. Instead, an Error is returned.

    Breaking Changes

    • Changed ClientBuilder::danger_disable_hostname_verification() to ClientBuilder::danger_accept_invalid_hostnames(bool).

    • Changed ClientBuilder to be a by-value builder instead of by-ref.

      For single chains of method calls, this shouldn't affect you. For code that conditionally uses the builder, this kind of change is needed:

      // Old
      let mut builder = ClientBuilder::new();
      if some_val {
          builder.gzip(false);
      }
      let client = builder.build()?;
      
      // New
      let mut builder = ClientBuilder::new();
      if some_val {
          builder = builder.gzip(false);
      }
      let client = builder.build()?;
      
    • Changed RequestBuilder to be a by-value builder of by-ref.

      See the previous note about ClientBuilder for affected code and how to change it.

    • Removed the unstable cargo-feature, and moved reqwest::unstable::async to reqwest::async.

    • Changed multipart::Part::mime() to mime_str().

    ... (truncated)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 1
  • Update vergen requirement from 0.1 to 2.0

    Update vergen requirement from 0.1 to 2.0

    Updates the requirements on vergen to permit the latest version.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

    You can always request more updates by clicking Bump now in your Dependabot dashboard.

    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 1
  • Upgrade to GitHub-native Dependabot

    Upgrade to GitHub-native Dependabot

    Dependabot Preview will be shut down on August 3rd, 2021. In order to keep getting Dependabot updates, please merge this PR and migrate to GitHub-native Dependabot before then.

    Dependabot has been fully integrated into GitHub, so you no longer have to install and manage a separate app. This pull request migrates your configuration from Dependabot.com to a config file, using the new syntax. When merged, we'll swap out dependabot-preview (me) for a new dependabot app, and you'll be all set!

    With this change, you'll now use the Dependabot page in GitHub, rather than the Dependabot dashboard, to monitor your version updates, and you'll configure Dependabot through the new config file rather than a UI.

    If you've got any questions or feedback for us, please let us know by creating an issue in the dependabot/dependabot-core repository.

    Learn more about migrating to GitHub-native Dependabot

    Please note that regular @dependabot commands do not work on this pull request.

    dependencies 
    opened by dependabot-preview[bot] 1
  • Update vergen requirement from 3 to 5

    Update vergen requirement from 3 to 5

    Updates the requirements on vergen to permit the latest version.

    Release notes

    Sourced from vergen's releases.

    v5.0.0

    • Removed the deprecated gen in lieu of vergen
    • Removed ConstantsFlags in lieu of Config
    Commits
    • 22a2a26 version bump for next release, docs, lints (#55)
    • dcea966 Removed deprecated 'gen' and 'ConstantsFlags' (#53)
    • bf86b11 fixed bad lint name
    • a19a3dd Fixed broken nightly_lints attribute, so test should run now
    • e955ce9 Fixed broken rustc test, segregated nightly only lints
    • 66d6b66 version bump for next release (#52)
    • d42d9ed added no-op test
    • 1ccfcec testing
    • f3a07a4 Replace ConstantsFlags with Config (#51)
    • f49246c Re-order some things
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Implement support of the `rand` crate

    Implement support of the `rand` crate

    The rand crate provides a few traits which can be used so that randomorg crate can be used through rand as backend.

    Related issue: https://github.com/rust-lang-nursery/rand/issues/176

    enhancement help wanted 
    opened by vityafx 0
Owner
Victor Polevoy
C/C++/Rust systems and application developer, Certified Scrum Professional (CSP).
Victor Polevoy
ᎩᎦᎨᎢ (IPA: [gigagei]) is a random quote fetching console utility. Written in Rust.

gigagei ᎩᎦᎨᎢ (IPA: [gigagei]) is a random quote fetching console utility. Written in Rust. Installing Use latest pre-built binary from releases Buildi

veleth 10 Jun 17, 2022
SubStrings, Slices and Random String Access in Rust

SubStrings, Slices and Random String Access in Rust This is a simple way to do it. Description Rust string processing is kind of hard, because text in

João Nuno Carvalho 2 Oct 24, 2021
⬢ hexil.org: The libre online alternative to Settlers of Catan

Hexer Getting started for developers Backend Install Rust and Cargo, for example using rustup. Navigate to the back directory. Then start the backend:

Hexil 4 Sep 5, 2022
Search lyrics from tononkira.serasera.org.

Tononkira CLI A command line interface for tononkira.serasera.org. Installation Simply run: $ cargo install tononkira macOS/Linux $ brew install tsiry

Tsiry Sandratraina 10 Sep 1, 2022
File Tree Fuzzer allows you to create a pseudo-random directory hierarchy filled with some number of files.

FTZZ File Tree Fuzzer allows you to create a pseudo-random directory hierarchy filled with some number of files. Installation $ cargo +nightly install

Alex Saveau 22 Dec 28, 2022
Quad-rand implements pseudo-random generator

quad-rand quad-rand implements pseudo-random generator based on rust atomics. Compatible with wasm and any oth

Fedor Logachev 10 Feb 11, 2022
A simple interpreter for the mathematical random-access machine

Random-access machine runner A simple Rust RAM program runner. Lexer/Parser Program executor Code formatter Web Compiled to WASM to run in the browser

Marcin Wojnarowski 5 Jan 14, 2023
A Diablo II library for core and simple client functionality, written in Rust for performance, safety and re-usability

A Diablo II library for core and simple client functionality, written in Rust for performance, safety and re-usability

null 4 Nov 30, 2022
Rust client for AWS Infinidash service.

AWS Infinidash - Fully featured Rust client Fully featured AWS Infinidash client for Rust applications. You can use the AWS Infinidash client to make

Rafael Carício 15 Feb 12, 2022
Supernova client in Rust

What is this? A client library for the Supernova REST API. Usage use iron_planet::{Supernova, RequestConfig}; fn main() { // Instantiate an unpri

Nova Universidade Nova de Lisboa 1 Dec 29, 2021
RCON client for Rust

rcon-rs Simple implementation of a crate that allows you to work with the RCON protocol To work with TCP, the TcpStream structure built into the std::

Donkey Engine 4 Aug 10, 2022
TaurApp is a WhatsApp desktop client powered by Tauri and Rust.

TaurApp TaurApp is a WhatsApp desktop client powered by Tauri and Rust. TaurApp is an experimental client and is initially created to test out Tauri i

Eray Erdin (&mut self) 22 Mar 19, 2023
Simple git/hg tui client focused on keyboard shortcuts

verco A simple Git/Hg tui client focused on keyboard shortcuts Screenshots Platforms This project uses Cargo and pure Rust stable and works on latest

Matheus Lessa Rodrigues 214 Dec 26, 2022
client-server notification center for dbus desktop notifications

tsuchita A client-server notification center for dbus desktop notifications. Specifically org.freedesktop.Notifications dbus messages. Motivation I ju

Jeff Zhao 7 Oct 9, 2022
This is an implementation defining standard for client-side-validation

Client-side-validation Foundation Libraries This is an implementation defining standard of client-side-validation representing a set of its Foundation

LNP/BP Association 8 Dec 3, 2022
Rusty NuGet client

turron It's a NuGet client built in Rust. It's not really meant to replace existing nuget clients. It's more of a playground for experimenting with re

Kat Marchán 18 Feb 2, 2022
FerrisChat's Client

egui template This is a template repo for egui. The goal is for this to be the simplest way to get started writing a GUI app in Rust. You can compile

FerrisChat 5 Nov 23, 2022
A gitmoji interactive client for using gitmojis on commit messages.

gitmoji in Rust This is just an opinionated version of gitmoji-cli written in Rust . A gitmoji interactive client for using gitmojis on commit message

igor 2 Aug 16, 2022
Flexcord! A custom Discord client to allow you to do what you want!

Disclaimer Flexcord is NO WHERE near done. Flexcord What is it? Flexcord is a Discord client that flexes for your needs, it allows you to do exactly w

null 2 Dec 5, 2022