Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rnag/rust-wistia
Rust crate to upload videos to Wistia (via the Upload API)
https://github.com/rnag/rust-wistia
media rust wistia wistia-api wistia-video
Last synced: about 1 month ago
JSON representation
Rust crate to upload videos to Wistia (via the Upload API)
- Host: GitHub
- URL: https://github.com/rnag/rust-wistia
- Owner: rnag
- License: mit
- Created: 2022-02-15T23:29:55.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-10T23:11:17.000Z (over 1 year ago)
- Last Synced: 2024-10-01T17:08:22.905Z (about 1 month ago)
- Topics: media, rust, wistia, wistia-api, wistia-video
- Language: Rust
- Homepage:
- Size: 447 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# rust-wistia
[](https://github.com/rnag/rust-wistia)
[](https://crates.io/crates/rust-wistia)
[](https://docs.rs/rust-wistia)
[](https://github.com/rnag/rust-wistia/actions?query=branch%3Amain)**rust-wistia** is a *rust crate* which provides an `async` wrapper API that lets you easily interact
with the [Wistia API](https://wistia.com/support/developers).This is inspired in part by [wystia], a Python library I created for the Wistia API.
[wystia]: https://github.com/rnag/wystia
---
This crate works with Cargo with a `Cargo.toml` like:
```toml
[dependencies]
rust-wistia = "0.8"
tokio = { version = "1", features = ["full"] }
```## Table of Contents
* [Getting Started](#getting-started)
* [Examples](#examples)
* [Dependencies and Features](#dependencies-and-features)
* [Contributing](#contributing)
* [License](#license)
* [Authors](#authors)## Getting Started
Getting started with the `rust-wistia` library is easy:
1. Set **WISTIA_API_TOKEN** in your environment; you can
also use the `from` constructor
to explicitly set the token value.
Find out more about [Authentication and Access Tokens](https://wistia.com/support/developers/data-api#creating-and-managing-access-tokens)
in the Wistia API Documentation.2. Add some usage to your application.
Here's an example of uploading a media, via a public URL link:
```rust
use rust_wistia::UrlUploader;#[tokio::main]
async fn main() -> std::result::Result<(), Box> {
let res = UrlUploader::new("my-url-link")?
.name("My Video Name")
.send()
.await?;println!("Response: {res:#?}");
// Print out some useful attributes
println!("Video ID: {}", res.hashed_id);Ok(())
}
```## Examples
You can check out sample usage of API methods in the [examples/](https://github.com/rnag/rust-wistia/tree/main/examples)
folder in the project repo on GitHub.## Dependencies and Features
This library uses only the minimum required dependencies, in order
to keep the overall size small. This crate uses [`hyper`][] and [`hyper-rustls`][]
internally, to make HTTPS requests to the Wistia API.While `hyper-rustls` was chosen as the default TLS implementation
because it works without issue when cross-compiling for the
**x86_64-unknown-linux-musl** target as is common for [AWS Lambda][]
deployments, it is still possible to instead use the native [`hyper-tls`][]
implementation, which relies on OpenSSL.To do this, disable the default "rust-tls" feature and enable the "native-tls" feature:
```toml
[dependencies]
rust-wistia = { version = "*", default-features = false, features = ["native-tls", "logging", "serde-std"] }
```[`hyper`]: https://docs.rs/hyper
[`hyper-rustls`]: https://docs.rs/hyper-rustls
[`hyper-tls`]: https://docs.rs/hyper-tls
[AWS Lambda]: https://docs.aws.amazon.com/sdk-for-rust/latest/dg/lambda.html## Contributing
Contributions are welcome! Open a pull request to fix a bug, or [open an issue][]
to discuss a new feature or change.Check out the [Contributing][] section in the docs for more info.
[Contributing]: CONTRIBUTING.md
[open an issue]: https://github.com/rnag/rust-wistia/issues## License
This project is proudly licensed under the MIT license ([LICENSE](LICENSE)
or http://opensource.org/licenses/MIT).`rust-wistia` can be distributed according to the MIT license. Contributions
will be accepted under the same license.## Authors
* [Ritvik Nag](https://github.com/rnag)