Module uuid :: Class UUID
[hide private]
[frames] | no frames]

type UUID

object --+
         |
        UUID

Instances of the UUID class represent UUIDs as specified in RFC 4122.
UUID objects are immutable, hashable, and usable as dictionary keys.
Converting a UUID to a string with str() yields something in the form
'12345678-1234-1234-1234-123456789abc'.  The UUID constructor accepts
five possible forms: a similar string of hexadecimal digits, or a tuple
of six integer fields (with 32-bit, 16-bit, 16-bit, 8-bit, 8-bit, and
48-bit values respectively) as an argument named 'fields', or a string
of 16 bytes (with all the integer fields in big-endian order) as an
argument named 'bytes', or a string of 16 bytes (with the first three
fields in little-endian order) as an argument named 'bytes_le', or a
single 128-bit integer as an argument named 'int'.

UUIDs have these read-only attributes:

    bytes       the UUID as a 16-byte string (containing the six
                integer fields in big-endian byte order)

    bytes_le    the UUID as a 16-byte string (with time_low, time_mid,
                and time_hi_version in little-endian byte order)

    fields      a tuple of the six integer fields of the UUID,
                which are also available as six individual attributes
                and two derived attributes:

        time_low                the first 32 bits of the UUID
        time_mid                the next 16 bits of the UUID
        time_hi_version         the next 16 bits of the UUID
        clock_seq_hi_variant    the next 8 bits of the UUID
        clock_seq_low           the next 8 bits of the UUID
        node                    the last 48 bits of the UUID

        time                    the 60-bit timestamp
        clock_seq               the 14-bit sequence number

    hex         the UUID as a 32-character hexadecimal string

    int         the UUID as a 128-bit integer

    urn         the UUID as a URN as specified in RFC 4122

    variant     the UUID variant (one of the constants RESERVED_NCS,
                RFC_4122, RESERVED_MICROSOFT, or RESERVED_FUTURE)

    version     the UUID version number (1 through 5, meaningful only
                when the variant is RFC_4122)

Instance Methods [hide private]
 
__init__(self, hex=None, bytes=None, bytes_le=None, fields=None, int=None, version=None)
Create a UUID from either a string of 32 hexadecimal digits, a string of 16 bytes as the 'bytes' argument, a string of 16 bytes in little-endian order as the 'bytes_le' argument, a tuple of six integers (32-bit time_low, 16-bit time_mid, 16-bit time_hi_version, 8-bit clock_seq_hi_variant, 8-bit clock_seq_low, 48-bit node) as the 'fields' argument, or a single 128-bit integer as the 'int' argument.
 
__cmp__(self, other)
 
__hash__(self)
 
__int__(self)
 
__repr__(self)
 
__setattr__(self, name, value)
 
__str__(self)
 
get_bytes(self)
 
get_bytes_le(self)
 
get_fields(self)
 
get_time_low(self)
 
get_time_mid(self)
 
get_time_hi_version(self)
 
get_clock_seq_hi_variant(self)
 
get_clock_seq_low(self)
 
get_time(self)
 
get_clock_seq(self)
 
get_node(self)
 
get_hex(self)
 
get_urn(self)
 
get_variant(self)
 
get_version(self)
Properties [hide private]
  bytes
  bytes_le
  fields
  time_low
  time_mid
  time_hi_version
  clock_seq_hi_variant
  clock_seq_low
  time
  clock_seq
  node
  hex
  urn
  variant
  version
Method Details [hide private]

__init__(self, hex=None, bytes=None, bytes_le=None, fields=None, int=None, version=None)
(Constructor)

 
Create a UUID from either a string of 32 hexadecimal digits,
a string of 16 bytes as the 'bytes' argument, a string of 16 bytes
in little-endian order as the 'bytes_le' argument, a tuple of six
integers (32-bit time_low, 16-bit time_mid, 16-bit time_hi_version,
8-bit clock_seq_hi_variant, 8-bit clock_seq_low, 48-bit node) as
the 'fields' argument, or a single 128-bit integer as the 'int'
argument.  When a string of hex digits is given, curly braces,
hyphens, and a URN prefix are all optional.  For example, these
expressions all yield the same UUID:

UUID('{12345678-1234-5678-1234-567812345678}')
UUID('12345678123456781234567812345678')
UUID('urn:uuid:12345678-1234-5678-1234-567812345678')
UUID(bytes='\x12\x34\x56\x78'*4)
UUID(bytes_le='\x78\x56\x34\x12\x34\x12\x78\x56' +
              '\x12\x34\x56\x78\x12\x34\x56\x78')
UUID(fields=(0x12345678, 0x1234, 0x5678, 0x12, 0x34, 0x567812345678))
UUID(int=0x12345678123456781234567812345678)

Exactly one of 'hex', 'bytes', 'bytes_le', 'fields', or 'int' must
be given.  The 'version' argument is optional; if given, the resulting
UUID will have its variant and version set according to RFC 4122,
overriding the given 'hex', 'bytes', 'bytes_le', 'fields', or 'int'.

Overrides: object.__init__

__hash__(self)
(Hashing function)

 
Overrides: object.__hash__
(inherited documentation)

__repr__(self)
(Representation operator)

 
Overrides: object.__repr__
(inherited documentation)

__setattr__(self, name, value)

 
Overrides: object.__setattr__
(inherited documentation)

__str__(self)
(Informal representation operator)

 
Overrides: object.__str__
(inherited documentation)

Property Details [hide private]

bytes

Get Method:
get_bytes(self)

bytes_le

Get Method:
get_bytes_le(self)

fields

Get Method:
get_fields(self)

time_low

Get Method:
get_time_low(self)

time_mid

Get Method:
get_time_mid(self)

time_hi_version

Get Method:
get_time_hi_version(self)

clock_seq_hi_variant

Get Method:
get_clock_seq_hi_variant(self)

clock_seq_low

Get Method:
get_clock_seq_low(self)

time

Get Method:
get_time(self)

clock_seq

Get Method:
get_clock_seq(self)

node

Get Method:
get_node(self)

hex

Get Method:
get_hex(self)

urn

Get Method:
get_urn(self)

variant

Get Method:
get_variant(self)

version

Get Method:
get_version(self)