{"id":18319848,"url":"https://github.com/bitwalker/uniq","last_synced_at":"2025-04-05T06:05:34.563Z","repository":{"id":47918094,"uuid":"374060806","full_name":"bitwalker/uniq","owner":"bitwalker","description":"Provides UUID generation, parsing, and formatting. Supports RFC 4122, and the v6 draft extension","archived":false,"fork":false,"pushed_at":"2024-02-27T18:56:57.000Z","size":110,"stargazers_count":96,"open_issues_count":4,"forks_count":14,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-09-19T11:08:40.162Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitwalker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2021-06-05T08:26:07.000Z","updated_at":"2024-09-17T14:34:06.000Z","dependencies_parsed_at":"2023-11-08T23:21:48.402Z","dependency_job_id":"b1d3bfbc-3f7c-4672-bf49-ab38dcc9d942","html_url":"https://github.com/bitwalker/uniq","commit_stats":{"total_commits":37,"total_committers":6,"mean_commits":6.166666666666667,"dds":"0.16216216216216217","last_synced_commit":"3df2ec076756a47926e48aec175f36b065b0c8a2"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwalker%2Funiq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwalker%2Funiq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwalker%2Funiq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwalker%2Funiq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitwalker","download_url":"https://codeload.github.com/bitwalker/uniq/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294538,"owners_count":20915340,"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":[],"created_at":"2024-11-05T18:14:29.697Z","updated_at":"2025-04-05T06:05:34.539Z","avatar_url":"https://github.com/bitwalker.png","language":"Elixir","readme":"# Uniq\n\n[![Master](https://github.com/bitwalker/uniq/workflows/elixir/badge.svg?branch=main)](https://github.com/bitwalker/uniq/actions?query=workflow%3A%22elixir%22+branch%3Amain)\n[![Hex.pm Version](http://img.shields.io/hexpm/v/uniq.svg?style=flat)](https://hex.pm/packages/uniq)\n\nUniq provides generation, formatting, parsing, and analysis of RFC 4122 UUIDs, with\nsupport for the draft UUIDv6 extension. It is a package for Elixir projects, and can\nbe found on Hex as `:uniq`.\n\n## Features\n\n* Follows the RFC 4122 specification, i.e. supports UUID versions 1, 3, 4, and 5 as described in the RFC\n* Supports UUIDv6 and UUIDv7, which are described in a proposed extension for RFC 4122, and improve upon desirable traits \nof both UUIDv1 and UUIDv4 to provide the best of both, while removing their downsides.  See \n[here](https://datatracker.ietf.org/doc/html/draft-peabody-dispatch-new-uuid-format) for more information on how it does so.\n* Supports formatting UUIDs as canonical strings (e.g. `6ba7b810-9dad-11d1-80b4-00c04fd430c8`, with or without the dashes),\nas URNs, e.g. `urn:uuid:6ba7b810-9dad-11d1-80b4-00c04fd430c8`, as well as a compact, 22-character, base64-encoded format using\na URI-safe alphabet (e.g. `a6e4EJ2tEdGAtADAT9QwyA`). \n* Case-insensitive, i.e. `6ba7b810-9dad-11d1-80b4-00c04fd430c8` and `6BA7B810-9DAD-11D1-80B4-00C04FD430C8` have the same encoding\n* Supports Ecto out of the box, just use `Uniq.UUID` as the type of a field where you would use `Ecto.UUID`. See the docs for more info.\n* Can be used as a drop-in replacement for `elixir_uuid`, see the docs for details on migrating\n\n## Installation\n\n```elixir\ndef deps do\n  [\n    {:uniq, \"~\u003e 0.1\"}\n  ]\nend\n```\n\n## Usage\n\nThe primary API is provided by the `Uniq.UUID` module.\n\nTo generate UUIDs, pick the version you want, and call the appropriate generator. For example:\n\n* `uuid1/0`, generates UUIDv1 and formats it as a human-readable string, i.e. `6ba7b810-9dad-11d1-80b4-00c04fd430c8`\n* `uuid1/1`, generates UUIDv1 in the specified format\n* `uuid3/2`, generates UUIDv3 using the provided namespace and name, and formats it as a human-readable string\n* `uuid3/3`, generates UUIDv3 using the provided namespace and name, in the specified format\n\nSee the [docs](https://hexdocs.pm/uniq) for the full set of functions available.\n\nYou can also convert UUID strings to/from the human-readable and binary formats; parse UUID strings/binaries; and determine their validity.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitwalker%2Funiq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitwalker%2Funiq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitwalker%2Funiq/lists"}