UniqueNamer 25.1.55731
dotnet add package UniqueNamer --version 25.1.55731
NuGet\Install-Package UniqueNamer -Version 25.1.55731
<PackageReference Include="UniqueNamer" Version="25.1.55731" />
<PackageVersion Include="UniqueNamer" Version="25.1.55731" />
<PackageReference Include="UniqueNamer" />
paket add UniqueNamer --version 25.1.55731
#r "nuget: UniqueNamer, 25.1.55731"
#:package UniqueNamer@25.1.55731
#addin nuget:?package=UniqueNamer&version=25.1.55731
#tool nuget:?package=UniqueNamer&version=25.1.55731
UniqueNamer
UniqueNamer is a C# library for generating unique and memorable names (e.g., talented-toucan, naughty-watermelon). These names are ideal for naming temporary directories, user session IDs, gamer tags, project names, process names, or submitted jobs.
The library is inspired by aziele/unique-namer, originally developed by Andrzej Zielezinski. UniqueNamer expands on the concept, offering customizable name generation with a wide variety of thematic categories.
Features
- Over 17 million unique names
- Nearly infinite unique identifiers with suffix options
- 22 predefined categories
- Customizable output style and formatting
Installation
UniqueNamer is available as a NuGet package. You can install it using the NuGet Package Manager:
Install-Package UniqueNamer
Or via the .NET CLI:
dotnet add package UniqueNamer
Usage
Generating Names
The Generate method returns a unique and randomly generated name consisting of an adjective and a noun.
using UniqueNamer;
string name = UniqueNamer.Generate(new[] { Categories.Animals });
Console.WriteLine(name); // Example: 'blushy-cyclist'
Customizing Names
Choosing Categories
The Generate method allows specifying categories to influence the type of generated names:
string name = UniqueNamer.Generate(new[] { Categories.Astronomy });
Console.WriteLine(name); // Example: 'crazy-supernova'
To select multiple categories:
string name = UniqueNamer.Generate(new[] { Categories.Physics, Categories.Biology });
Console.WriteLine(name); // Example: 'pink-bacteria'
Adding a Unique Suffix
The suffixLength parameter adds a random alphanumeric suffix to create a unique identifier:
string name = UniqueNamer.Generate(new[] { Categories.History }, suffixLength: 3);
Console.WriteLine(name); // Example: 'annoying-cleopatra-9a1'
Customizing Separators
Change the separator between name components:
string name = UniqueNamer.Generate(new[] { Categories.Sports }, separator: "_");
Console.WriteLine(name); // Example: 'savage_judo'
Formatting Styles
The Style enum lets you choose different text case formats:
string name = UniqueNamer.Generate(new[] { Categories.Food }, style: Style.UPPERCASE);
Console.WriteLine(name); // Example: 'DAMAGED-ELECTRON'
string nameTitle = UniqueNamer.Generate(new[] { Categories.Music }, separator: " ", style: Style.TitleCase);
Console.WriteLine(nameTitle); // Example: 'Lazy Unicorn'
Categories
UniqueNamer provides predefined categories to tailor generated names. Some available categories include:
AnimalsArtAstronomyBiologyChemistryComputerScienceEconomyFoodGeographyHistoryLiteratureMathMedicineMicrobiologyMolecularBiologyMusicPhysicsPlantsScientistsSportsTechnology
License
This project is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 25.1.55731 | 7,384 | 1/31/2025 |
| 25.1.55730 | 184 | 1/31/2025 |
| 25.1.55727 | 175 | 1/31/2025 |