SaaSHub helps you find the best software and product alternatives Learn more →
Top 18 Guid Open-Source Projects
-
-
If you want a type-prefixed UUIDv7 type, I can wholeheartedly recommend TypeID-JS: https://github.com/jetpack-io/typeid-js
Also available for a whole bunch of other languages: https://github.com/jetpack-io/typeid
UUIDv7 is UUIDv4-compatible (i.e. you can put a v7 UUID anywhere a v4 UUID would go, like in Postgres's UUID datatype) and is time-series sortable, so you don't lose that nice lil' benefit of auto-incrementing IDs.
And if you use something like TypeORM to define your entities, you can use a Transformer to save as plain UUIDv7 in the DB (so you can use UUID datatypes, not strings), but deal with them as type-prefixed strings everywhere else:
```
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WUID in Go -> https://github.com/edwingeng/wuid
-
django-guid
Inject an ID into every log message from a Django request. ASGI compatible, integrates with Sentry, and works with Celery
-
Using jaevor/go-nanoid for those short IDs. With a ID length of 10 it'll take about ~17 years to have ~1% chance of collision.
-
-
ulid-creator
A Java library for generating Universally Unique Lexicographically Sortable Identifiers (ULID)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
typeid-js
TypeScript implementation of TypeIDs: type-safe, K-sortable, and globally unique identifiers inspired by Stripe IDs
If you want a type-prefixed UUIDv7 type, I can wholeheartedly recommend TypeID-JS: https://github.com/jetpack-io/typeid-js
Also available for a whole bunch of other languages: https://github.com/jetpack-io/typeid
UUIDv7 is UUIDv4-compatible (i.e. you can put a v7 UUID anywhere a v4 UUID would go, like in Postgres's UUID datatype) and is time-series sortable, so you don't lose that nice lil' benefit of auto-incrementing IDs.
And if you use something like TypeORM to define your entities, you can use a Transformer to save as plain UUIDv7 in the DB (so you can use UUID datatypes, not strings), but deal with them as type-prefixed strings everywhere else:
```
-
UUIDNext
A fast and modern .NET library to generate UUID/GUID that are either sequential and database friendly (versions 7), name based (versions 5) or random (version 4).
Project mention: Hey guys! Just wanted to share a tip on how to use performant Guid as primary keys in databases. Have you heard about UUID Version 7? It's here to save the day! Give it a try and let me know what you think. Happy coding! 😎💻 | /r/dotnet | 2023-05-05Here's the link to the library: https://github.com/mareek/UUIDNext
-
-
typeid-go
Go implementation of TypeIDs: type-safe, K-sortable, and globally unique identifiers inspired by Stripe IDs
Project mention: Type-safe, K-sortable, globally unique identifier inspired by Stripe IDs | news.ycombinator.com | 2023-06-28We've now implemented pretty thorough testing: https://github.com/jetpack-io/typeid-go/blob/main/typeid_tes...
Thanks for the feedback!
-
-
-
typeid-python
Python implementation of TypeIDs: type-safe, K-sortable, and globally unique identifiers inspired by Stripe IDs
Project mention: Python implementation of TypeIDs: type-safe, K-sortable, and globally unique identifiers inspired by Stripe IDs | /r/opensource | 2023-07-09 -
typeid-sql
SQL implementation TypeIDs: type-safe, K-sortable, and globally unique identifiers inspired by Stripe IDs
Project mention: Type-safe, K-sortable, globally unique identifier inspired by Stripe IDs | news.ycombinator.com | 2023-06-28The authors have created a specialisation for Postgres that leverages a custom type which is a tuple of type and uuidv7: https://github.com/jetpack-io/typeid-sql/blob/main/sql/typei...
This is more optimal for Postgres while making it slightly more difficult to interop between the db and the language (db driver needs to handle custom types, and you need to inject a custom type converter).
And while there are hacks you can do to make storing uuid-alikes as strings less terrible for db engines, if you want the best performance and smallest space consumption (compressed or not) make sure to use native ID types or convert to BINARY/numeric types.
-
uuid
Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier. (by agext)
-
-
guidish
Guidish is a C++20 header-only library for generating 128bit guid like id that can be used as a monotonically increasing key 128bit Guidish Key = [64bits - epoch time in microseconds] + [16 bits - siteid] + [48 bits - cpu tick count] Intended to be useful for implementing message queues and similar id schemes.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Guid related posts
- Adding type safety to object IDs in TypeScript
- You Don't Need UUID
- typeid: Type-safe, K-sortable, globally unique identifier inspired by Stripe IDs
- typeid: Type-safe, K-sortable, globally unique identifier inspired by Stripe IDs
- Why do so many EF tutorials use GUIDs as primary key?
- How to create unique id for every todo in a todo list.
- Type-safe, K-sortable, globally unique identifier inspired by Stripe IDs
-
A note from our sponsor - SaaSHub
www.saashub.com | 28 Mar 2024
Index
What are some of the best open-source Guid projects? This list will help you:
Project | Stars | |
---|---|---|
1 | UUID | 12,307 |
2 | typeid | 2,585 |
3 | wuid | 514 |
4 | django-guid | 404 |
5 | go-nanoid | 401 |
6 | uuid-creator | 327 |
7 | ulid-creator | 273 |
8 | typeid-js | 185 |
9 | UUIDNext | 148 |
10 | unity-guid-regenerator | 139 |
11 | typeid-go | 89 |
12 | spec | 77 |
13 | pg-xid | 74 |
14 | typeid-python | 64 |
15 | typeid-sql | 59 |
16 | uuid | 18 |
17 | Huid | 15 |
18 | guidish | 0 |