From cadefea1dd0e53c0a3275f072f5241dc5216ad04 Mon Sep 17 00:00:00 2001 From: Niels Swimberghe <3382717+Swimburger@users.noreply.github.com> Date: Fri, 2 Aug 2024 01:50:14 +0200 Subject: [PATCH] Add icon, banner, improve package spec --- LICENSE | 21 +++++++ README.md | 20 ++++--- assemblyai.png | Bin 0 -> 32151 bytes icon.png | Bin 0 -> 3885 bytes .../AssemblyAI.IntegrationTests.csproj | 16 +++-- .../AssemblyAI.UnitTests.csproj | 16 +++-- src/AssemblyAI/AssemblyAI.csproj | 56 ++++++++++++++---- src/AssemblyAI/Core/Constants.cs | 2 +- 8 files changed, 99 insertions(+), 32 deletions(-) create mode 100644 LICENSE create mode 100644 assemblyai.png create mode 100644 icon.png diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..124a216 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 AssemblyAI + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 03a32e9..5b4e942 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +AssemblyAI logo + +--- + # AssemblyAI C# .NET SDK [![NuGet](https://img.shields.io/nuget/v/AssemblyAI.svg)](https://www.nuget.org/packages/AssemblyAI.net/) @@ -7,7 +11,7 @@ [![Discord](https://img.shields.io/discord/875120158014853141?logo=discord&label=Discord&link=https%3A%2F%2Fdiscord.com%2Fchannels%2F875120158014853141&style=social) ](https://assemblyai.com/discord) -The AssemblyAI C# SDK provides an easy-to-use interface for interacting with the AssemblyAI API from .NET, which supports async and real-time transcription, as well as the latest audio intelligence and LeMUR models. +The AssemblyAI C# SDK provides an easy-to-use interface for interacting with the AssemblyAI API from .NET, which supports async and real-time transcription, as well as the latest audio intelligence and LeMUR models. The C# SDK is compatible with `.NET 6.0` and up, `.NET Framework 4.6.2` and up, and `.NET Standard 2.0`. ## Documentation @@ -35,7 +39,7 @@ You can now use the `client` object to interact with the AssemblyAI API. ## Add the AssemblyAIClient to the dependency injection container -The AssemblyAI SDK has built-in support for default .NET dependency injection container. +The AssemblyAI SDK has built-in support for default .NET dependency injection container. Add the `AssemblyAIClient` to the service collection like this: ```csharp @@ -118,7 +122,7 @@ var client = new AssemblyAIClient(Environment.GetEnvironmentVariable("ASSEMBLYAI // Transcribe file using file info var transcript = await client.Transcripts.TranscribeAsync( - new FileInfo("./news.mp4"), + new FileInfo("./news.mp4"), new TranscriptOptionalParams { LanguageCode = TranscriptLanguageCode.EnUs @@ -128,7 +132,7 @@ var transcript = await client.Transcripts.TranscribeAsync( // Transcribe file from stream await using var stream = new FileStream("./news.mp4", FileMode.Open); transcript = await client.Transcripts.TranscribeAsync( - stream, + stream, new TranscriptOptionalParams { LanguageCode = TranscriptLanguageCode.EnUs @@ -142,7 +146,7 @@ If you don't want to wait until the transcript is ready, you can use `submit`: ```csharp transcript = await client.Transcripts.SubmitAsync( - new FileInfo("./news.mp4"), + new FileInfo("./news.mp4"), new TranscriptOptionalParams { LanguageCode = TranscriptLanguageCode.EnUs @@ -273,7 +277,7 @@ using AssemblyAI.Realtime; await using var transcriber = client.Realtime.Transcriber(new RealtimeTranscriberOptions { // If ApiKey is null, the API key passed to `AssemblyAIClient` will be - ApiKey: Environment.GetEnvironmentVariable("ASSEMBLYAI_API_KEY"), + ApiKey: Environment.GetEnvironmentVariable("ASSEMBLYAI_API_KEY"), RealtimeUrl = "wss://localhost/override", SampleRate = 16_000, WordBoost = new[] { "foo", "bar" } @@ -289,13 +293,13 @@ await using var transcriber = client.Realtime.Transcriber(new RealtimeTranscribe > var token = await client.Realtime.CreateTemporaryTokenAsync(expiresIn: 60); > // TODO: return token to client > ``` -> +> > _Client code_: > > ```csharp > using AssemblyAI; > using AssemblyAI.Realtime; -> +> > var token = await GetToken(); > await using var transcriber = new RealtimeTranscriber { > Token = token.Token diff --git a/assemblyai.png b/assemblyai.png new file mode 100644 index 0000000000000000000000000000000000000000..dca925a0aa34a5ed01572fe0ca3dfeacc3de01c2 GIT binary patch literal 32151 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 - - - - - + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/src/AssemblyAI.UnitTests/AssemblyAI.UnitTests.csproj b/src/AssemblyAI.UnitTests/AssemblyAI.UnitTests.csproj index 9e84e9d..5f55de5 100644 --- a/src/AssemblyAI.UnitTests/AssemblyAI.UnitTests.csproj +++ b/src/AssemblyAI.UnitTests/AssemblyAI.UnitTests.csproj @@ -12,11 +12,17 @@ - - - - - + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/src/AssemblyAI/AssemblyAI.csproj b/src/AssemblyAI/AssemblyAI.csproj index 4bd6a88..97f9607 100644 --- a/src/AssemblyAI/AssemblyAI.csproj +++ b/src/AssemblyAI/AssemblyAI.csproj @@ -1,4 +1,4 @@ - + @@ -7,23 +7,53 @@ false 12 enable - 1.0.0-beta - README.md + AssemblyAI + AssemblyAI + AssemblyAI + 1.0.0-beta1 + AssemblyAI C# .NET SDK + AssemblyAI + The AssemblyAI C# .NET SDK provides an easy-to-use interface for interacting with the AssemblyAI API, which supports async and real-time transcription, audio intelligence models, as well as the latest LeMUR models. + Copyright 2024 (c) AssemblyAI, Inc. All rights reserved. + ASR;Speech-To-Text;STT;Speech;AI;AssemblyAI + AssemblyAI + AssemblyAI + 1.0.0.0 + 1.0.0.0 + 1.0.0-beta1 + Library + MIT https://github.com/AssemblyAI/assemblyai-csharp-sdk + https://github.com/AssemblyAI/assemblyai-csharp-sdk.git + https://www.assemblyai.com/favicon.png + icon.png + README.md + true + true + true + snupkg + git + + + true - + + + + + true - + - + - + runtime; build; native; contentfiles; analyzers; buildtransitive @@ -42,15 +72,15 @@ - - + + - - - - + + + + diff --git a/src/AssemblyAI/Core/Constants.cs b/src/AssemblyAI/Core/Constants.cs index 4fe9c8c..7be8cf4 100644 --- a/src/AssemblyAI/Core/Constants.cs +++ b/src/AssemblyAI/Core/Constants.cs @@ -2,6 +2,6 @@ namespace AssemblyAI.Core; internal static class Constants { - internal const string Version = "1.0.0-beta"; + internal const string Version = "1.0.0-beta1"; public const string DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffK"; } \ No newline at end of file