When should I use uuid.uuid1() vs. uuid.uuid4() in python?

I understand the differences between the two from the docs.

uuid1():
Generate a UUID from a host ID, sequence number, and the current time

uuid4():
Generate a random UUID.

So uuid1 uses machine/sequence/time info to generate a UUID. What are the pros and cons of using each?

I know uuid1() can have privacy concerns, since it’s based off of machine-information. I wonder if there’s any more subtle when choosing one or the other. I just use uuid4() right now, since it’s a completely random UUID. But I wonder if I should be using uuid1 to lessen the risk of collisions.

Basically, I’m looking for people’s tips for best-practices on using one vs. the other. Thanks!

6 Answers
6

Leave a Comment