Release 0.5.0

Rename to rups
This commit is contained in:
Aram 🍐 2021-08-01 03:17:17 -04:00
parent 539d11848e
commit feef67255f
21 changed files with 51 additions and 47 deletions

28
Cargo.lock generated
View file

@ -171,18 +171,6 @@ dependencies = [
"libc",
]
[[package]]
name = "nut-client"
version = "0.4.0"
dependencies = [
"rustls",
"shell-words",
"tokio",
"tokio-rustls",
"webpki",
"webpki-roots",
]
[[package]]
name = "once_cell"
version = "1.8.0"
@ -228,13 +216,25 @@ dependencies = [
"winapi",
]
[[package]]
name = "rups"
version = "0.5.0"
dependencies = [
"rustls",
"shell-words",
"tokio",
"tokio-rustls",
"webpki",
"webpki-roots",
]
[[package]]
name = "rupsc"
version = "0.4.0"
version = "0.5.0"
dependencies = [
"anyhow",
"clap",
"nut-client",
"rups",
]
[[package]]

View file

@ -1,5 +1,5 @@
[workspace]
members = [
"nut-client",
"rups",
"rupsc"
]

View file

@ -1,8 +1,8 @@
# nut-client
# rups
[![crates.io](https://img.shields.io/crates/v/nut-client.svg)](https://crates.io/crates/nut-client)
[![Documentation](https://docs.rs/nut-client/badge.svg)](https://docs.rs/nut-client)
[![MIT licensed](https://img.shields.io/crates/l/nut-client.svg)](./LICENSE)
[![crates.io](https://img.shields.io/crates/v/rups.svg)](https://crates.io/crates/rups)
[![Documentation](https://docs.rs/rups/badge.svg)](https://docs.rs/rups)
[![MIT licensed](https://img.shields.io/crates/l/rups.svg)](./LICENSE)
[![CI](https://github.com/aramperes/nut-client-rs/workflows/CI/badge.svg)](https://github.com/aramperes/nut-client-rs/actions?query=workflow%3ACI)
A [Network UPS Tools](https://github.com/networkupstools/nut) (NUT) client library for Rust.
@ -38,15 +38,15 @@ built-in [upsc](https://networkupstools.org/docs/man/upsc.html) tool.
Below is a sample program using this library (`cargo run --example blocking`).
You can also run the async version of this code using
`cargo run --example async --features async-rt` (source: `nut-client/examples/async.rs`).
`cargo run --example async --features async-rt` (source: `rups/examples/async.rs`).
```rust
// nut-client/examples/blocking.rs
// rups/examples/blocking.rs
use std::env;
use nut_client::blocking::Connection;
use nut_client::{Auth, ConfigBuilder};
use rups::blocking::Connection;
use rups::{Auth, ConfigBuilder};
use std::convert::TryInto;
fn main() -> nut_client::Result<()> {
@ -100,7 +100,11 @@ If the server is using a self-signed certificate, and you'd like to ignore the s
## Async (Tokio)
The `nut-client` library supports async network requests. This requires the `async` feature, which uses Tokio v1 under
the hood.
The `rups` library supports async network requests. This requires the `async` feature, which uses Tokio v1 under the
hood.
For SSL support, you must use the `async-ssl` feature as well.
## Pronunciation
> r-oops

View file

@ -1,13 +1,13 @@
[package]
name = "nut-client"
version = "0.4.0"
name = "rups"
version = "0.5.0"
authors = ["Aram Peres <aram.peres@wavy.fm>"]
edition = "2018"
description = "Network UPS Tools (NUT) client library"
categories = ["network-programming"]
keywords = ["ups", "nut", "tokio", "async"]
repository = "https://github.com/aramperes/nut-client-rs"
documentation = "https://docs.rs/nut-client"
documentation = "https://docs.rs/rups"
readme = "../README.md"
license = "MIT"

View file

@ -1,11 +1,11 @@
use std::env;
use nut_client::tokio::Connection;
use nut_client::{Auth, ConfigBuilder};
use rups::tokio::Connection;
use rups::{Auth, ConfigBuilder};
use std::convert::TryInto;
#[tokio::main]
async fn main() -> nut_client::Result<()> {
async fn main() -> rups::Result<()> {
let host = env::var("NUT_HOST").unwrap_or_else(|_| "localhost".into());
let port = env::var("NUT_PORT")
.ok()

View file

@ -1,10 +1,10 @@
use std::convert::TryInto;
use std::env;
use nut_client::blocking::Connection;
use nut_client::{Auth, ConfigBuilder};
use rups::blocking::Connection;
use rups::{Auth, ConfigBuilder};
fn main() -> nut_client::Result<()> {
fn main() -> rups::Result<()> {
let host = env::var("NUT_HOST").unwrap_or_else(|_| "localhost".into());
let port = env::var("NUT_PORT")
.ok()

View file

@ -1,8 +1,8 @@
#![deny(missing_docs)]
//! # nut-client
//! # rups
//!
//! The `nut-client` crate provides a network client implementation
//! The `rups` crate provides a network client implementation
//! for Network UPS Tools (NUT) servers.
pub use config::*;

View file

@ -1,6 +1,6 @@
[package]
name = "rupsc"
version = "0.4.0"
version = "0.5.0"
authors = ["Aram Peres <aram.peres@wavy.fm>"]
edition = "2018"
description = "A demo program to display UPS variables"
@ -16,7 +16,7 @@ license = "MIT"
clap = "2.33.3"
anyhow = "1"
[dependencies.nut-client]
version = "0.4.0"
path = "../nut-client"
[dependencies.rups]
version = "0.5.0"
path = "../rups"
features = ["ssl"]

View file

@ -1,14 +1,14 @@
# rupsc
[![crates.io](https://img.shields.io/crates/v/rupsc.svg)](https://crates.io/crates/rupsc)
[![Documentation](https://docs.rs/nut-client/badge.svg)](https://docs.rs/nut-client)
[![Documentation](https://docs.rs/rups/badge.svg)](https://docs.rs/rups)
[![MIT licensed](https://img.shields.io/crates/l/rupsc.svg)](./LICENSE)
[![CI](https://github.com/aramperes/nut-client-rs/workflows/CI/badge.svg)](https://github.com/aramperes/nut-client-rs/actions?query=workflow%3ACI)
A Rust clone of [upsc](https://networkupstools.org/docs/man/upsc.html),
the [Network UPS Tools](https://github.com/networkupstools/nut) (NUT) demo program to display UPS variables.
Written using the [nut-client](https://github.com/aramperes/nut-client-rs) crate.
Written using the [rups](https://github.com/aramperes/nut-client-rs) crate.
- Connect to `upsd`/`nut-server` using TCP
- List UPS devices

View file

@ -1,7 +1,7 @@
use anyhow::Context;
use nut_client::blocking::Connection;
use nut_client::Config;
use rups::blocking::Connection;
use rups::Config;
/// Lists each UPS on the upsd server, one per line.
pub fn list_devices(config: Config, with_description: bool) -> anyhow::Result<()> {

View file

@ -82,7 +82,7 @@ fn main() -> anyhow::Result<()> {
let ssl = insecure_ssl || args.is_present("ssl");
let host = server.try_into()?;
let config = nut_client::ConfigBuilder::new()
let config = rups::ConfigBuilder::new()
.with_host(host)
.with_debug(debug)
.with_ssl(ssl)

View file

@ -64,10 +64,10 @@ impl<'a> TryFrom<&'a str> for UpsdName<'a> {
}
}
impl<'a> TryInto<nut_client::Host> for UpsdName<'a> {
impl<'a> TryInto<rups::Host> for UpsdName<'a> {
type Error = anyhow::Error;
fn try_into(self) -> anyhow::Result<nut_client::Host> {
fn try_into(self) -> anyhow::Result<rups::Host> {
(self.hostname.to_owned(), self.port)
.try_into()
.with_context(|| "Invalid hostname/port")