{"id":13809261,"url":"https://github.com/jongirard/unique_names_generator","last_synced_at":"2025-10-21T15:54:08.129Z","repository":{"id":226498035,"uuid":"767421902","full_name":"jongirard/unique_names_generator","owner":"jongirard","description":"A Unique Names Generator built in Elixir","archived":false,"fork":false,"pushed_at":"2024-03-09T21:14:29.000Z","size":64,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"development","last_synced_at":"2025-04-15T11:44:49.852Z","etag":null,"topics":["data","data-generator","elixir","elixir-lang","fake-data","name-generator","phoenix","seed"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jongirard.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-05T09:12:04.000Z","updated_at":"2025-02-12T05:21:01.000Z","dependencies_parsed_at":"2024-11-19T01:41:51.289Z","dependency_job_id":"5dcc9110-4121-4cf3-995a-bdd346d7e86e","html_url":"https://github.com/jongirard/unique_names_generator","commit_stats":null,"previous_names":["jongirard/unique_names_generator"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongirard%2Funique_names_generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongirard%2Funique_names_generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongirard%2Funique_names_generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongirard%2Funique_names_generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jongirard","download_url":"https://codeload.github.com/jongirard/unique_names_generator/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254077023,"owners_count":22010642,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data","data-generator","elixir","elixir-lang","fake-data","name-generator","phoenix","seed"],"created_at":"2024-08-04T01:02:13.407Z","updated_at":"2025-10-21T15:54:02.769Z","avatar_url":"https://github.com/jongirard.png","language":"Elixir","funding_links":[],"categories":["Text and Numbers"],"sub_categories":[],"readme":"![Elixir CI](https://github.com/jongirard/unique_names_generator/actions/workflows/elixir.yml/badge.svg)\n\n# UniqueNamesGenerator\n\nUnique Names Generator is an Elixir package for generating random and unique names. Generation utilizes PRNG (pseudo random number generation) for either fully random or seeded name generation. It comes with a list of various dictionaries out of the box, but you can also provide custom ones. Inspired by the great \"Unique Names Generator\" available on [NPM](https://www.npmjs.com/package/unique-names-generator) by Andrea Sonny.\n\nAPI Documentation built with [ExDoc](https://github.com/elixir-lang/ex_doc) can be found at \u003chttps://hexdocs.pm/unique_names_generator\u003e.\n\n## Installation\n\nThe package can be installed from [Hex](https://hex.pm/docs/publish)\nby adding `unique_names_generator` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:unique_names_generator, \"~\u003e 0.2.0\"}\n  ]\nend\n```\nThen run `mix deps.get`.\n\n## Usage\n\nIn a nutshell, you can begin generating randon names with UniqueNamesGenerator by simply specifying a list of one or more dictionaries via [generate/2](`UniqueNamesGenerator.generate/2`). Available dictionary types are `t:UniqueNamesGenerator.Impl.Dictionaries.dictionaries/0`.\n\n```elixir\nUniqueNamesGenerator.generate([:adjectives, :animals])\n# =\u003e Generates ex: \"dramatic_limpet\"\n\nUniqueNamesGenerator.generate([:adjectives, :colors, :animals])\n# =\u003e Generates ex: \"tremendous_brown_cat\"\n\nUniqueNamesGenerator.generate([:adjectives, :names, :numbers])\n# =\u003e Generates ex: \"doubtful_wanda_979\"\n```\n\nTo use custom dictionaries, simply include your list of strings as part of the dictionaries list:\n\n```elixir\ndrinks = [\"Sprite\", \"Coca-Cola\", \"Juice\", \"Tea\"]\nUniqueNamesGenerator.generate([:colors, drinks])\n# =\u003e Generates ex: \"cyan_sprite\"\n```\n\n### Config options\n\nUniqueNamesGenerator can be used with either the default provided config (`%{seperator: \"_\", style: :lowercase }`) or by specifying any of your own configuration options for seeding, seperator and style. See the options type, `t:UniqueNamesGenerator.Impl.Dictionaries.options/0`, for more details on possible options.\n\n```elixir\nUniqueNamesGenerator.generate([:colors, :animals], %{ style: :capital, separator: \" \" })\n# =\u003e Generates ex: \"Lavender Marlin\"\n```\n\n### Seeded Generation\n\nA seed can be used to deterministically generate a name. As long as the provided seed is the same, then the generated name will also always be the same. Simply provide a string or integer in the [options config map](`t:UniqueNamesGenerator.Impl.Dictionaries.options/0`) of the seed key, ie; `%{ seed: \"hello\" }`. \n\n_(**Usecase example:** generate a username for an authenticated user based on UUID. Ex: `03bf0706-b7e9-33b8-aee5-c6142a816478` will always generate the name \"brown_dooku_247\" when used together with the colors/star_wars/numbers dictionaries)._\n\n```elixir\nUniqueNamesGenerator.generate([:colors, :star_wars, :numbers], %{ seed: \"03bf0706-b7e9-33b8-aee5-c6142a816478\" })\n# =\u003e Seed \"03bf0706-b7e9-33b8-aee5-c6142a816478\" always generates: \"brown_dooku_247\"\n```\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE file](https://github.com/jongirard/unique_names_generator/blob/development/LICENSE) for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjongirard%2Funique_names_generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjongirard%2Funique_names_generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjongirard%2Funique_names_generator/lists"}