summaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/attr/__pycache__/_next_gen.cpython-312.pyc
blob: 3e782bc59290d07c4427244915c161d5703c4795 (plain)
ofshex dumpascii
0000 cb 0d 0d 0a 00 00 00 00 4f e0 a7 68 4b 5f 00 00 e3 00 00 00 00 00 00 00 00 00 00 00 00 16 00 00 ........O..hK_..................
0020 00 00 00 00 00 f3 f4 00 00 00 97 00 64 00 5a 00 64 01 64 02 6c 01 6d 02 5a 02 01 00 64 03 64 04 ............d.Z.d.d.l.m.Z...d.d.
0040 6c 03 6d 04 5a 04 01 00 64 03 64 05 6c 05 6d 06 5a 07 01 00 64 03 64 06 6c 05 6d 08 5a 09 01 00 l.m.Z...d.d.l.m.Z...d.d.l.m.Z...
0060 64 03 64 07 6c 0a 6d 0b 5a 0b 6d 0c 5a 0c 6d 0d 5a 0d 6d 0e 5a 0e 6d 0f 5a 0f 01 00 64 03 64 08 d.d.l.m.Z.m.Z.m.Z.m.Z.m.Z...d.d.
0080 6c 10 6d 11 5a 11 01 00 09 00 64 15 64 09 64 09 64 09 64 09 64 09 64 0a 64 0b 64 0a 64 0b 64 09 l.m.Z.....d.d.d.d.d.d.d.d.d.d.d.
00a0 64 0b 64 0b 64 0a 64 09 64 0b 64 0a 64 09 64 09 64 09 64 0a 64 0c 9c 14 64 0d 84 03 5a 12 65 12 d.d.d.d.d.d.d.d.d.d.d...d...Z.e.
00c0 5a 13 02 00 65 02 65 12 64 0a 64 09 ac 0e ab 03 00 00 00 00 00 00 5a 14 65 0c 64 09 64 0a 64 09 Z...e.e.d.d...........Z.e.d.d.d.
00e0 64 0a 64 09 64 09 64 09 64 09 64 0b 64 09 64 09 64 09 64 09 64 0f 9c 0e 64 10 84 02 5a 15 64 0a d.d.d.d.d.d.d.d.d.d.d...d...Z.d.
0100 64 09 64 09 64 11 9c 03 64 12 84 02 5a 06 64 0a 64 09 64 13 9c 02 64 14 84 02 5a 08 79 09 29 16 d.d.d...d...Z.d.d.d...d...Z.y.).
0120 7a 5d 0a 54 68 65 73 65 20 61 72 65 20 6b 65 79 77 6f 72 64 2d 6f 6e 6c 79 20 41 50 49 73 20 74 z].These.are.keyword-only.APIs.t
0140 68 61 74 20 63 61 6c 6c 20 60 61 74 74 72 2e 73 60 20 61 6e 64 20 60 61 74 74 72 2e 69 62 60 20 hat.call.`attr.s`.and.`attr.ib`.
0160 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 0a 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 2e 0a e9 with.different.default.values...
0180 00 00 00 00 29 01 da 07 70 61 72 74 69 61 6c e9 01 00 00 00 29 01 da 07 73 65 74 74 65 72 73 29 ....)...partial.....)...setters)
01a0 01 da 06 61 73 64 69 63 74 29 01 da 07 61 73 74 75 70 6c 65 29 05 da 13 5f 44 45 46 41 55 4c 54 ...asdict)...astuple)..._DEFAULT
01c0 5f 4f 4e 5f 53 45 54 41 54 54 52 da 07 4e 4f 54 48 49 4e 47 da 10 5f 66 72 6f 7a 65 6e 5f 73 65 _ON_SETATTR..NOTHING.._frozen_se
01e0 74 61 74 74 72 73 da 06 61 74 74 72 69 62 da 05 61 74 74 72 73 29 01 da 19 55 6e 61 6e 6e 6f 74 tattrs..attrib..attrs)...Unannot
0200 61 74 65 64 41 74 74 72 69 62 75 74 65 45 72 72 6f 72 4e 54 46 29 14 da 05 74 68 65 73 65 da 04 atedAttributeErrorNTF)...these..
0220 72 65 70 72 da 0b 75 6e 73 61 66 65 5f 68 61 73 68 da 04 68 61 73 68 da 04 69 6e 69 74 da 05 73 repr..unsafe_hash..hash..init..s
0240 6c 6f 74 73 da 06 66 72 6f 7a 65 6e da 0c 77 65 61 6b 72 65 66 5f 73 6c 6f 74 da 03 73 74 72 da lots..frozen..weakref_slot..str.
0260 0c 61 75 74 6f 5f 61 74 74 72 69 62 73 da 07 6b 77 5f 6f 6e 6c 79 da 0a 63 61 63 68 65 5f 68 61 .auto_attribs..kw_only..cache_ha
0280 73 68 da 08 61 75 74 6f 5f 65 78 63 da 02 65 71 da 05 6f 72 64 65 72 da 0b 61 75 74 6f 5f 64 65 sh..auto_exc..eq..order..auto_de
02a0 74 65 63 74 da 11 67 65 74 73 74 61 74 65 5f 73 65 74 73 74 61 74 65 da 0a 6f 6e 5f 73 65 74 61 tect..getstate_setstate..on_seta
02c0 74 74 72 da 11 66 69 65 6c 64 5f 74 72 61 6e 73 66 6f 72 6d 65 72 da 0a 6d 61 74 63 68 5f 61 72 ttr..field_transformer..match_ar
02e0 67 73 63 01 00 00 00 00 00 00 00 14 00 00 00 13 00 00 00 03 00 00 00 f3 82 00 00 00 87 01 87 02 gsc.............................
0300 87 03 87 04 87 05 87 06 87 07 87 08 87 09 87 0a 87 0b 87 0c 87 0d 87 0e 87 0f 87 10 87 11 87 12 ................................
0320 87 13 87 14 87 16 97 00 88 10 88 0d 88 0c 88 0e 88 13 88 07 88 11 88 04 88 05 88 0b 88 14 88 12 ................................
0340 88 0f 88 02 88 06 88 09 88 01 88 03 88 08 66 13 64 01 84 08 8a 16 88 0a 88 16 88 07 88 12 66 04 ..............f.d.............f.
0360 64 02 84 08 7d 15 7c 00 80 02 7c 15 53 00 02 00 7c 15 7c 00 ab 01 00 00 00 00 00 00 53 00 29 03 d...}.|...|.S...|.|.........S.).
0380 61 b1 35 00 00 0a 20 20 20 20 41 20 63 6c 61 73 73 20 64 65 63 6f 72 61 74 6f 72 20 74 68 61 74 a.5.......A.class.decorator.that
03a0 20 61 64 64 73 20 3a 74 65 72 6d 3a 60 64 75 6e 64 65 72 20 6d 65 74 68 6f 64 73 60 20 61 63 63 .adds.:term:`dunder.methods`.acc
03c0 6f 72 64 69 6e 67 20 74 6f 0a 20 20 20 20 3a 74 65 72 6d 3a 60 66 69 65 6c 64 73 20 3c 66 69 65 ording.to.....:term:`fields.<fie
03e0 6c 64 3e 60 20 73 70 65 63 69 66 69 65 64 20 75 73 69 6e 67 20 3a 64 6f 63 3a 60 74 79 70 65 20 ld>`.specified.using.:doc:`type.
0400 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 3c 74 79 70 65 73 3e 60 2c 0a 20 20 20 20 60 66 69 65 6c 64 annotations.<types>`,.....`field
0420 28 29 60 20 63 61 6c 6c 73 2c 20 6f 72 20 74 68 65 20 2a 74 68 65 73 65 2a 20 61 72 67 75 6d 65 ()`.calls,.or.the.*these*.argume
0440 6e 74 2e 0a 0a 20 20 20 20 53 69 6e 63 65 20 2a 61 74 74 72 73 2a 20 70 61 74 63 68 65 73 20 6f nt.......Since.*attrs*.patches.o
0460 72 20 72 65 70 6c 61 63 65 73 20 61 6e 20 65 78 69 73 74 69 6e 67 20 63 6c 61 73 73 2c 20 79 6f r.replaces.an.existing.class,.yo
0480 75 20 63 61 6e 6e 6f 74 20 75 73 65 0a 20 20 20 20 60 6f 62 6a 65 63 74 2e 5f 5f 69 6e 69 74 5f u.cannot.use.....`object.__init_
04a0 73 75 62 63 6c 61 73 73 5f 5f 60 20 77 69 74 68 20 2a 61 74 74 72 73 2a 20 63 6c 61 73 73 65 73 subclass__`.with.*attrs*.classes
04c0 2c 20 62 65 63 61 75 73 65 20 69 74 20 72 75 6e 73 20 74 6f 6f 20 65 61 72 6c 79 2e 0a 20 20 20 ,.because.it.runs.too.early.....
04e0 20 41 73 20 61 20 72 65 70 6c 61 63 65 6d 65 6e 74 2c 20 79 6f 75 20 63 61 6e 20 64 65 66 69 6e .As.a.replacement,.you.can.defin
0500 65 20 60 60 5f 5f 61 74 74 72 73 5f 69 6e 69 74 5f 73 75 62 63 6c 61 73 73 5f 5f 60 60 20 6f 6e e.``__attrs_init_subclass__``.on
0520 20 79 6f 75 72 20 63 6c 61 73 73 2e 0a 20 20 20 20 49 74 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c .your.class......It.will.be.call
0540 65 64 20 62 79 20 2a 61 74 74 72 73 2a 20 63 6c 61 73 73 65 73 20 74 68 61 74 20 73 75 62 63 6c ed.by.*attrs*.classes.that.subcl
0560 61 73 73 20 69 74 20 61 66 74 65 72 20 74 68 65 79 27 72 65 0a 20 20 20 20 63 72 65 61 74 65 64 ass.it.after.they're.....created
0580 2e 20 53 65 65 20 61 6c 73 6f 20 3a 72 65 66 3a 60 69 6e 69 74 2d 73 75 62 63 6c 61 73 73 60 2e ..See.also.:ref:`init-subclass`.
05a0 0a 0a 20 20 20 20 41 72 67 73 3a 0a 20 20 20 20 20 20 20 20 73 6c 6f 74 73 20 28 62 6f 6f 6c 29 ......Args:.........slots.(bool)
05c0 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 72 65 61 74 65 20 61 20 3a 74 65 72 6d 3a 60 73 6c :.............Create.a.:term:`sl
05e0 6f 74 74 65 64 20 63 6c 61 73 73 20 3c 73 6c 6f 74 74 65 64 20 63 6c 61 73 73 65 73 3e 60 20 74 otted.class.<slotted.classes>`.t
0600 68 61 74 27 73 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 6f 72 79 2d 65 66 hat's.more.............memory-ef
0620 66 69 63 69 65 6e 74 2e 20 53 6c 6f 74 74 65 64 20 63 6c 61 73 73 65 73 20 61 72 65 20 67 65 6e ficient..Slotted.classes.are.gen
0640 65 72 61 6c 6c 79 20 73 75 70 65 72 69 6f 72 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 erally.superior.to.the..........
0660 20 20 20 64 65 66 61 75 6c 74 20 64 69 63 74 20 63 6c 61 73 73 65 73 2c 20 62 75 74 20 68 61 76 ...default.dict.classes,.but.hav
0680 65 20 73 6f 6d 65 20 67 6f 74 63 68 61 73 20 79 6f 75 20 73 68 6f 75 6c 64 20 6b 6e 6f 77 20 61 e.some.gotchas.you.should.know.a
06a0 62 6f 75 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 20 77 65 20 65 6e 63 6f 75 72 61 67 bout,.............so.we.encourag
06c0 65 20 79 6f 75 20 74 6f 20 72 65 61 64 20 74 68 65 20 3a 74 65 72 6d 3a 60 67 6c 6f 73 73 61 72 e.you.to.read.the.:term:`glossar
06e0 79 20 65 6e 74 72 79 20 3c 73 6c 6f 74 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 61 y.entry.<slotted.............cla
0700 73 73 65 73 3e 60 2e 0a 0a 20 20 20 20 20 20 20 20 61 75 74 6f 5f 64 65 74 65 63 74 20 28 62 6f sses>`...........auto_detect.(bo
0720 6f 6c 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 73 74 65 61 64 20 6f 66 20 73 65 74 74 ol):.............Instead.of.sett
0740 69 6e 67 20 74 68 65 20 2a 69 6e 69 74 2a 2c 20 2a 72 65 70 72 2a 2c 20 2a 65 71 2a 2c 20 61 6e ing.the.*init*,.*repr*,.*eq*,.an
0760 64 20 2a 68 61 73 68 2a 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 d.*hash*.arguments.............e
0780 78 70 6c 69 63 69 74 6c 79 2c 20 61 73 73 75 6d 65 20 74 68 65 79 20 61 72 65 20 73 65 74 20 74 xplicitly,.assume.they.are.set.t
07a0 6f 20 54 72 75 65 20 2a 2a 75 6e 6c 65 73 73 20 61 6e 79 2a 2a 20 6f 66 20 74 68 65 0a 20 20 20 o.True.**unless.any**.of.the....
07c0 20 20 20 20 20 20 20 20 20 69 6e 76 6f 6c 76 65 64 20 6d 65 74 68 6f 64 73 20 66 6f 72 20 6f 6e .........involved.methods.for.on
07e0 65 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 e.of.the.arguments.is.implemente
0800 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 63 75 72 72 65 6e 74 2a 20 63 d.in.the.............*current*.c
0820 6c 61 73 73 20 28 6d 65 61 6e 69 6e 67 2c 20 69 74 20 69 73 20 2a 6e 6f 74 2a 20 69 6e 68 65 72 lass.(meaning,.it.is.*not*.inher
0840 69 74 65 64 20 66 72 6f 6d 20 73 6f 6d 65 20 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 ited.from.some.base.............
0860 63 6c 61 73 73 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 6f 2c 20 66 6f 72 20 65 78 61 class)...............So,.for.exa
0880 6d 70 6c 65 20 62 79 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 60 60 5f 5f 65 71 5f 5f 60 60 20 mple.by.implementing.``__eq__``.
08a0 6f 6e 20 61 20 63 6c 61 73 73 20 79 6f 75 72 73 65 6c 66 2c 0a 20 20 20 20 20 20 20 20 20 20 20 on.a.class.yourself,............
08c0 20 2a 61 74 74 72 73 2a 20 77 69 6c 6c 20 64 65 64 75 63 65 20 60 60 65 71 3d 46 61 6c 73 65 60 .*attrs*.will.deduce.``eq=False`
08e0 60 20 61 6e 64 20 77 69 6c 6c 20 63 72 65 61 74 65 20 2a 6e 65 69 74 68 65 72 2a 0a 20 20 20 20 `.and.will.create.*neither*.....
0900 20 20 20 20 20 20 20 20 60 60 5f 5f 65 71 5f 5f 60 60 20 2a 6e 6f 72 2a 20 60 60 5f 5f 6e 65 5f ........``__eq__``.*nor*.``__ne_
0920 5f 60 60 20 28 62 75 74 20 50 79 74 68 6f 6e 20 63 6c 61 73 73 65 73 20 63 6f 6d 65 20 77 69 74 _``.(but.Python.classes.come.wit
0940 68 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6e 73 69 62 6c 65 20 60 60 5f 5f 6e 65 5f h.a.............sensible.``__ne_
0960 5f 60 60 20 62 79 20 64 65 66 61 75 6c 74 2c 20 73 6f 20 69 74 20 2a 73 68 6f 75 6c 64 2a 20 62 _``.by.default,.so.it.*should*.b
0980 65 20 65 6e 6f 75 67 68 20 74 6f 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 70 e.enough.to.only.............imp
09a0 6c 65 6d 65 6e 74 20 60 60 5f 5f 65 71 5f 5f 60 60 20 69 6e 20 6d 6f 73 74 20 63 61 73 65 73 29 lement.``__eq__``.in.most.cases)
09c0 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 61 73 73 69 6e 67 20 54 72 75 65 20 6f 72 20 46 ...............Passing.True.or.F
09e0 61 6c 73 65 60 20 74 6f 20 2a 69 6e 69 74 2a 2c 20 2a 72 65 70 72 2a 2c 20 2a 65 71 2a 2c 20 6f alse`.to.*init*,.*repr*,.*eq*,.o
0a00 72 20 2a 68 61 73 68 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 76 65 72 72 69 64 65 73 20 77 r.*hash*.............overrides.w
0a20 68 61 74 65 76 65 72 20 2a 61 75 74 6f 5f 64 65 74 65 63 74 2a 20 77 6f 75 6c 64 20 64 65 74 65 hatever.*auto_detect*.would.dete
0a40 72 6d 69 6e 65 2e 0a 0a 20 20 20 20 20 20 20 20 61 75 74 6f 5f 65 78 63 20 28 62 6f 6f 6c 29 3a rmine...........auto_exc.(bool):
0a60 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 63 6c 61 73 73 20 73 75 62 63 6c 61 .............If.the.class.subcla
0a80 73 73 65 73 20 60 42 61 73 65 45 78 63 65 70 74 69 6f 6e 60 20 28 77 68 69 63 68 20 69 6d 70 6c sses.`BaseException`.(which.impl
0aa0 69 63 69 74 6c 79 20 69 6e 63 6c 75 64 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 79 20 icitly.includes.............any.
0ac0 73 75 62 63 6c 61 73 73 20 6f 66 20 61 6e 79 20 65 78 63 65 70 74 69 6f 6e 29 2c 20 74 68 65 20 subclass.of.any.exception),.the.
0ae0 66 6f 6c 6c 6f 77 69 6e 67 20 68 61 70 70 65 6e 73 20 74 6f 20 62 65 68 61 76 65 0a 20 20 20 20 following.happens.to.behave.....
0b00 20 20 20 20 20 20 20 20 6c 69 6b 65 20 61 20 77 65 6c 6c 2d 62 65 68 61 76 65 64 20 50 79 74 68 ........like.a.well-behaved.Pyth
0b20 6f 6e 20 65 78 63 65 70 74 69 6f 6e 20 63 6c 61 73 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 on.exception.class:.............
0b40 20 2d 20 74 68 65 20 76 61 6c 75 65 73 20 66 6f 72 20 2a 65 71 2a 2c 20 2a 6f 72 64 65 72 2a 2c .-.the.values.for.*eq*,.*order*,
0b60 20 61 6e 64 20 2a 68 61 73 68 2a 20 61 72 65 20 69 67 6e 6f 72 65 64 20 61 6e 64 20 74 68 65 0a .and.*hash*.are.ignored.and.the.
0b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 73 74 61 6e 63 65 73 20 63 6f 6d 70 61 72 65 20 ..............instances.compare.
0ba0 61 6e 64 20 68 61 73 68 20 62 79 20 74 68 65 20 69 6e 73 74 61 6e 63 65 27 73 20 69 64 73 20 5b and.hash.by.the.instance's.ids.[
0bc0 23 5d 5f 20 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 61 6c 6c 20 61 74 74 72 69 62 75 74 #]_.,.............-.all.attribut
0be0 65 73 20 74 68 61 74 20 61 72 65 20 65 69 74 68 65 72 20 70 61 73 73 65 64 20 69 6e 74 6f 20 60 es.that.are.either.passed.into.`
0c00 60 5f 5f 69 6e 69 74 5f 5f 60 60 20 6f 72 20 68 61 76 65 20 61 0a 20 20 20 20 20 20 20 20 20 20 `__init__``.or.have.a...........
0c20 20 20 20 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c ....default.value.are.additional
0c40 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 74 75 70 6c 65 20 69 6e 20 74 68 65 0a 20 ly.available.as.a.tuple.in.the..
0c60 20 20 20 20 20 20 20 20 20 20 20 20 20 60 60 61 72 67 73 60 60 20 61 74 74 72 69 62 75 74 65 2c .............``args``.attribute,
0c80 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 2a 73 74 72 .............-.the.value.of.*str
0ca0 2a 20 69 73 20 69 67 6e 6f 72 65 64 20 6c 65 61 76 69 6e 67 20 60 60 5f 5f 73 74 72 5f 5f 60 60 *.is.ignored.leaving.``__str__``
0cc0 20 74 6f 20 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 61 73 73 65 73 2e 0a .to.base...............classes..
0ce0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 20 5b 23 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ................[#].............
0d00 20 20 20 4e 6f 74 65 20 74 68 61 74 20 2a 61 74 74 72 73 2a 20 77 69 6c 6c 20 2a 6e 6f 74 2a 20 ...Note.that.*attrs*.will.*not*.
0d20 72 65 6d 6f 76 65 20 65 78 69 73 74 69 6e 67 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 remove.existing.implementations.
0d40 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 60 5f 5f 68 61 73 68 5f 5f 60 60 20 6f of................``__hash__``.o
0d60 72 20 74 68 65 20 65 71 75 61 6c 69 74 79 20 6d 65 74 68 6f 64 73 2e 20 49 74 20 6a 75 73 74 20 r.the.equality.methods..It.just.
0d80 77 6f 6e 27 74 20 61 64 64 20 6f 77 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 6e 65 won't.add.own................one
0da0 73 2e 0a 0a 20 20 20 20 20 20 20 20 6f 6e 5f 73 65 74 61 74 74 72 20 28 7e 74 79 70 69 6e 67 2e s...........on_setattr.(~typing.
0dc0 43 61 6c 6c 61 62 6c 65 20 7c 20 6c 69 73 74 5b 7e 74 79 70 69 6e 67 2e 43 61 6c 6c 61 62 6c 65 Callable.|.list[~typing.Callable
0de0 5d 20 7c 20 4e 6f 6e 65 20 7c 20 7e 74 79 70 69 6e 67 2e 4c 69 74 65 72 61 6c 5b 61 74 74 72 73 ].|.None.|.~typing.Literal[attrs
0e00 2e 73 65 74 74 65 72 73 2e 4e 4f 5f 4f 50 5d 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 .setters.NO_OP]):.............A.
0e20 63 61 6c 6c 61 62 6c 65 20 74 68 61 74 20 69 73 20 72 75 6e 20 77 68 65 6e 65 76 65 72 20 74 68 callable.that.is.run.whenever.th
0e40 65 20 75 73 65 72 20 61 74 74 65 6d 70 74 73 20 74 6f 20 73 65 74 20 61 6e 0a 20 20 20 20 20 20 e.user.attempts.to.set.an.......
0e60 20 20 20 20 20 20 61 74 74 72 69 62 75 74 65 20 28 65 69 74 68 65 72 20 62 79 20 61 73 73 69 67 ......attribute.(either.by.assig
0e80 6e 6d 65 6e 74 20 6c 69 6b 65 20 60 60 69 2e 78 20 3d 20 34 32 60 60 20 6f 72 20 62 79 20 75 73 nment.like.``i.x.=.42``.or.by.us
0ea0 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 73 65 74 61 74 74 72 60 20 6c 69 6b 65 20 60 ing.............`setattr`.like.`
0ec0 60 73 65 74 61 74 74 72 28 69 2c 20 22 78 22 2c 20 34 32 29 60 60 29 2e 20 49 74 20 72 65 63 65 `setattr(i,."x",.42)``)..It.rece
0ee0 69 76 65 73 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 ives.the.same.............argume
0f00 6e 74 73 20 61 73 20 76 61 6c 69 64 61 74 6f 72 73 3a 20 74 68 65 20 69 6e 73 74 61 6e 63 65 2c nts.as.validators:.the.instance,
0f20 20 74 68 65 20 61 74 74 72 69 62 75 74 65 20 74 68 61 74 20 69 73 20 62 65 69 6e 67 0a 20 20 20 .the.attribute.that.is.being....
0f40 20 20 20 20 20 20 20 20 20 6d 6f 64 69 66 69 65 64 2c 20 61 6e 64 20 74 68 65 20 6e 65 77 20 76 .........modified,.and.the.new.v
0f60 61 6c 75 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 65 78 63 65 70 74 69 alue...............If.no.excepti
0f80 6f 6e 20 69 73 20 72 61 69 73 65 64 2c 20 74 68 65 20 61 74 74 72 69 62 75 74 65 20 69 73 20 73 on.is.raised,.the.attribute.is.s
0fa0 65 74 20 74 6f 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 et.to.the.return.value..........
0fc0 20 20 20 6f 66 20 74 68 65 20 63 61 6c 6c 61 62 6c 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ...of.the.callable..............
0fe0 20 49 66 20 61 20 6c 69 73 74 20 6f 66 20 63 61 6c 6c 61 62 6c 65 73 20 69 73 20 70 61 73 73 65 .If.a.list.of.callables.is.passe
1000 64 2c 20 74 68 65 79 27 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 72 61 70 70 65 64 d,.they're.automatically.wrapped
1020 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 20 60 61 74 74 72 73 2e 73 65 74 74 65 72 .in.............an.`attrs.setter
1040 73 2e 70 69 70 65 60 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6c 65 66 74 20 4e 6f s.pipe`...............If.left.No
1060 6e 65 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 65 68 61 76 69 6f 72 20 69 73 20 74 6f 20 72 ne,.the.default.behavior.is.to.r
1080 75 6e 20 63 6f 6e 76 65 72 74 65 72 73 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 un.converters.and.............va
10a0 6c 69 64 61 74 6f 72 73 20 77 68 65 6e 65 76 65 72 20 61 6e 20 61 74 74 72 69 62 75 74 65 20 69 lidators.whenever.an.attribute.i
10c0 73 20 73 65 74 2e 0a 0a 20 20 20 20 20 20 20 20 69 6e 69 74 20 28 62 6f 6f 6c 29 3a 0a 20 20 20 s.set...........init.(bool):....
10e0 20 20 20 20 20 20 20 20 20 43 72 65 61 74 65 20 61 20 60 60 5f 5f 69 6e 69 74 5f 5f 60 60 20 6d .........Create.a.``__init__``.m
1100 65 74 68 6f 64 20 74 68 61 74 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 2a 61 74 74 72 ethod.that.initializes.the.*attr
1120 73 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 74 74 72 69 62 75 74 65 73 2e 20 4c 65 61 64 69 s*.............attributes..Leadi
1140 6e 67 20 75 6e 64 65 72 73 63 6f 72 65 73 20 61 72 65 20 73 74 72 69 70 70 65 64 20 66 6f 72 20 ng.underscores.are.stripped.for.
1160 74 68 65 20 61 72 67 75 6d 65 6e 74 20 6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 the.argument.name,.............u
1180 6e 6c 65 73 73 20 61 6e 20 61 6c 69 61 73 20 69 73 20 73 65 74 20 6f 6e 20 74 68 65 20 61 74 74 nless.an.alias.is.set.on.the.att
11a0 72 69 62 75 74 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 20 73 65 65 61 6c 73 6f 3a ribute..................seealso:
11c0 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 69 6e 69 74 60 20 73 68 6f 77 73 20 61 :.................`init`.shows.a
11e0 64 76 61 6e 63 65 64 20 77 61 79 73 20 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 65 20 67 65 dvanced.ways.to.customize.the.ge
1200 6e 65 72 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 60 5f 5f 69 6e 69 74 nerated.................``__init
1220 5f 5f 60 60 20 6d 65 74 68 6f 64 2c 20 69 6e 63 6c 75 64 69 6e 67 20 65 78 65 63 75 74 69 6e 67 __``.method,.including.executing
1240 20 63 6f 64 65 20 62 65 66 6f 72 65 20 61 6e 64 20 61 66 74 65 72 2e 0a 0a 20 20 20 20 20 20 20 .code.before.and.after..........
1260 20 72 65 70 72 28 62 6f 6f 6c 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 72 65 61 74 65 20 .repr(bool):.............Create.
1280 61 20 60 60 5f 5f 72 65 70 72 5f 5f 60 60 20 6d 65 74 68 6f 64 20 77 69 74 68 20 61 20 68 75 6d a.``__repr__``.method.with.a.hum
12a0 61 6e 20 72 65 61 64 61 62 6c 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 an.readable.representation......
12c0 20 20 20 20 20 20 20 6f 66 20 2a 61 74 74 72 73 2a 20 61 74 74 72 69 62 75 74 65 73 2e 0a 0a 20 .......of.*attrs*.attributes....
12e0 20 20 20 20 20 20 20 73 74 72 20 28 62 6f 6f 6c 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 .......str.(bool):.............C
1300 72 65 61 74 65 20 61 20 60 60 5f 5f 73 74 72 5f 5f 60 60 20 6d 65 74 68 6f 64 20 74 68 61 74 20 reate.a.``__str__``.method.that.
1320 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 60 60 5f 5f 72 65 70 72 5f 5f 60 60 2e 20 54 68 is.identical.to.``__repr__``..Th
1340 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 75 73 75 61 6c 6c 79 20 6e 6f 74 20 6e 65 is.............is.usually.not.ne
1360 63 65 73 73 61 72 79 20 65 78 63 65 70 74 20 66 6f 72 20 60 45 78 63 65 70 74 69 6f 6e 60 5c 20 cessary.except.for.`Exception`\.
1380 73 2e 0a 0a 20 20 20 20 20 20 20 20 65 71 20 28 62 6f 6f 6c 20 7c 20 4e 6f 6e 65 29 3a 0a 20 20 s...........eq.(bool.|.None):...
13a0 20 20 20 20 20 20 20 20 20 20 49 66 20 54 72 75 65 20 6f 72 20 4e 6f 6e 65 20 28 64 65 66 61 75 ..........If.True.or.None.(defau
13c0 6c 74 29 2c 20 61 64 64 20 60 60 5f 5f 65 71 5f 5f 60 60 20 61 6e 64 20 60 60 5f 5f 6e 65 5f 5f lt),.add.``__eq__``.and.``__ne__
13e0 60 60 20 6d 65 74 68 6f 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 61 74 20 63 68 65 63 ``.methods.............that.chec
1400 6b 20 74 77 6f 20 69 6e 73 74 61 6e 63 65 73 20 66 6f 72 20 65 71 75 61 6c 69 74 79 2e 0a 0a 20 k.two.instances.for.equality....
1420 20 20 20 20 20 20 20 20 20 20 20 2e 2e 20 73 65 65 61 6c 73 6f 3a 3a 0a 20 20 20 20 20 20 20 20 ..............seealso::.........
1440 20 20 20 20 20 20 20 20 60 63 6f 6d 70 61 72 69 73 6f 6e 60 20 64 65 73 63 72 69 62 65 73 20 68 ........`comparison`.describes.h
1460 6f 77 20 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 62 ow.to.customize.the.comparison.b
1480 65 68 61 76 69 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 69 6e 67 20 61 73 ehavior.................going.as
14a0 20 66 61 72 20 63 6f 6d 70 61 72 69 6e 67 20 4e 75 6d 50 79 20 61 72 72 61 79 73 2e 0a 0a 20 20 .far.comparing.NumPy.arrays.....
14c0 20 20 20 20 20 20 6f 72 64 65 72 20 28 62 6f 6f 6c 20 7c 20 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 ......order.(bool.|.None):......
14e0 20 20 20 20 20 20 20 49 66 20 54 72 75 65 2c 20 61 64 64 20 60 60 5f 5f 6c 74 5f 5f 60 60 2c 20 .......If.True,.add.``__lt__``,.
1500 60 60 5f 5f 6c 65 5f 5f 60 60 2c 20 60 60 5f 5f 67 74 5f 5f 60 60 2c 20 61 6e 64 20 60 60 5f 5f ``__le__``,.``__gt__``,.and.``__
1520 67 65 5f 5f 60 60 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 73 20 74 68 61 74 20 ge__``.............methods.that.
1540 62 65 68 61 76 65 20 6c 69 6b 65 20 2a 65 71 2a 20 61 62 6f 76 65 20 61 6e 64 20 61 6c 6c 6f 77 behave.like.*eq*.above.and.allow
1560 20 69 6e 73 74 61 6e 63 65 73 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 64 .instances.to.be.............ord
1580 65 72 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 79 20 63 6f 6d 70 61 72 65 20 ered...............They.compare.
15a0 74 68 65 20 69 6e 73 74 61 6e 63 65 73 20 61 73 20 69 66 20 74 68 65 79 20 77 65 72 65 20 74 75 the.instances.as.if.they.were.tu
15c0 70 6c 65 73 20 6f 66 20 74 68 65 69 72 20 2a 61 74 74 72 73 2a 0a 20 20 20 20 20 20 20 20 20 20 ples.of.their.*attrs*...........
15e0 20 20 61 74 74 72 69 62 75 74 65 73 20 69 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 ..attributes.if.and.only.if.the.
1600 74 79 70 65 73 20 6f 66 20 62 6f 74 68 20 63 6c 61 73 73 65 73 20 61 72 65 0a 20 20 20 20 20 20 types.of.both.classes.are.......
1620 20 20 20 20 20 20 2a 69 64 65 6e 74 69 63 61 6c 2a 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......*identical*...............
1640 49 66 20 60 4e 6f 6e 65 60 20 6d 69 72 72 6f 72 20 76 61 6c 75 65 20 6f 66 20 2a 65 71 2a 2e 0a If.`None`.mirror.value.of.*eq*..
1660 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 20 73 65 65 61 6c 73 6f 3a 3a 20 60 63 6f 6d 70 61 ................seealso::.`compa
1680 72 69 73 6f 6e 60 0a 0a 20 20 20 20 20 20 20 20 75 6e 73 61 66 65 5f 68 61 73 68 20 28 62 6f 6f rison`..........unsafe_hash.(boo
16a0 6c 20 7c 20 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 4e 6f 6e 65 20 28 l.|.None):.............If.None.(
16c0 64 65 66 61 75 6c 74 29 2c 20 74 68 65 20 60 60 5f 5f 68 61 73 68 5f 5f 60 60 20 6d 65 74 68 6f default),.the.``__hash__``.metho
16e0 64 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 61 63 63 6f 72 64 69 6e 67 0a 20 20 20 20 20 20 20 d.is.generated.according........
1700 20 20 20 20 20 68 6f 77 20 2a 65 71 2a 20 61 6e 64 20 2a 66 72 6f 7a 65 6e 2a 20 61 72 65 20 73 .....how.*eq*.and.*frozen*.are.s
1720 65 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 2e 20 49 66 20 2a 62 6f 74 68 2a 20 61 72 et...............1..If.*both*.ar
1740 65 20 54 72 75 65 2c 20 2a 61 74 74 72 73 2a 20 77 69 6c 6c 20 67 65 6e 65 72 61 74 65 20 61 20 e.True,.*attrs*.will.generate.a.
1760 60 60 5f 5f 68 61 73 68 5f 5f 60 60 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ``__hash__``.for................
1780 79 6f 75 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 32 2e 20 49 66 20 2a 65 71 2a 20 69 73 20 54 you..............2..If.*eq*.is.T
17a0 72 75 65 20 61 6e 64 20 2a 66 72 6f 7a 65 6e 2a 20 69 73 20 46 61 6c 73 65 2c 20 60 60 5f 5f 68 rue.and.*frozen*.is.False,.``__h
17c0 61 73 68 5f 5f 60 60 20 77 69 6c 6c 20 62 65 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 ash__``.will.be.set.............
17e0 20 20 20 74 6f 20 4e 6f 6e 65 2c 20 6d 61 72 6b 69 6e 67 20 69 74 20 75 6e 68 61 73 68 61 62 6c ...to.None,.marking.it.unhashabl
1800 65 20 28 77 68 69 63 68 20 69 74 20 69 73 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 33 2e 20 e.(which.it.is)..............3..
1820 49 66 20 2a 65 71 2a 20 69 73 20 46 61 6c 73 65 2c 20 60 60 5f 5f 68 61 73 68 5f 5f 60 60 20 77 If.*eq*.is.False,.``__hash__``.w
1840 69 6c 6c 20 62 65 20 6c 65 66 74 20 75 6e 74 6f 75 63 68 65 64 20 6d 65 61 6e 69 6e 67 0a 20 20 ill.be.left.untouched.meaning...
1860 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 60 60 5f 5f 68 61 73 68 5f 5f 60 60 20 6d 65 .............the.``__hash__``.me
1880 74 68 6f 64 20 6f 66 20 74 68 65 20 62 61 73 65 20 63 6c 61 73 73 20 77 69 6c 6c 20 62 65 20 75 thod.of.the.base.class.will.be.u
18a0 73 65 64 2e 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 20 sed..If.the................base.
18c0 63 6c 61 73 73 20 69 73 20 60 6f 62 6a 65 63 74 60 2c 20 74 68 69 73 20 6d 65 61 6e 73 20 69 74 class.is.`object`,.this.means.it
18e0 20 77 69 6c 6c 20 66 61 6c 6c 20 62 61 63 6b 20 74 6f 20 69 64 2d 62 61 73 65 64 0a 20 20 20 20 .will.fall.back.to.id-based.....
1900 20 20 20 20 20 20 20 20 20 20 20 68 61 73 68 69 6e 67 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ...........hashing..............
1920 20 41 6c 74 68 6f 75 67 68 20 6e 6f 74 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2c 20 79 6f 75 20 63 .Although.not.recommended,.you.c
1940 61 6e 20 64 65 63 69 64 65 20 66 6f 72 20 79 6f 75 72 73 65 6c 66 20 61 6e 64 20 66 6f 72 63 65 an.decide.for.yourself.and.force
1960 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 61 74 74 72 73 2a 20 74 6f 20 63 72 65 61 74 65 20 6f .............*attrs*.to.create.o
1980 6e 65 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 63 6c 61 73 73 20 69 73 ne.(for.example,.if.the.class.is
19a0 20 69 6d 6d 75 74 61 62 6c 65 20 65 76 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 6f 75 .immutable.even.............thou
19c0 67 68 20 79 6f 75 20 64 69 64 6e 27 74 20 66 72 65 65 7a 65 20 69 74 20 70 72 6f 67 72 61 6d 6d gh.you.didn't.freeze.it.programm
19e0 61 74 69 63 61 6c 6c 79 29 20 62 79 20 70 61 73 73 69 6e 67 20 54 72 75 65 20 6f 72 0a 20 20 20 atically).by.passing.True.or....
1a00 20 20 20 20 20 20 20 20 20 6e 6f 74 2e 20 20 42 6f 74 68 20 6f 66 20 74 68 65 73 65 20 63 61 73 .........not...Both.of.these.cas
1a20 65 73 20 61 72 65 20 72 61 74 68 65 72 20 73 70 65 63 69 61 6c 20 61 6e 64 20 73 68 6f 75 6c 64 es.are.rather.special.and.should
1a40 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 66 75 6c 6c 79 2e 0a .be.used.............carefully..
1a60 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 20 73 65 65 61 6c 73 6f 3a 3a 0a 0a 20 20 20 20 20 ................seealso::.......
1a80 20 20 20 20 20 20 20 20 20 20 20 2d 20 4f 75 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f ...........-.Our.documentation.o
1aa0 6e 20 60 68 61 73 68 69 6e 67 60 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 50 n.`hashing`,.................-.P
1ac0 79 74 68 6f 6e 27 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f 6e 20 60 6f 62 6a 65 63 74 ython's.documentation.on.`object
1ae0 2e 5f 5f 68 61 73 68 5f 5f 60 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 61 6e .__hash__`,.................-.an
1b00 64 20 74 68 65 20 60 47 69 74 48 75 62 20 69 73 73 75 65 20 74 68 61 74 20 6c 65 64 20 74 6f 20 d.the.`GitHub.issue.that.led.to.
1b20 74 68 65 20 64 65 66 61 75 6c 74 20 5c 20 62 65 68 61 76 69 6f 72 0a 20 20 20 20 20 20 20 20 20 the.default.\.behavior..........
1b40 20 20 20 20 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 70 79 74 .........<https://github.com/pyt
1b60 68 6f 6e 2d 61 74 74 72 73 2f 61 74 74 72 73 2f 69 73 73 75 65 73 2f 31 33 36 3e 60 5f 20 66 6f hon-attrs/attrs/issues/136>`_.fo
1b80 72 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 74 61 69 6c 73 r.more...................details
1ba0 2e 0a 0a 20 20 20 20 20 20 20 20 68 61 73 68 20 28 62 6f 6f 6c 20 7c 20 4e 6f 6e 65 29 3a 0a 20 ...........hash.(bool.|.None):..
1bc0 20 20 20 20 20 20 20 20 20 20 20 44 65 70 72 65 63 61 74 65 64 20 61 6c 69 61 73 20 66 6f 72 20 ...........Deprecated.alias.for.
1be0 2a 75 6e 73 61 66 65 5f 68 61 73 68 2a 2e 20 2a 75 6e 73 61 66 65 5f 68 61 73 68 2a 20 74 61 6b *unsafe_hash*..*unsafe_hash*.tak
1c00 65 73 20 70 72 65 63 65 64 65 6e 63 65 2e 0a 0a 20 20 20 20 20 20 20 20 63 61 63 68 65 5f 68 61 es.precedence...........cache_ha
1c20 73 68 20 28 62 6f 6f 6c 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 73 75 72 65 20 74 68 sh.(bool):.............Ensure.th
1c40 61 74 20 74 68 65 20 6f 62 6a 65 63 74 27 73 20 68 61 73 68 20 63 6f 64 65 20 69 73 20 63 6f 6d at.the.object's.hash.code.is.com
1c60 70 75 74 65 64 20 6f 6e 6c 79 20 6f 6e 63 65 20 61 6e 64 20 73 74 6f 72 65 64 0a 20 20 20 20 20 puted.only.once.and.stored......
1c80 20 20 20 20 20 20 20 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 2e 20 20 49 66 20 74 68 69 73 20 69 .......on.the.object...If.this.i
1ca0 73 20 73 65 74 20 74 6f 20 54 72 75 65 2c 20 68 61 73 68 69 6e 67 20 6d 75 73 74 20 62 65 20 65 s.set.to.True,.hashing.must.be.e
1cc0 69 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6c 69 63 69 74 6c 79 20 6f 72 20 ither.............explicitly.or.
1ce0 69 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 64 20 66 6f 72 20 74 68 69 73 20 63 6c 61 73 implicitly.enabled.for.this.clas
1d00 73 2e 20 20 49 66 20 74 68 65 20 68 61 73 68 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 s...If.the.hash.code............
1d20 20 69 73 20 63 61 63 68 65 64 2c 20 61 76 6f 69 64 20 61 6e 79 20 72 65 61 73 73 69 67 6e 6d 65 .is.cached,.avoid.any.reassignme
1d40 6e 74 73 20 6f 66 20 66 69 65 6c 64 73 20 69 6e 76 6f 6c 76 65 64 20 69 6e 20 68 61 73 68 20 63 nts.of.fields.involved.in.hash.c
1d60 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 75 74 61 74 69 6f 6e 20 6f 72 20 6d ode.............computation.or.m
1d80 75 74 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 73 20 74 68 6f 73 65 20 66 69 utations.of.the.objects.those.fi
1da0 65 6c 64 73 20 70 6f 69 6e 74 20 74 6f 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 elds.point.to.after.............
1dc0 6f 62 6a 65 63 74 20 63 72 65 61 74 69 6f 6e 2e 20 20 49 66 20 73 75 63 68 20 63 68 61 6e 67 65 object.creation...If.such.change
1de0 73 20 6f 63 63 75 72 2c 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 65 0a 20 20 20 s.occur,.the.behavior.of.the....
1e00 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 27 73 20 68 61 73 68 20 63 6f 64 65 20 69 73 20 75 .........object's.hash.code.is.u
1e20 6e 64 65 66 69 6e 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 66 72 6f 7a 65 6e 20 28 62 6f 6f 6c 29 ndefined...........frozen.(bool)
1e40 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 6b 65 20 69 6e 73 74 61 6e 63 65 73 20 69 6d 6d :.............Make.instances.imm
1e60 75 74 61 62 6c 65 20 61 66 74 65 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 20 20 49 66 utable.after.initialization...If
1e80 20 73 6f 6d 65 6f 6e 65 20 61 74 74 65 6d 70 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f .someone.attempts.............to
1ea0 20 6d 6f 64 69 66 79 20 61 20 66 72 6f 7a 65 6e 20 69 6e 73 74 61 6e 63 65 2c 20 60 61 74 74 72 .modify.a.frozen.instance,.`attr
1ec0 73 2e 65 78 63 65 70 74 69 6f 6e 73 2e 46 72 6f 7a 65 6e 49 6e 73 74 61 6e 63 65 45 72 72 6f 72 s.exceptions.FrozenInstanceError
1ee0 60 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 72 61 69 73 65 64 2e 0a 0a 20 20 20 20 20 20 `.............is.raised.........
1f00 20 20 20 20 20 20 2e 2e 20 6e 6f 74 65 3a 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........note::.................
1f20 20 31 2e 20 54 68 69 73 20 69 73 20 61 63 68 69 65 76 65 64 20 62 79 20 69 6e 73 74 61 6c 6c 69 .1..This.is.achieved.by.installi
1f40 6e 67 20 61 20 63 75 73 74 6f 6d 20 60 60 5f 5f 73 65 74 61 74 74 72 5f 5f 60 60 0a 20 20 20 20 ng.a.custom.``__setattr__``.....
1f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 20 6f 6e 20 79 6f 75 72 20 63 6c ...............method.on.your.cl
1f80 61 73 73 2c 20 73 6f 20 79 6f 75 20 63 61 6e 27 74 20 69 6d 70 6c 65 6d 65 6e 74 20 79 6f 75 72 ass,.so.you.can't.implement.your
1fa0 20 6f 77 6e 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 2e 20 54 72 75 65 20 69 .own...................2..True.i
1fc0 6d 6d 75 74 61 62 69 6c 69 74 79 20 69 73 20 69 6d 70 6f 73 73 69 62 6c 65 20 69 6e 20 50 79 74 mmutability.is.impossible.in.Pyt
1fe0 68 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 2e 20 54 68 69 73 20 2a 64 hon...................3..This.*d
2000 6f 65 73 2a 20 68 61 76 65 20 61 20 6d 69 6e 6f 72 20 61 20 72 75 6e 74 69 6d 65 20 70 65 72 66 oes*.have.a.minor.a.runtime.perf
2020 6f 72 6d 61 6e 63 65 20 60 69 6d 70 61 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ormance.`impact.................
2040 20 20 20 3c 68 6f 77 2d 66 72 6f 7a 65 6e 3e 60 20 77 68 65 6e 20 69 6e 69 74 69 61 6c 69 7a 69 ...<how-frozen>`.when.initializi
2060 6e 67 20 6e 65 77 20 69 6e 73 74 61 6e 63 65 73 2e 20 20 49 6e 20 6f 74 68 65 72 0a 20 20 20 20 ng.new.instances...In.other.....
2080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 3a 20 60 60 5f 5f 69 6e 69 74 5f 5f ...............words:.``__init__
20a0 60 60 20 69 73 20 73 6c 69 67 68 74 6c 79 20 73 6c 6f 77 65 72 20 77 69 74 68 20 60 60 66 72 6f ``.is.slightly.slower.with.``fro
20c0 7a 65 6e 3d 54 72 75 65 60 60 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 34 2e 20 zen=True``...................4..
20e0 49 66 20 61 20 63 6c 61 73 73 20 69 73 20 66 72 6f 7a 65 6e 2c 20 79 6f 75 20 63 61 6e 6e 6f 74 If.a.class.is.frozen,.you.cannot
2100 20 6d 6f 64 69 66 79 20 60 60 73 65 6c 66 60 60 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .modify.``self``.in.............
2120 20 20 20 20 20 20 20 60 60 5f 5f 61 74 74 72 73 5f 70 6f 73 74 5f 69 6e 69 74 5f 5f 60 60 20 6f .......``__attrs_post_init__``.o
2140 72 20 61 20 73 65 6c 66 2d 77 72 69 74 74 65 6e 20 60 60 5f 5f 69 6e 69 74 5f 5f 60 60 2e 20 59 r.a.self-written.``__init__``..Y
2160 6f 75 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6e 20 63 69 72 63 75 6d ou....................can.circum
2180 76 65 6e 74 20 74 68 61 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 62 79 20 75 73 69 6e 67 0a 20 20 vent.that.limitation.by.using...
21a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 60 6f 62 6a 65 63 74 2e 5f 5f 73 65 74 61 .................``object.__seta
21c0 74 74 72 5f 5f 28 73 65 6c 66 2c 20 22 61 74 74 72 69 62 75 74 65 5f 6e 61 6d 65 22 2c 20 76 61 ttr__(self,."attribute_name",.va
21e0 6c 75 65 29 60 60 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 35 2e 20 53 75 62 63 lue)``...................5..Subc
2200 6c 61 73 73 65 73 20 6f 66 20 61 20 66 72 6f 7a 65 6e 20 63 6c 61 73 73 20 61 72 65 20 66 72 6f lasses.of.a.frozen.class.are.fro
2220 7a 65 6e 20 74 6f 6f 2e 0a 0a 20 20 20 20 20 20 20 20 6b 77 5f 6f 6e 6c 79 20 28 62 6f 6f 6c 29 zen.too...........kw_only.(bool)
2240 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 6b 65 20 61 6c 6c 20 61 74 74 72 69 62 75 74 65 :.............Make.all.attribute
2260 73 20 6b 65 79 77 6f 72 64 2d 6f 6e 6c 79 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 s.keyword-only.in.the.generated.
2280 60 60 5f 5f 69 6e 69 74 5f 5f 60 60 20 28 69 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 69 6e ``__init__``.(if.............*in
22a0 69 74 2a 20 69 73 20 46 61 6c 73 65 2c 20 74 68 69 73 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 it*.is.False,.this.parameter.is.
22c0 69 67 6e 6f 72 65 64 29 2e 0a 0a 20 20 20 20 20 20 20 20 77 65 61 6b 72 65 66 5f 73 6c 6f 74 20 ignored)...........weakref_slot.
22e0 28 62 6f 6f 6c 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 6b 65 20 69 6e 73 74 61 6e 63 (bool):.............Make.instanc
2300 65 73 20 77 65 61 6b 2d 72 65 66 65 72 65 6e 63 65 61 62 6c 65 2e 20 20 54 68 69 73 20 68 61 73 es.weak-referenceable...This.has
2320 20 6e 6f 20 65 66 66 65 63 74 20 75 6e 6c 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 73 .no.effect.unless.............*s
2340 6c 6f 74 73 2a 20 69 73 20 54 72 75 65 2e 0a 0a 20 20 20 20 20 20 20 20 66 69 65 6c 64 5f 74 72 lots*.is.True...........field_tr
2360 61 6e 73 66 6f 72 6d 65 72 20 28 7e 74 79 70 69 6e 67 2e 43 61 6c 6c 61 62 6c 65 20 7c 20 4e 6f ansformer.(~typing.Callable.|.No
2380 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 ne):.............A.function.that
23a0 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 63 6c 61 .is.called.with.the.original.cla
23c0 73 73 20 6f 62 6a 65 63 74 20 61 6e 64 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 ss.object.and.all.............fi
23e0 65 6c 64 73 20 72 69 67 68 74 20 62 65 66 6f 72 65 20 2a 61 74 74 72 73 2a 20 66 69 6e 61 6c 69 elds.right.before.*attrs*.finali
2400 7a 65 73 20 74 68 65 20 63 6c 61 73 73 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 zes.the.class...You.can.use.this
2420 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 61 75 ,.............for.example,.to.au
2440 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 64 64 20 63 6f 6e 76 65 72 74 65 72 73 20 6f 72 20 76 61 tomatically.add.converters.or.va
2460 6c 69 64 61 74 6f 72 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 65 6c 64 73 20 62 lidators.to.............fields.b
2480 61 73 65 64 20 6f 6e 20 74 68 65 69 72 20 74 79 70 65 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 ased.on.their.types.............
24a0 20 20 2e 2e 20 73 65 65 61 6c 73 6f 3a 3a 20 60 74 72 61 6e 73 66 6f 72 6d 2d 66 69 65 6c 64 73 .....seealso::.`transform-fields
24c0 60 0a 0a 20 20 20 20 20 20 20 20 6d 61 74 63 68 5f 61 72 67 73 20 28 62 6f 6f 6c 29 3a 0a 20 20 `..........match_args.(bool):...
24e0 20 20 20 20 20 20 20 20 20 20 49 66 20 54 72 75 65 20 28 64 65 66 61 75 6c 74 29 2c 20 73 65 74 ..........If.True.(default),.set
2500 20 60 60 5f 5f 6d 61 74 63 68 5f 61 72 67 73 5f 5f 60 60 20 6f 6e 20 74 68 65 20 63 6c 61 73 73 .``__match_args__``.on.the.class
2520 20 74 6f 20 73 75 70 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 65 70 3a 60 36 33 .to.support.............:pep:`63
2540 34 60 20 28 2a 53 74 72 75 63 74 75 72 61 6c 20 50 61 74 74 65 72 6e 20 4d 61 74 63 68 69 6e 67 4`.(*Structural.Pattern.Matching
2560 2a 29 2e 20 49 74 20 69 73 20 61 20 74 75 70 6c 65 20 6f 66 20 61 6c 6c 0a 20 20 20 20 20 20 20 *)..It.is.a.tuple.of.all........
2580 20 20 20 20 20 6e 6f 6e 2d 6b 65 79 77 6f 72 64 2d 6f 6e 6c 79 20 60 60 5f 5f 69 6e 69 74 5f 5f .....non-keyword-only.``__init__
25a0 60 60 20 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 20 6f 6e 20 50 79 74 68 6f 6e 20 33 2e 31 ``.parameter.names.on.Python.3.1
25c0 30 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 74 65 72 2e 20 49 67 6e 6f 72 65 64 0.and.............later..Ignored
25e0 20 6f 6e 20 6f 6c 64 65 72 20 50 79 74 68 6f 6e 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 20 20 .on.older.Python.versions.......
2600 20 20 20 20 63 6f 6c 6c 65 63 74 5f 62 79 5f 6d 72 6f 20 28 62 6f 6f 6c 29 3a 0a 20 20 20 20 20 ....collect_by_mro.(bool):......
2620 20 20 20 20 20 20 20 49 66 20 54 72 75 65 2c 20 2a 61 74 74 72 73 2a 20 63 6f 6c 6c 65 63 74 73 .......If.True,.*attrs*.collects
2640 20 61 74 74 72 69 62 75 74 65 73 20 66 72 6f 6d 20 62 61 73 65 20 63 6c 61 73 73 65 73 20 63 6f .attributes.from.base.classes.co
2660 72 72 65 63 74 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 6f 72 64 69 6e 67 20 74 6f rrectly.............according.to
2680 20 74 68 65 20 60 6d 65 74 68 6f 64 20 72 65 73 6f 6c 75 74 69 6f 6e 20 6f 72 64 65 72 0a 20 20 .the.`method.resolution.order...
26a0 20 20 20 20 20 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 70 79 74 68 6f 6e 2e 6f ..........<https://docs.python.o
26c0 72 67 2f 33 2f 68 6f 77 74 6f 2f 6d 72 6f 2e 68 74 6d 6c 3e 60 5f 2e 20 49 66 20 46 61 6c 73 65 rg/3/howto/mro.html>`_..If.False
26e0 2c 20 2a 61 74 74 72 73 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20 6d 69 6d 69 63 ,.*attrs*.............will.mimic
2700 20 74 68 65 20 28 77 72 6f 6e 67 29 20 62 65 68 61 76 69 6f 72 20 6f 66 20 60 64 61 74 61 63 6c .the.(wrong).behavior.of.`datacl
2720 61 73 73 65 73 60 20 61 6e 64 20 3a 70 65 70 3a 60 36 38 31 60 2e 0a 0a 20 20 20 20 20 20 20 20 asses`.and.:pep:`681`...........
2740 20 20 20 20 53 65 65 20 61 6c 73 6f 20 60 69 73 73 75 65 20 23 34 32 38 0a 20 20 20 20 20 20 20 ....See.also.`issue.#428........
2760 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 70 79 74 68 6f 6e 2d .....<https://github.com/python-
2780 61 74 74 72 73 2f 61 74 74 72 73 2f 69 73 73 75 65 73 2f 34 32 38 3e 60 5f 2e 0a 0a 20 20 20 20 attrs/attrs/issues/428>`_.......
27a0 20 20 20 20 67 65 74 73 74 61 74 65 5f 73 65 74 73 74 61 74 65 20 28 62 6f 6f 6c 20 7c 20 4e 6f ....getstate_setstate.(bool.|.No
27c0 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 20 6e 6f 74 65 3a 3a 0a 0a 20 20 20 20 ne):................note::......
27e0 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 75 61 6c 6c 79 20 6f 6e 6c 79 ............This.is.usually.only
2800 20 69 6e 74 65 72 65 73 74 69 6e 67 20 66 6f 72 20 73 6c 6f 74 74 65 64 20 63 6c 61 73 73 65 73 .interesting.for.slotted.classes
2820 20 61 6e 64 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 .and.you.................should.
2840 70 72 6f 62 61 62 6c 79 20 6a 75 73 74 20 73 65 74 20 2a 61 75 74 6f 5f 64 65 74 65 63 74 2a 20 probably.just.set.*auto_detect*.
2860 74 6f 20 54 72 75 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 54 72 75 65 2c 20 60 to.True...............If.True,.`
2880 60 5f 5f 67 65 74 73 74 61 74 65 5f 5f 60 60 20 61 6e 64 20 60 60 5f 5f 73 65 74 73 74 61 74 65 `__getstate__``.and.``__setstate
28a0 5f 5f 60 60 20 61 72 65 20 67 65 6e 65 72 61 74 65 64 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 __``.are.generated.and..........
28c0 20 20 20 61 74 74 61 63 68 65 64 20 74 6f 20 74 68 65 20 63 6c 61 73 73 2e 20 54 68 69 73 20 69 ...attached.to.the.class..This.i
28e0 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 20 73 6c 6f 74 74 65 64 20 63 6c 61 73 73 65 73 20 s.necessary.for.slotted.classes.
2900 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 69 63 6b 6c 65 61 62 6c 65 2e 20 49 66 to.be.............pickleable..If
2920 20 6c 65 66 74 20 4e 6f 6e 65 2c 20 69 74 27 73 20 54 72 75 65 20 62 79 20 64 65 66 61 75 6c 74 .left.None,.it's.True.by.default
2940 20 66 6f 72 20 73 6c 6f 74 74 65 64 20 63 6c 61 73 73 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 .for.slotted.classes............
2960 20 61 6e 64 20 46 61 6c 73 65 20 66 6f 72 20 64 69 63 74 20 63 6c 61 73 73 65 73 2e 0a 0a 20 20 .and.False.for.dict.classes.....
2980 20 20 20 20 20 20 20 20 20 20 49 66 20 2a 61 75 74 6f 5f 64 65 74 65 63 74 2a 20 69 73 20 54 72 ..........If.*auto_detect*.is.Tr
29a0 75 65 2c 20 61 6e 64 20 2a 67 65 74 73 74 61 74 65 5f 73 65 74 73 74 61 74 65 2a 20 69 73 20 6c ue,.and.*getstate_setstate*.is.l
29c0 65 66 74 20 4e 6f 6e 65 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a 65 69 74 68 eft.None,.and.............**eith
29e0 65 72 2a 2a 20 60 60 5f 5f 67 65 74 73 74 61 74 65 5f 5f 60 60 20 6f 72 20 60 60 5f 5f 73 65 74 er**.``__getstate__``.or.``__set
2a00 73 74 61 74 65 5f 5f 60 60 20 69 73 20 64 65 74 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 state__``.is.detected...........
2a20 20 20 64 69 72 65 63 74 6c 79 20 6f 6e 20 74 68 65 20 63 6c 61 73 73 20 28 6d 65 61 6e 69 6e 67 ..directly.on.the.class.(meaning
2a40 3a 20 6e 6f 74 20 69 6e 68 65 72 69 74 65 64 29 2c 20 69 74 20 69 73 20 73 65 74 20 74 6f 20 46 :.not.inherited),.it.is.set.to.F
2a60 61 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 69 73 20 69 73 20 75 73 75 61 6c 6c alse.............(this.is.usuall
2a80 79 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 29 2e 0a 0a 20 20 20 20 20 20 20 20 61 75 74 6f 5f y.what.you.want)...........auto_
2aa0 61 74 74 72 69 62 73 20 28 62 6f 6f 6c 20 7c 20 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 attribs.(bool.|.None):..........
2ac0 20 20 20 49 66 20 54 72 75 65 2c 20 6c 6f 6f 6b 20 61 74 20 74 79 70 65 20 61 6e 6e 6f 74 61 74 ...If.True,.look.at.type.annotat
2ae0 69 6f 6e 73 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 61 74 74 72 69 62 75 74 ions.to.determine.which.attribut
2b00 65 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 2c 20 6c 69 6b 65 20 60 64 61 74 es.to.............use,.like.`dat
2b20 61 63 6c 61 73 73 65 73 60 2e 20 49 66 20 46 61 6c 73 65 2c 20 69 74 20 77 69 6c 6c 20 6f 6e 6c aclasses`..If.False,.it.will.onl
2b40 79 20 6c 6f 6f 6b 20 66 6f 72 20 65 78 70 6c 69 63 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 y.look.for.explicit.............
2b60 3a 66 75 6e 63 3a 60 66 69 65 6c 64 60 20 63 6c 61 73 73 20 61 74 74 72 69 62 75 74 65 73 2c 20 :func:`field`.class.attributes,.
2b80 6c 69 6b 65 20 63 6c 61 73 73 69 63 20 2a 61 74 74 72 73 2a 2e 0a 0a 20 20 20 20 20 20 20 20 20 like.classic.*attrs*............
2ba0 20 20 20 49 66 20 6c 65 66 74 20 4e 6f 6e 65 2c 20 69 74 20 77 69 6c 6c 20 67 75 65 73 73 3a 0a ...If.left.None,.it.will.guess:.
2bc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 2e 20 49 66 20 61 6e 79 20 61 74 74 72 69 62 75 74 65 .............1..If.any.attribute
2be0 73 20 61 72 65 20 61 6e 6e 6f 74 61 74 65 64 20 61 6e 64 20 6e 6f 20 75 6e 61 6e 6e 6f 74 61 74 s.are.annotated.and.no.unannotat
2c00 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 61 74 74 72 73 2e 66 69 65 6c 64 60 5c ed................`attrs.field`\
2c20 20 73 20 61 72 65 20 66 6f 75 6e 64 2c 20 69 74 20 61 73 73 75 6d 65 73 20 2a 61 75 74 6f 5f 61 .s.are.found,.it.assumes.*auto_a
2c40 74 74 72 69 62 73 3d 54 72 75 65 2a 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 32 2e 20 4f 74 68 ttribs=True*..............2..Oth
2c60 65 72 77 69 73 65 20 69 74 20 61 73 73 75 6d 65 73 20 2a 61 75 74 6f 5f 61 74 74 72 69 62 73 3d erwise.it.assumes.*auto_attribs=
2c80 46 61 6c 73 65 2a 20 61 6e 64 20 74 72 69 65 73 20 74 6f 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 False*.and.tries.to.collect.....
2ca0 20 20 20 20 20 20 20 20 20 20 20 60 61 74 74 72 73 2e 66 69 65 6c 64 60 5c 20 73 2e 0a 0a 20 20 ...........`attrs.field`\.s.....
2cc0 20 20 20 20 20 20 20 20 20 20 49 66 20 2a 61 74 74 72 73 2a 20 64 65 63 69 64 65 73 20 74 6f 20 ..........If.*attrs*.decides.to.
2ce0 6c 6f 6f 6b 20 61 74 20 74 79 70 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2c 20 2a 2a 61 6c 6c 2a look.at.type.annotations,.**all*
2d00 2a 20 66 69 65 6c 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a 6d 75 73 74 2a 2a 20 62 65 *.fields.............**must**.be
2d20 20 61 6e 6e 6f 74 61 74 65 64 2e 20 49 66 20 2a 61 74 74 72 73 2a 20 65 6e 63 6f 75 6e 74 65 72 .annotated..If.*attrs*.encounter
2d40 73 20 61 20 66 69 65 6c 64 20 74 68 61 74 20 69 73 20 73 65 74 20 74 6f 0a 20 20 20 20 20 20 20 s.a.field.that.is.set.to........
2d60 20 20 20 20 20 61 20 3a 66 75 6e 63 3a 60 66 69 65 6c 64 60 20 2f 20 60 61 74 74 72 2e 69 62 60 .....a.:func:`field`./.`attr.ib`
2d80 20 62 75 74 20 6c 61 63 6b 73 20 61 20 74 79 70 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 2c 20 61 6e .but.lacks.a.type.annotation,.an
2da0 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 61 74 74 72 73 2e 65 78 63 65 70 74 69 6f 6e 73 2e 55 .............`attrs.exceptions.U
2dc0 6e 61 6e 6e 6f 74 61 74 65 64 41 74 74 72 69 62 75 74 65 45 72 72 6f 72 60 20 69 73 20 72 61 69 nannotatedAttributeError`.is.rai
2de0 73 65 64 2e 20 20 55 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 60 66 69 65 6c 64 5f 6e 61 sed...Use.............``field_na
2e00 6d 65 3a 20 74 79 70 69 6e 67 2e 41 6e 79 20 3d 20 66 69 65 6c 64 28 2e 2e 2e 29 60 60 20 69 66 me:.typing.Any.=.field(...)``.if
2e20 20 79 6f 75 20 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 20 73 65 74 20 61 0a 20 20 20 20 20 20 20 .you.don't.want.to.set.a........
2e40 20 20 20 20 20 74 79 70 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 20 77 61 72 6e 69 .....type..................warni
2e60 6e 67 3a 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 66 65 61 74 75 72 ng::..................For.featur
2e80 65 73 20 74 68 61 74 20 75 73 65 20 74 68 65 20 61 74 74 72 69 62 75 74 65 20 6e 61 6d 65 20 74 es.that.use.the.attribute.name.t
2ea0 6f 20 63 72 65 61 74 65 20 64 65 63 6f 72 61 74 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 o.create.decorators.............
2ec0 20 20 20 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 3a 72 65 66 3a 60 76 61 6c 69 64 61 74 6f ....(for.example,.:ref:`validato
2ee0 72 73 20 3c 76 61 6c 69 64 61 74 6f 72 73 3e 60 29 2c 20 79 6f 75 20 73 74 69 6c 6c 20 2a 6d 75 rs.<validators>`),.you.still.*mu
2f00 73 74 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 69 67 6e 20 3a 66 75 6e 63 st*.................assign.:func
2f20 3a 60 66 69 65 6c 64 60 20 2f 20 60 61 74 74 72 2e 69 62 60 20 74 6f 20 74 68 65 6d 2e 20 4f 74 :`field`./.`attr.ib`.to.them..Ot
2f40 68 65 72 77 69 73 65 20 50 79 74 68 6f 6e 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 herwise.Python.will.............
2f60 20 20 20 20 65 69 74 68 65 72 20 6e 6f 74 20 66 69 6e 64 20 74 68 65 20 6e 61 6d 65 20 6f 72 20 ....either.not.find.the.name.or.
2f80 74 72 79 20 74 6f 20 75 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 74 6f 0a try.to.use.the.default.value.to.
2fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 2c 20 66 6f 72 20 65 78 61 6d 70 6c ................call,.for.exampl
2fc0 65 2c 20 60 60 76 61 6c 69 64 61 74 6f 72 60 60 20 6f 6e 20 69 74 2e 0a 0a 20 20 20 20 20 20 20 e,.``validator``.on.it..........
2fe0 20 20 20 20 20 41 74 74 72 69 62 75 74 65 73 20 61 6e 6e 6f 74 61 74 65 64 20 61 73 20 60 74 79 .....Attributes.annotated.as.`ty
3000 70 69 6e 67 2e 43 6c 61 73 73 56 61 72 60 2c 20 61 6e 64 20 61 74 74 72 69 62 75 74 65 73 20 74 ping.ClassVar`,.and.attributes.t
3020 68 61 74 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 69 74 68 65 72 20 61 6e 6e 6f hat.are.............neither.anno
3040 74 61 74 65 64 20 6e 6f 72 20 73 65 74 20 74 6f 20 61 6e 20 60 66 69 65 6c 64 28 29 60 20 61 72 tated.nor.set.to.an.`field()`.ar
3060 65 20 2a 2a 69 67 6e 6f 72 65 64 2a 2a 2e 0a 0a 20 20 20 20 20 20 20 20 74 68 65 73 65 20 28 64 e.**ignored**...........these.(d
3080 69 63 74 5b 73 74 72 2c 20 6f 62 6a 65 63 74 5d 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 ict[str,.object]):.............A
30a0 20 64 69 63 74 69 6f 6e 61 72 79 20 6f 66 20 6e 61 6d 65 20 74 6f 20 74 68 65 20 28 70 72 69 76 .dictionary.of.name.to.the.(priv
30c0 61 74 65 29 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 60 66 69 65 6c 64 28 29 60 0a 20 ate).return.value.of.`field()`..
30e0 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 70 69 6e 67 73 2e 20 54 68 69 73 20 69 73 20 75 73 65 ...........mappings..This.is.use
3100 66 75 6c 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 79 ful.to.avoid.the.definition.of.y
3120 6f 75 72 20 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 69 our.attributes.............withi
3140 6e 20 74 68 65 20 63 6c 61 73 73 20 62 6f 64 79 20 62 65 63 61 75 73 65 20 79 6f 75 20 63 61 6e n.the.class.body.because.you.can
3160 27 74 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 77 61 6e 74 0a 20 20 20 't.(for.example,.if.you.want....
3180 20 20 20 20 20 20 20 20 20 74 6f 20 61 64 64 20 60 60 5f 5f 72 65 70 72 5f 5f 60 60 20 6d 65 74 .........to.add.``__repr__``.met
31a0 68 6f 64 73 20 74 6f 20 44 6a 61 6e 67 6f 20 6d 6f 64 65 6c 73 29 20 6f 72 20 64 6f 6e 27 74 20 hods.to.Django.models).or.don't.
31c0 77 61 6e 74 20 74 6f 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 2a 74 68 65 73 65 2a want.to...............If.*these*
31e0 20 69 73 20 6e 6f 74 20 60 4e 6f 6e 65 60 2c 20 2a 61 74 74 72 73 2a 20 77 69 6c 6c 20 2a 6e 6f .is.not.`None`,.*attrs*.will.*no
3200 74 2a 20 73 65 61 72 63 68 20 74 68 65 20 63 6c 61 73 73 20 62 6f 64 79 0a 20 20 20 20 20 20 20 t*.search.the.class.body........
3220 20 20 20 20 20 66 6f 72 20 61 74 74 72 69 62 75 74 65 73 20 61 6e 64 20 77 69 6c 6c 20 2a 6e 6f .....for.attributes.and.will.*no
3240 74 2a 20 72 65 6d 6f 76 65 20 61 6e 79 20 61 74 74 72 69 62 75 74 65 73 20 66 72 6f 6d 20 69 74 t*.remove.any.attributes.from.it
3260 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 72 64 65 72 20 69 73 20 64 65 64 75 ...............The.order.is.dedu
3280 63 65 64 20 66 72 6f 6d 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 61 74 74 72 69 62 ced.from.the.order.of.the.attrib
32a0 75 74 65 73 20 69 6e 73 69 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 74 68 65 73 65 2a 2e utes.inside.............*these*.
32c0 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 75 61 62 6c 79 2c 20 74 68 69 73 20 69 73 20 ..............Arguably,.this.is.
32e0 61 20 72 61 74 68 65 72 20 6f 62 73 63 75 72 65 20 66 65 61 74 75 72 65 2e 0a 0a 20 20 20 20 2e a.rather.obscure.feature........
3300 2e 20 76 65 72 73 69 6f 6e 61 64 64 65 64 3a 3a 20 32 30 2e 31 2e 30 0a 20 20 20 20 2e 2e 20 76 ..versionadded::.20.1.0........v
3320 65 72 73 69 6f 6e 63 68 61 6e 67 65 64 3a 3a 20 32 31 2e 33 2e 30 20 43 6f 6e 76 65 72 74 65 72 ersionchanged::.21.3.0.Converter
3340 73 20 61 72 65 20 61 6c 73 6f 20 72 75 6e 20 60 60 6f 6e 5f 73 65 74 61 74 74 72 60 60 2e 0a 20 s.are.also.run.``on_setattr``...
3360 20 20 20 2e 2e 20 76 65 72 73 69 6f 6e 61 64 64 65 64 3a 3a 20 32 32 2e 32 2e 30 0a 20 20 20 20 ......versionadded::.22.2.0.....
3380 20 20 20 2a 75 6e 73 61 66 65 5f 68 61 73 68 2a 20 61 73 20 61 6e 20 61 6c 69 61 73 20 66 6f 72 ...*unsafe_hash*.as.an.alias.for
33a0 20 2a 68 61 73 68 2a 20 28 66 6f 72 20 3a 70 65 70 3a 60 36 38 31 60 20 63 6f 6d 70 6c 69 61 6e .*hash*.(for.:pep:`681`.complian
33c0 63 65 29 2e 0a 20 20 20 20 2e 2e 20 76 65 72 73 69 6f 6e 63 68 61 6e 67 65 64 3a 3a 20 32 34 2e ce).........versionchanged::.24.
33e0 31 2e 30 0a 20 20 20 20 20 20 20 49 6e 73 74 61 6e 63 65 73 20 61 72 65 20 6e 6f 74 20 63 6f 6d 1.0........Instances.are.not.com
3400 70 61 72 65 64 20 61 73 20 74 75 70 6c 65 73 20 6f 66 20 61 74 74 72 69 62 75 74 65 73 20 61 6e pared.as.tuples.of.attributes.an
3420 79 6d 6f 72 65 2c 20 62 75 74 20 75 73 69 6e 67 20 61 0a 20 20 20 20 20 20 20 62 69 67 20 60 60 ymore,.but.using.a........big.``
3440 61 6e 64 60 60 20 63 6f 6e 64 69 74 69 6f 6e 2e 20 54 68 69 73 20 69 73 20 66 61 73 74 65 72 20 and``.condition..This.is.faster.
3460 61 6e 64 20 68 61 73 20 6d 6f 72 65 20 63 6f 72 72 65 63 74 20 62 65 68 61 76 69 6f 72 20 66 6f and.has.more.correct.behavior.fo
3480 72 0a 20 20 20 20 20 20 20 75 6e 63 6f 6d 70 61 72 61 62 6c 65 20 76 61 6c 75 65 73 20 6c 69 6b r........uncomparable.values.lik
34a0 65 20 60 6d 61 74 68 2e 6e 61 6e 60 2e 0a 20 20 20 20 2e 2e 20 76 65 72 73 69 6f 6e 61 64 64 65 e.`math.nan`.........versionadde
34c0 64 3a 3a 20 32 34 2e 31 2e 30 0a 20 20 20 20 20 20 20 49 66 20 61 20 63 6c 61 73 73 20 68 61 73 d::.24.1.0........If.a.class.has
34e0 20 61 6e 20 2a 69 6e 68 65 72 69 74 65 64 2a 20 63 6c 61 73 73 6d 65 74 68 6f 64 20 63 61 6c 6c .an.*inherited*.classmethod.call
3500 65 64 0a 20 20 20 20 20 20 20 60 60 5f 5f 61 74 74 72 73 5f 69 6e 69 74 5f 73 75 62 63 6c 61 73 ed........``__attrs_init_subclas
3520 73 5f 5f 60 60 2c 20 69 74 20 69 73 20 65 78 65 63 75 74 65 64 20 61 66 74 65 72 20 74 68 65 20 s__``,.it.is.executed.after.the.
3540 63 6c 61 73 73 20 69 73 20 63 72 65 61 74 65 64 2e 0a 20 20 20 20 2e 2e 20 64 65 70 72 65 63 61 class.is.created.........depreca
3560 74 65 64 3a 3a 20 32 34 2e 31 2e 30 20 2a 68 61 73 68 2a 20 69 73 20 64 65 70 72 65 63 61 74 65 ted::.24.1.0.*hash*.is.deprecate
3580 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 2a 75 6e 73 61 66 65 5f 68 61 73 68 2a 2e 0a 20 20 20 d.in.favor.of.*unsafe_hash*.....
35a0 20 2e 2e 20 76 65 72 73 69 6f 6e 61 64 64 65 64 3a 3a 20 32 34 2e 33 2e 30 0a 20 20 20 20 20 20 ....versionadded::.24.3.0.......
35c0 20 55 6e 6c 65 73 73 20 61 6c 72 65 61 64 79 20 70 72 65 73 65 6e 74 2c 20 61 20 60 60 5f 5f 72 .Unless.already.present,.a.``__r
35e0 65 70 6c 61 63 65 5f 5f 60 60 20 6d 65 74 68 6f 64 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c eplace__``.method.is.automatical
3600 6c 79 0a 20 20 20 20 20 20 20 63 72 65 61 74 65 64 20 66 6f 72 20 60 63 6f 70 79 2e 72 65 70 6c ly........created.for.`copy.repl
3620 61 63 65 60 20 28 50 79 74 68 6f 6e 20 33 2e 31 33 2b 20 6f 6e 6c 79 29 2e 0a 0a 20 20 20 20 2e ace`.(Python.3.13+.only)........
3640 2e 20 6e 6f 74 65 3a 3a 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 6d 61 69 6e 20 64 69 66 66 65 ..note::..........The.main.diffe
3660 72 65 6e 63 65 73 20 74 6f 20 74 68 65 20 63 6c 61 73 73 69 63 20 60 61 74 74 72 2e 73 60 20 61 rences.to.the.classic.`attr.s`.a
3680 72 65 3a 0a 0a 20 20 20 20 20 20 20 20 2d 20 41 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 64 65 74 re:..........-.Automatically.det
36a0 65 63 74 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 2a 61 75 74 6f 5f 61 74 74 72 69 62 73 ect.whether.or.not.*auto_attribs
36c0 2a 20 73 68 6f 75 6c 64 20 62 65 20 60 54 72 75 65 60 0a 20 20 20 20 20 20 20 20 20 20 28 63 2e *.should.be.`True`...........(c.
36e0 66 2e 20 2a 61 75 74 6f 5f 61 74 74 72 69 62 73 2a 20 70 61 72 61 6d 65 74 65 72 29 2e 0a 20 20 f..*auto_attribs*.parameter)....
3700 20 20 20 20 20 20 2d 20 43 6f 6e 76 65 72 74 65 72 73 20 61 6e 64 20 76 61 6c 69 64 61 74 6f 72 ......-.Converters.and.validator
3720 73 20 72 75 6e 20 77 68 65 6e 20 61 74 74 72 69 62 75 74 65 73 20 61 72 65 20 73 65 74 20 62 79 s.run.when.attributes.are.set.by
3740 20 64 65 66 61 75 6c 74 20 2d 2d 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 2a 66 72 6f 7a 65 6e .default.--...........if.*frozen
3760 2a 20 69 73 20 60 46 61 6c 73 65 60 2e 0a 20 20 20 20 20 20 20 20 2d 20 2a 73 6c 6f 74 73 3d 54 *.is.`False`..........-.*slots=T
3780 72 75 65 2a 0a 0a 20 20 20 20 20 20 20 20 20 20 55 73 75 61 6c 6c 79 2c 20 74 68 69 73 20 68 61 rue*............Usually,.this.ha
37a0 73 20 6f 6e 6c 79 20 75 70 73 69 64 65 73 20 61 6e 64 20 66 65 77 20 76 69 73 69 62 6c 65 20 65 s.only.upsides.and.few.visible.e
37c0 66 66 65 63 74 73 20 69 6e 20 65 76 65 72 79 64 61 79 0a 20 20 20 20 20 20 20 20 20 20 70 72 6f ffects.in.everyday...........pro
37e0 67 72 61 6d 6d 69 6e 67 2e 20 42 75 74 20 69 74 20 2a 63 61 6e 2a 20 6c 65 61 64 20 74 6f 20 73 gramming..But.it.*can*.lead.to.s
3800 6f 6d 65 20 73 75 72 70 72 69 73 69 6e 67 20 62 65 68 61 76 69 6f 72 73 2c 20 73 6f 0a 20 20 20 ome.surprising.behaviors,.so....
3820 20 20 20 20 20 20 20 70 6c 65 61 73 65 20 6d 61 6b 65 20 73 75 72 65 20 74 6f 20 72 65 61 64 20 .......please.make.sure.to.read.
3840 3a 74 65 72 6d 3a 60 73 6c 6f 74 74 65 64 20 63 6c 61 73 73 65 73 60 2e 0a 0a 20 20 20 20 20 20 :term:`slotted.classes`.........
3860 20 20 2d 20 2a 61 75 74 6f 5f 65 78 63 3d 54 72 75 65 2a 0a 20 20 20 20 20 20 20 20 2d 20 2a 61 ..-.*auto_exc=True*.........-.*a
3880 75 74 6f 5f 64 65 74 65 63 74 3d 54 72 75 65 2a 0a 20 20 20 20 20 20 20 20 2d 20 2a 6f 72 64 65 uto_detect=True*.........-.*orde
38a0 72 3d 46 61 6c 73 65 2a 0a 20 20 20 20 20 20 20 20 2d 20 53 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 r=False*.........-.Some.options.
38c0 74 68 61 74 20 77 65 72 65 20 6f 6e 6c 79 20 72 65 6c 65 76 61 6e 74 20 6f 6e 20 50 79 74 68 6f that.were.only.relevant.on.Pytho
38e0 6e 20 32 20 6f 72 20 77 65 72 65 20 6b 65 70 74 20 61 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 n.2.or.were.kept.around.........
3900 20 20 66 6f 72 20 62 61 63 6b 77 61 72 64 73 2d 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 68 61 ..for.backwards-compatibility.ha
3920 76 65 20 62 65 65 6e 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 20 63 02 00 00 00 00 00 00 00 00 ve.been.removed.......c.........
3940 00 00 00 06 00 00 00 13 00 00 00 f3 9a 00 00 00 95 13 97 00 74 01 00 00 00 00 00 00 00 00 64 18 ....................t.........d.
3960 69 00 64 01 7c 00 93 01 64 02 89 12 93 01 64 03 89 0f 93 01 64 04 89 09 93 01 64 05 89 13 93 01 i.d.|...d.....d.....d.....d.....
3980 64 06 89 0a 93 01 64 07 89 10 93 01 64 08 89 07 93 01 64 09 89 14 93 01 64 0a 89 11 93 01 64 0b d.....d.....d.....d.....d.....d.
39a0 7c 01 93 01 64 0c 89 0b 93 01 64 0d 89 04 93 01 64 0e 89 03 93 01 64 0f 89 05 93 01 64 10 89 0e |...d.....d.....d.....d.....d...
39c0 93 01 64 11 89 02 93 01 64 12 64 13 93 01 64 14 89 08 93 01 64 15 89 0d 93 01 64 16 89 06 93 01 ..d.....d.d...d.....d.....d.....
39e0 64 17 89 0c 93 01 8e 01 53 00 29 19 4e da 09 6d 61 79 62 65 5f 63 6c 73 72 0e 00 00 00 72 0f 00 d.......S.).N..maybe_clsr....r..
3a00 00 00 72 11 00 00 00 72 10 00 00 00 72 12 00 00 00 72 13 00 00 00 72 14 00 00 00 72 15 00 00 00 ..r....r....r....r....r....r....
3a20 72 16 00 00 00 72 17 00 00 00 72 18 00 00 00 72 19 00 00 00 72 1a 00 00 00 72 1b 00 00 00 72 1c r....r....r....r....r....r....r.
3a40 00 00 00 72 1d 00 00 00 da 0e 63 6f 6c 6c 65 63 74 5f 62 79 5f 6d 72 6f 54 72 1e 00 00 00 72 1f ...r......collect_by_mroTr....r.
3a60 00 00 00 72 20 00 00 00 72 21 00 00 00 a9 00 29 01 72 0c 00 00 00 29 15 da 03 63 6c 73 72 17 00 ...r....r!.....).r....)...clsr..
3a80 00 00 72 1d 00 00 00 72 1a 00 00 00 72 19 00 00 00 72 1b 00 00 00 72 20 00 00 00 72 14 00 00 00 ..r....r....r....r....r....r....
3aa0 72 1e 00 00 00 72 11 00 00 00 72 12 00 00 00 72 18 00 00 00 72 21 00 00 00 72 1f 00 00 00 72 1c r....r....r....r....r!...r....r.
3ac0 00 00 00 72 0f 00 00 00 72 13 00 00 00 72 16 00 00 00 72 0e 00 00 00 72 10 00 00 00 72 15 00 00 ...r....r....r....r....r....r...
3ae0 00 73 15 00 00 00 20 20 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 fa 55 2f 68 6f .s..........................U/ho
3b00 6d 65 2f 62 6c 61 63 6b 68 61 6f 2f 75 69 75 63 2d 63 6f 75 72 73 65 2d 67 72 61 70 68 2f 2e 76 me/blackhao/uiuc-course-graph/.v
3b20 65 6e 76 2f 6c 69 62 2f 70 79 74 68 6f 6e 33 2e 31 32 2f 73 69 74 65 2d 70 61 63 6b 61 67 65 73 env/lib/python3.12/site-packages
3b40 2f 61 74 74 72 2f 5f 6e 65 78 74 5f 67 65 6e 2e 70 79 da 05 64 6f 5f 69 74 7a 15 64 65 66 69 6e /attr/_next_gen.py..do_itz.defin
3b60 65 2e 3c 6c 6f 63 61 6c 73 3e 2e 64 6f 5f 69 74 59 01 00 00 73 e8 00 00 00 f8 80 00 dc 0f 14 f2 e.<locals>.do_itY...s...........
3b80 00 17 10 0a d9 16 19 f0 03 17 10 0a e1 12 17 f0 05 17 10 0a f1 06 00 12 16 f0 07 17 10 0a f1 08 ................................
3ba0 00 12 16 f0 09 17 10 0a f1 0a 00 19 24 f0 0b 17 10 0a f1 0c 00 12 16 f0 0d 17 10 0a f1 0e 00 13 ............$...................
3bc0 18 f0 0f 17 10 0a f1 10 00 14 1a f0 11 17 10 0a f1 12 00 1a 26 f0 13 17 10 0a f1 14 00 11 14 f0 ....................&...........
3be0 15 17 10 0a f1 16 00 1a 26 f0 17 17 10 0a f1 18 00 15 1c f0 19 17 10 0a f1 1a 00 18 22 f0 1b 17 ........&..................."...
3c00 10 0a f1 1c 00 16 1e f0 1d 17 10 0a f1 1e 00 10 12 f0 1f 17 10 0a f1 20 00 13 18 f0 21 17 10 0a ............................!...
3c20 f1 22 00 19 24 f0 23 17 10 0a f1 24 00 1c 20 f0 25 17 10 0a f1 26 00 1f 30 f0 27 17 10 0a f1 28 ."..$.#....$....%....&..0.'....(
3c40 00 18 22 f0 29 17 10 0a f1 2a 00 1f 30 f0 2b 17 10 0a f1 2c 00 18 22 f0 2d 17 10 0a f0 00 17 09 ..".)....*..0.+....,..".-.......
3c60 0a f3 00 00 00 00 63 01 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 13 00 00 00 f3 26 01 00 00 ......c.....................&...
3c80 95 04 97 00 89 07 64 01 74 00 00 00 00 00 00 00 00 00 6a 02 00 00 00 00 00 00 00 00 00 00 00 00 ......d.t.........j.............
3ca0 00 00 00 00 00 00 66 02 76 01 7d 01 89 06 64 02 75 00 72 08 89 07 80 06 74 04 00 00 00 00 00 00 ......f.v.}...d.u.r.....t.......
3cc0 00 00 8a 07 7c 00 6a 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 44 00 5d 35 00 00 ....|.j...................D.]5..
3ce0 7d 02 7c 02 6a 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 74 0a 00 00 00 00 00 00 }.|.j...................t.......
3d00 00 00 75 00 73 01 8c 16 7c 01 72 0d 64 03 7d 03 74 0d 00 00 00 00 00 00 00 00 7c 03 ab 01 00 00 ..u.s...|.r.d.}.t.........|.....
3d20 00 00 00 00 82 01 74 00 00 00 00 00 00 00 00 00 6a 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......t.........j...............
3d40 00 00 00 00 8a 07 01 00 6e 01 04 00 89 04 81 09 02 00 89 05 7c 00 89 04 ab 02 00 00 00 00 00 00 ........n...........|...........
3d60 53 00 09 00 02 00 89 05 7c 00 64 04 ab 02 00 00 00 00 00 00 53 00 23 00 74 0e 00 00 00 00 00 00 S.......|.d.........S.#.t.......
3d80 00 00 24 00 72 0c 01 00 02 00 89 05 7c 00 64 02 ab 02 00 00 00 00 00 00 63 02 59 00 53 00 77 00 ..$.r.......|.d.........c.Y.S.w.
3da0 78 03 59 00 77 01 29 05 7a 97 0a 20 20 20 20 20 20 20 20 4d 61 6b 69 6e 67 20 74 68 69 73 20 61 x.Y.w.).z..........Making.this.a
3dc0 20 77 72 61 70 70 65 72 20 65 6e 73 75 72 65 73 20 74 68 69 73 20 63 6f 64 65 20 72 75 6e 73 20 .wrapper.ensures.this.code.runs.
3de0 64 75 72 69 6e 67 20 63 6c 61 73 73 20 63 72 65 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 during.class.creation...........
3e00 57 65 20 61 6c 73 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 66 72 6f 7a 65 6e 2d 6e 65 73 73 20 We.also.ensure.that.frozen-ness.
3e20 6f 66 20 63 6c 61 73 73 65 73 20 69 73 20 69 6e 68 65 72 69 74 65 64 2e 0a 20 20 20 20 20 20 20 of.classes.is.inherited.........
3e40 20 4e 46 7a 40 46 72 6f 7a 65 6e 20 63 6c 61 73 73 65 73 20 63 61 6e 27 74 20 75 73 65 20 6f 6e .NFz@Frozen.classes.can't.use.on
3e60 5f 73 65 74 61 74 74 72 20 28 66 72 6f 7a 65 6e 2d 6e 65 73 73 20 77 61 73 20 69 6e 68 65 72 69 _setattr.(frozen-ness.was.inheri
3e80 74 65 64 29 2e 54 29 08 72 05 00 00 00 da 05 4e 4f 5f 4f 50 72 08 00 00 00 da 09 5f 5f 62 61 73 ted).T).r......NO_OPr......__bas
3ea0 65 73 5f 5f da 0b 5f 5f 73 65 74 61 74 74 72 5f 5f 72 0a 00 00 00 da 0a 56 61 6c 75 65 45 72 72 es__..__setattr__r......ValueErr
3ec0 6f 72 72 0d 00 00 00 29 08 72 27 00 00 00 da 0e 68 61 64 5f 6f 6e 5f 73 65 74 61 74 74 72 da 08 orr....).r'.....had_on_setattr..
3ee0 62 61 73 65 5f 63 6c 73 da 03 6d 73 67 72 17 00 00 00 72 29 00 00 00 72 14 00 00 00 72 1f 00 00 base_cls..msgr....r)...r....r...
3f00 00 73 08 00 00 00 20 20 20 20 80 80 80 80 72 28 00 00 00 da 04 77 72 61 70 7a 14 64 65 66 69 6e .s............r(.....wrapz.defin
3f20 65 2e 3c 6c 6f 63 61 6c 73 3e 2e 77 72 61 70 73 01 00 00 73 b0 00 00 00 f8 80 00 f0 10 00 1a 24 e.<locals>.wraps...s...........$
3f40 a8 44 b4 27 b7 2d b1 2d d0 2b 40 d0 19 40 88 0e f0 06 00 0c 12 90 55 89 3f 98 7a d0 1f 31 dc 19 .D.'.-.-.+@..@........U.?.z..1..
3f60 2c 88 4a f0 08 00 19 1c 9f 0d 99 0d f2 00 07 09 16 88 48 d8 0f 17 d7 0f 23 d1 0f 23 d4 27 37 d2 ,.J...............H.....#..#.'7.
3f80 0f 37 d9 13 21 d8 1a 5c 90 43 dc 1a 24 a0 53 9b 2f d0 14 29 e4 1d 24 9f 5d 99 5d 90 0a d9 10 15 .7..!..\.C..$.S./..)..$.].].....
3fa0 f0 0f 07 09 16 f0 12 00 0c 18 d0 0b 23 d9 13 18 98 13 98 6c d3 13 2b d0 0c 2b f0 04 03 09 25 d9 ............#......l..+..+....%.
3fc0 13 18 98 13 98 64 d3 13 23 d0 0c 23 f8 dc 0f 28 f2 00 01 09 25 d9 13 18 98 13 98 65 d3 13 24 d2 .....d..#..#...(....%......e..$.
3fe0 0c 24 f0 03 01 09 25 fa 73 12 00 00 00 c1 32 08 41 3b 00 c1 3b 12 42 10 03 c2 0f 01 42 10 03 72 .$....%.s.....2.A;..;.B.....B..r
4000 26 00 00 00 29 17 72 24 00 00 00 72 0e 00 00 00 72 0f 00 00 00 72 10 00 00 00 72 11 00 00 00 72 &...).r$...r....r....r....r....r
4020 12 00 00 00 72 13 00 00 00 72 14 00 00 00 72 15 00 00 00 72 16 00 00 00 72 17 00 00 00 72 18 00 ....r....r....r....r....r....r..
4040 00 00 72 19 00 00 00 72 1a 00 00 00 72 1b 00 00 00 72 1c 00 00 00 72 1d 00 00 00 72 1e 00 00 00 ..r....r....r....r....r....r....
4060 72 1f 00 00 00 72 20 00 00 00 72 21 00 00 00 72 33 00 00 00 72 29 00 00 00 73 17 00 00 00 20 60 r....r....r!...r3...r)...s.....`
4080 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 20 40 72 28 00 00 00 da 06 64 65 66 69 ```````````````````.@r(.....defi
40a0 6e 65 72 34 00 00 00 17 00 00 00 73 32 00 00 00 ff ff fc 80 00 f7 44 0a 18 05 0a f7 00 18 05 0a ner4.......s2.........D.........
40c0 f6 00 18 05 0a f7 34 1f 05 25 f0 46 01 00 08 11 d0 07 18 d8 0f 13 88 0b e1 0b 0f 90 09 8b 3f d0 ......4..%.F..................?.
40e0 04 1a 72 2a 00 00 00 29 02 72 14 00 00 00 72 1f 00 00 00 a9 0e da 07 64 65 66 61 75 6c 74 da 09 ..r*...).r....r........default..
4100 76 61 6c 69 64 61 74 6f 72 72 0f 00 00 00 72 11 00 00 00 72 12 00 00 00 da 08 6d 65 74 61 64 61 validatorr....r....r......metada
4120 74 61 da 04 74 79 70 65 da 09 63 6f 6e 76 65 72 74 65 72 da 07 66 61 63 74 6f 72 79 72 18 00 00 ta..type..converter..factoryr...
4140 00 72 1b 00 00 00 72 1c 00 00 00 72 1f 00 00 00 da 05 61 6c 69 61 73 63 00 00 00 00 00 00 00 00 .r....r....r......aliasc........
4160 0e 00 00 00 10 00 00 00 03 00 00 00 f3 34 00 00 00 97 00 74 01 00 00 00 00 00 00 00 00 7c 00 7c .............4.....t.........|.|
4180 01 7c 02 7c 03 7c 04 7c 05 7c 06 7c 07 7c 08 7c 09 7c 0a 7c 0b 7c 0c 7c 0d ac 01 ab 0e 00 00 00 .|.|.|.|.|.|.|.|.|.|.|.|........
41a0 00 00 00 53 00 29 02 61 6d 18 00 00 0a 20 20 20 20 43 72 65 61 74 65 20 61 20 6e 65 77 20 3a 74 ...S.).am........Create.a.new.:t
41c0 65 72 6d 3a 60 66 69 65 6c 64 60 20 2f 20 3a 74 65 72 6d 3a 60 61 74 74 72 69 62 75 74 65 60 20 erm:`field`./.:term:`attribute`.
41e0 6f 6e 20 61 20 63 6c 61 73 73 2e 0a 0a 20 20 20 20 2e 2e 20 20 77 61 72 6e 69 6e 67 3a 3a 0a 0a on.a.class...........warning::..
4200 20 20 20 20 20 20 20 20 44 6f 65 73 20 2a 2a 6e 6f 74 68 69 6e 67 2a 2a 20 75 6e 6c 65 73 73 20 ........Does.**nothing**.unless.
4220 74 68 65 20 63 6c 61 73 73 20 69 73 20 61 6c 73 6f 20 64 65 63 6f 72 61 74 65 64 20 77 69 74 68 the.class.is.also.decorated.with
4240 0a 20 20 20 20 20 20 20 20 60 61 74 74 72 73 2e 64 65 66 69 6e 65 60 20 28 6f 72 20 73 69 6d 69 .........`attrs.define`.(or.simi
4260 6c 61 72 29 21 0a 0a 20 20 20 20 41 72 67 73 3a 0a 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 lar)!......Args:.........default
4280 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 76 61 6c 75 65 20 74 68 61 74 20 69 73 20 75 73 :.............A.value.that.is.us
42a0 65 64 20 69 66 20 61 6e 20 2a 61 74 74 72 73 2a 2d 67 65 6e 65 72 61 74 65 64 20 60 60 5f 5f 69 ed.if.an.*attrs*-generated.``__i
42c0 6e 69 74 5f 5f 60 60 20 69 73 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 nit__``.is.used.............and.
42e0 6e 6f 20 76 61 6c 75 65 20 69 73 20 70 61 73 73 65 64 20 77 68 69 6c 65 20 69 6e 73 74 61 6e 74 no.value.is.passed.while.instant
4300 69 61 74 69 6e 67 20 6f 72 20 74 68 65 20 61 74 74 72 69 62 75 74 65 20 69 73 0a 20 20 20 20 20 iating.or.the.attribute.is......
4320 20 20 20 20 20 20 20 65 78 63 6c 75 64 65 64 20 75 73 69 6e 67 20 60 60 69 6e 69 74 3d 46 61 6c .......excluded.using.``init=Fal
4340 73 65 60 60 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 se``...............If.the.value.
4360 69 73 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 60 61 74 74 72 73 2e 46 61 63 74 6f 72 79 is.an.instance.of.`attrs.Factory
4380 60 2c 20 69 74 73 20 63 61 6c 6c 61 62 6c 65 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 `,.its.callable.will............
43a0 20 62 65 20 75 73 65 64 20 74 6f 20 63 6f 6e 73 74 72 75 63 74 20 61 20 6e 65 77 20 76 61 6c 75 .be.used.to.construct.a.new.valu
43c0 65 20 28 75 73 65 66 75 6c 20 66 6f 72 20 6d 75 74 61 62 6c 65 20 64 61 74 61 20 74 79 70 65 73 e.(useful.for.mutable.data.types
43e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 6b 65 20 6c 69 73 74 73 20 6f 72 20 64 69 63 74 73 .............like.lists.or.dicts
4400 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 61 20 64 65 66 61 75 6c 74 20 69 73 20 )...............If.a.default.is.
4420 6e 6f 74 20 73 65 74 20 28 6f 72 20 73 65 74 20 6d 61 6e 75 61 6c 6c 79 20 74 6f 20 60 61 74 74 not.set.(or.set.manually.to.`att
4440 72 73 2e 4e 4f 54 48 49 4e 47 60 29 2c 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 rs.NOTHING`),.a.............valu
4460 65 20 2a 6d 75 73 74 2a 20 62 65 20 73 75 70 70 6c 69 65 64 20 77 68 65 6e 20 69 6e 73 74 61 6e e.*must*.be.supplied.when.instan
4480 74 69 61 74 69 6e 67 3b 20 6f 74 68 65 72 77 69 73 65 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 tiating;.otherwise.a............
44a0 20 60 54 79 70 65 45 72 72 6f 72 60 20 77 69 6c 6c 20 62 65 20 72 61 69 73 65 64 2e 0a 0a 20 20 .`TypeError`.will.be.raised.....
44c0 20 20 20 20 20 20 20 20 20 20 2e 2e 20 73 65 65 61 6c 73 6f 3a 3a 20 60 64 65 66 61 75 6c 74 73 .............seealso::.`defaults
44e0 60 0a 0a 20 20 20 20 20 20 20 20 66 61 63 74 6f 72 79 20 28 7e 74 79 70 69 6e 67 2e 43 61 6c 6c `..........factory.(~typing.Call
4500 61 62 6c 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 79 6e 74 61 63 74 69 63 20 73 75 67 able):.............Syntactic.sug
4520 61 72 20 66 6f 72 20 60 60 64 65 66 61 75 6c 74 3d 61 74 74 72 2e 46 61 63 74 6f 72 79 28 66 61 ar.for.``default=attr.Factory(fa
4540 63 74 6f 72 79 29 60 60 2e 0a 0a 20 20 20 20 20 20 20 20 76 61 6c 69 64 61 74 6f 72 20 28 7e 74 ctory)``...........validator.(~t
4560 79 70 69 6e 67 2e 43 61 6c 6c 61 62 6c 65 20 7c 20 6c 69 73 74 5b 7e 74 79 70 69 6e 67 2e 43 61 yping.Callable.|.list[~typing.Ca
4580 6c 6c 61 62 6c 65 5d 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 61 6c 6c 61 62 6c 65 20 74 llable]):.............Callable.t
45a0 68 61 74 20 69 73 20 63 61 6c 6c 65 64 20 62 79 20 2a 61 74 74 72 73 2a 2d 67 65 6e 65 72 61 74 hat.is.called.by.*attrs*-generat
45c0 65 64 20 60 60 5f 5f 69 6e 69 74 5f 5f 60 60 20 6d 65 74 68 6f 64 73 0a 20 20 20 20 20 20 20 20 ed.``__init__``.methods.........
45e0 20 20 20 20 61 66 74 65 72 20 74 68 65 20 69 6e 73 74 61 6e 63 65 20 68 61 73 20 62 65 65 6e 20 ....after.the.instance.has.been.
4600 69 6e 69 74 69 61 6c 69 7a 65 64 2e 20 20 54 68 65 79 20 72 65 63 65 69 76 65 20 74 68 65 0a 20 initialized...They.receive.the..
4620 20 20 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6e 73 74 61 6e 63 65 2c ...........initialized.instance,
4640 20 74 68 65 20 3a 66 75 6e 63 3a 60 7e 61 74 74 72 73 2e 41 74 74 72 69 62 75 74 65 60 2c 20 61 .the.:func:`~attrs.Attribute`,.a
4660 6e 64 20 74 68 65 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e nd.the.passed.............value.
4680 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 ..............The.return.value.i
46a0 73 20 2a 6e 6f 74 2a 20 69 6e 73 70 65 63 74 65 64 20 73 6f 20 74 68 65 20 76 61 6c 69 64 61 74 s.*not*.inspected.so.the.validat
46c0 6f 72 20 68 61 73 20 74 6f 20 74 68 72 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 20 65 or.has.to.throw.............an.e
46e0 78 63 65 70 74 69 6f 6e 20 69 74 73 65 6c 66 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 xception.itself...............If
4700 20 61 20 60 6c 69 73 74 60 20 69 73 20 70 61 73 73 65 64 2c 20 69 74 73 20 69 74 65 6d 73 20 61 .a.`list`.is.passed,.its.items.a
4720 72 65 20 74 72 65 61 74 65 64 20 61 73 20 76 61 6c 69 64 61 74 6f 72 73 20 61 6e 64 20 6d 75 73 re.treated.as.validators.and.mus
4740 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 6c 20 70 61 73 73 2e 0a 0a 20 20 20 20 20 20 20 t.............all.pass..........
4760 20 20 20 20 20 56 61 6c 69 64 61 74 6f 72 73 20 63 61 6e 20 62 65 20 67 6c 6f 62 61 6c 6c 79 20 .....Validators.can.be.globally.
4780 64 69 73 61 62 6c 65 64 20 61 6e 64 20 72 65 2d 65 6e 61 62 6c 65 64 20 75 73 69 6e 67 0a 20 20 disabled.and.re-enabled.using...
47a0 20 20 20 20 20 20 20 20 20 20 60 61 74 74 72 73 2e 76 61 6c 69 64 61 74 6f 72 73 2e 67 65 74 5f ..........`attrs.validators.get_
47c0 64 69 73 61 62 6c 65 64 60 20 2f 20 60 61 74 74 72 73 2e 76 61 6c 69 64 61 74 6f 72 73 2e 73 65 disabled`./.`attrs.validators.se
47e0 74 5f 64 69 73 61 62 6c 65 64 60 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 76 61 t_disabled`...............The.va
4800 6c 69 64 61 74 6f 72 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 73 65 74 20 75 73 69 6e 67 20 64 65 lidator.can.also.be.set.using.de
4820 63 6f 72 61 74 6f 72 20 6e 6f 74 61 74 69 6f 6e 20 61 73 20 73 68 6f 77 6e 0a 20 20 20 20 20 20 corator.notation.as.shown.......
4840 20 20 20 20 20 20 62 65 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 20 73 65 65 ......below..................see
4860 61 6c 73 6f 3a 3a 20 3a 72 65 66 3a 60 76 61 6c 69 64 61 74 6f 72 73 60 0a 0a 20 20 20 20 20 20 also::.:ref:`validators`........
4880 20 20 72 65 70 72 20 28 62 6f 6f 6c 20 7c 20 7e 74 79 70 69 6e 67 2e 43 61 6c 6c 61 62 6c 65 29 ..repr.(bool.|.~typing.Callable)
48a0 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 63 6c 75 64 65 20 74 68 69 73 20 61 74 74 72 69 :.............Include.this.attri
48c0 62 75 74 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 60 60 5f 5f 72 65 70 72 5f 5f bute.in.the.generated.``__repr__
48e0 60 60 20 6d 65 74 68 6f 64 2e 20 49 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 72 75 65 2c 20 ``.method..If.............True,.
4900 69 6e 63 6c 75 64 65 20 74 68 65 20 61 74 74 72 69 62 75 74 65 3b 20 69 66 20 46 61 6c 73 65 2c include.the.attribute;.if.False,
4920 20 6f 6d 69 74 20 69 74 2e 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 65 0a 20 20 20 20 20 20 .omit.it..By.default,.the.......
4940 20 20 20 20 20 20 62 75 69 6c 74 2d 69 6e 20 60 60 72 65 70 72 28 29 60 60 20 66 75 6e 63 74 69 ......built-in.``repr()``.functi
4960 6f 6e 20 69 73 20 75 73 65 64 2e 20 54 6f 20 6f 76 65 72 72 69 64 65 20 68 6f 77 20 74 68 65 20 on.is.used..To.override.how.the.
4980 61 74 74 72 69 62 75 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 66 attribute.............value.is.f
49a0 6f 72 6d 61 74 74 65 64 2c 20 70 61 73 73 20 61 20 60 60 63 61 6c 6c 61 62 6c 65 60 60 20 74 68 ormatted,.pass.a.``callable``.th
49c0 61 74 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 at.takes.a.single.value.........
49e0 20 20 20 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 73 74 72 69 6e 67 2e 20 4e 6f 74 65 20 74 ....and.returns.a.string..Note.t
4a00 68 61 74 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 73 74 72 69 6e 67 20 69 73 20 75 73 65 64 hat.the.resulting.string.is.used
4a20 20 61 73 2d 69 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 6d 65 61 6e 73 20 .as-is,.............which.means.
4a40 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 64 69 72 65 63 74 6c 79 20 2a 69 6e 73 74 65 61 it.will.be.used.directly.*instea
4a60 64 2a 20 6f 66 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 60 72 65 70 72 d*.of.calling.............``repr
4a80 28 29 60 60 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2e 0a 0a 20 20 20 20 20 20 20 20 65 71 20 ()``.(the.default)...........eq.
4aa0 28 62 6f 6f 6c 20 7c 20 7e 74 79 70 69 6e 67 2e 43 61 6c 6c 61 62 6c 65 29 3a 0a 20 20 20 20 20 (bool.|.~typing.Callable):......
4ac0 20 20 20 20 20 20 20 49 66 20 54 72 75 65 20 28 64 65 66 61 75 6c 74 29 2c 20 69 6e 63 6c 75 64 .......If.True.(default),.includ
4ae0 65 20 74 68 69 73 20 61 74 74 72 69 62 75 74 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 e.this.attribute.in.the.generate
4b00 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 60 5f 5f 65 71 5f 5f 60 60 20 61 6e 64 20 60 60 5f d.............``__eq__``.and.``_
4b20 5f 6e 65 5f 5f 60 60 20 6d 65 74 68 6f 64 73 20 74 68 61 74 20 63 68 65 63 6b 20 74 77 6f 20 69 _ne__``.methods.that.check.two.i
4b40 6e 73 74 61 6e 63 65 73 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 71 75 61 6c 69 74 nstances.for.............equalit
4b60 79 2e 20 54 6f 20 6f 76 65 72 72 69 64 65 20 68 6f 77 20 74 68 65 20 61 74 74 72 69 62 75 74 65 y..To.override.how.the.attribute
4b80 20 76 61 6c 75 65 20 69 73 20 63 6f 6d 70 61 72 65 64 2c 20 70 61 73 73 20 61 0a 20 20 20 20 20 .value.is.compared,.pass.a......
4ba0 20 20 20 20 20 20 20 63 61 6c 6c 61 62 6c 65 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 73 69 6e .......callable.that.takes.a.sin
4bc0 67 6c 65 20 76 61 6c 75 65 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20 gle.value.and.returns.the.value.
4be0 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 61 72 65 64 2e 0a 0a 20 20 20 to.be.............compared......
4c00 20 20 20 20 20 20 20 20 20 2e 2e 20 73 65 65 61 6c 73 6f 3a 3a 20 60 63 6f 6d 70 61 72 69 73 6f ............seealso::.`compariso
4c20 6e 60 0a 0a 20 20 20 20 20 20 20 20 6f 72 64 65 72 20 28 62 6f 6f 6c 20 7c 20 7e 74 79 70 69 6e n`..........order.(bool.|.~typin
4c40 67 2e 43 61 6c 6c 61 62 6c 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 54 72 75 65 g.Callable):.............If.True
4c60 20 28 64 65 66 61 75 6c 74 29 2c 20 69 6e 63 6c 75 64 65 20 74 68 69 73 20 61 74 74 72 69 62 75 .(default),.include.this.attribu
4c80 74 65 73 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 tes.in.the.generated............
4ca0 20 60 60 5f 5f 6c 74 5f 5f 60 60 2c 20 60 60 5f 5f 6c 65 5f 5f 60 60 2c 20 60 60 5f 5f 67 74 5f .``__lt__``,.``__le__``,.``__gt_
4cc0 5f 60 60 20 61 6e 64 20 60 60 5f 5f 67 65 5f 5f 60 60 20 6d 65 74 68 6f 64 73 2e 20 54 6f 0a 20 _``.and.``__ge__``.methods..To..
4ce0 20 20 20 20 20 20 20 20 20 20 20 6f 76 65 72 72 69 64 65 20 68 6f 77 20 74 68 65 20 61 74 74 72 ...........override.how.the.attr
4d00 69 62 75 74 65 20 76 61 6c 75 65 20 69 73 20 6f 72 64 65 72 65 64 2c 20 70 61 73 73 20 61 20 63 ibute.value.is.ordered,.pass.a.c
4d20 61 6c 6c 61 62 6c 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 61 6b 65 73 20 61 allable.that.............takes.a
4d40 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 .single.value.and.returns.the.va
4d60 6c 75 65 20 74 6f 20 62 65 20 6f 72 64 65 72 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 lue.to.be.ordered...............
4d80 2e 2e 20 73 65 65 61 6c 73 6f 3a 3a 20 60 63 6f 6d 70 61 72 69 73 6f 6e 60 0a 0a 20 20 20 20 20 ...seealso::.`comparison`.......
4da0 20 20 20 68 61 73 68 20 28 62 6f 6f 6c 20 7c 20 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 ...hash.(bool.|.None):..........
4dc0 20 20 20 49 6e 63 6c 75 64 65 20 74 68 69 73 20 61 74 74 72 69 62 75 74 65 20 69 6e 20 74 68 65 ...Include.this.attribute.in.the
4de0 20 67 65 6e 65 72 61 74 65 64 20 60 60 5f 5f 68 61 73 68 5f 5f 60 60 20 6d 65 74 68 6f 64 2e 20 .generated.``__hash__``.method..
4e00 20 49 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 6e 65 20 28 64 65 66 61 75 6c 74 29 2c 20 .If.............None.(default),.
4e20 6d 69 72 72 6f 72 20 2a 65 71 2a 27 73 20 76 61 6c 75 65 2e 20 20 54 68 69 73 20 69 73 20 74 68 mirror.*eq*'s.value...This.is.th
4e40 65 20 63 6f 72 72 65 63 74 20 62 65 68 61 76 69 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 e.correct.behavior.............a
4e60 63 63 6f 72 64 69 6e 67 20 74 68 65 20 50 79 74 68 6f 6e 20 73 70 65 63 2e 20 20 53 65 74 74 69 ccording.the.Python.spec...Setti
4e80 6e 67 20 74 68 69 73 20 76 61 6c 75 65 20 74 6f 20 61 6e 79 74 68 69 6e 67 20 65 6c 73 65 0a 20 ng.this.value.to.anything.else..
4ea0 20 20 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 4e 6f 6e 65 20 69 73 20 2a 64 69 73 63 6f 75 72 ...........than.None.is.*discour
4ec0 61 67 65 64 2a 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 20 73 65 65 61 6c 73 6f 3a 3a aged*..................seealso::
4ee0 20 60 68 61 73 68 69 6e 67 60 0a 0a 20 20 20 20 20 20 20 20 69 6e 69 74 20 28 62 6f 6f 6c 29 3a .`hashing`..........init.(bool):
4f00 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 63 6c 75 64 65 20 74 68 69 73 20 61 74 74 72 69 62 .............Include.this.attrib
4f20 75 74 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 60 60 5f 5f 69 6e 69 74 5f 5f 60 ute.in.the.generated.``__init__`
4f40 60 20 6d 65 74 68 6f 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 69 73 20 70 6f 73 `.method...............It.is.pos
4f60 73 69 62 6c 65 20 74 6f 20 73 65 74 20 74 68 69 73 20 74 6f 20 46 61 6c 73 65 20 61 6e 64 20 73 sible.to.set.this.to.False.and.s
4f80 65 74 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2e 20 49 6e 0a 20 20 20 20 20 20 20 20 20 et.a.default.value..In..........
4fa0 20 20 20 74 68 61 74 20 63 61 73 65 20 74 68 69 73 20 61 74 74 72 69 62 75 74 65 64 20 69 73 20 ...that.case.this.attributed.is.
4fc0 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 77 69 74 68 unconditionally.initialized.with
4fe0 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 64 65 66 61 75 .the.............specified.defau
5000 6c 74 20 76 61 6c 75 65 20 6f 72 20 66 61 63 74 6f 72 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 lt.value.or.factory.............
5020 20 20 2e 2e 20 73 65 65 61 6c 73 6f 3a 3a 20 60 69 6e 69 74 60 0a 0a 20 20 20 20 20 20 20 20 63 .....seealso::.`init`..........c
5040 6f 6e 76 65 72 74 65 72 20 28 74 79 70 69 6e 67 2e 43 61 6c 6c 61 62 6c 65 20 7c 20 43 6f 6e 76 onverter.(typing.Callable.|.Conv
5060 65 72 74 65 72 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 63 61 6c 6c 61 62 6c 65 20 74 erter):.............A.callable.t
5080 68 61 74 20 69 73 20 63 61 6c 6c 65 64 20 62 79 20 2a 61 74 74 72 73 2a 2d 67 65 6e 65 72 61 74 hat.is.called.by.*attrs*-generat
50a0 65 64 20 60 60 5f 5f 69 6e 69 74 5f 5f 60 60 20 6d 65 74 68 6f 64 73 0a 20 20 20 20 20 20 20 20 ed.``__init__``.methods.........
50c0 20 20 20 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 74 74 72 69 62 75 74 65 27 73 20 76 61 6c 75 65 ....to.convert.attribute's.value
50e0 20 74 6f 20 74 68 65 20 64 65 73 69 72 65 64 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 20 20 20 .to.the.desired.format..........
5100 20 20 20 20 20 49 66 20 61 20 76 61 6e 69 6c 6c 61 20 63 61 6c 6c 61 62 6c 65 20 69 73 20 70 61 .....If.a.vanilla.callable.is.pa
5120 73 73 65 64 2c 20 69 74 20 69 73 20 67 69 76 65 6e 20 74 68 65 20 70 61 73 73 65 64 2d 69 6e 20 ssed,.it.is.given.the.passed-in.
5140 76 61 6c 75 65 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 6e 6c 79 20 70 6f value.as.............the.only.po
5160 73 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 2e 20 49 74 20 69 73 20 70 6f 73 73 69 62 6c sitional.argument..It.is.possibl
5180 65 20 74 6f 20 72 65 63 65 69 76 65 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 e.to.receive.additional.........
51a0 20 20 20 20 61 72 67 75 6d 65 6e 74 73 20 62 79 20 77 72 61 70 70 69 6e 67 20 74 68 65 20 63 61 ....arguments.by.wrapping.the.ca
51c0 6c 6c 61 62 6c 65 20 69 6e 20 61 20 60 43 6f 6e 76 65 72 74 65 72 60 2e 0a 0a 20 20 20 20 20 20 llable.in.a.`Converter`.........
51e0 20 20 20 20 20 20 45 69 74 68 65 72 20 77 61 79 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 76 ......Either.way,.the.returned.v
5200 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 61 73 20 74 68 65 20 6e 65 77 20 76 61 6c alue.will.be.used.as.the.new.val
5220 75 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 74 74 72 69 62 75 74 65 2e ue.of.the.............attribute.
5240 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 62 65 66 6f 72 65 20 ..The.value.is.converted.before.
5260 62 65 69 6e 67 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 being.passed.to.the.............
5280 76 61 6c 69 64 61 74 6f 72 2c 20 69 66 20 61 6e 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 validator,.if.any...............
52a0 2e 2e 20 73 65 65 61 6c 73 6f 3a 3a 20 3a 72 65 66 3a 60 63 6f 6e 76 65 72 74 65 72 73 60 0a 0a ...seealso::.:ref:`converters`..
52c0 20 20 20 20 20 20 20 20 6d 65 74 61 64 61 74 61 20 28 64 69 63 74 20 7c 20 4e 6f 6e 65 29 3a 0a ........metadata.(dict.|.None):.
52e0 20 20 20 20 20 20 20 20 20 20 20 20 41 6e 20 61 72 62 69 74 72 61 72 79 20 6d 61 70 70 69 6e 67 ............An.arbitrary.mapping
5300 2c 20 74 6f 20 62 65 20 75 73 65 64 20 62 79 20 74 68 69 72 64 2d 70 61 72 74 79 20 63 6f 64 65 ,.to.be.used.by.third-party.code
5320 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 20 73 65 65 61 6c 73 6f 3a 3a 20 60 65 78 74 ..................seealso::.`ext
5340 65 6e 64 69 6e 67 2d 6d 65 74 61 64 61 74 61 60 2e 0a 0a 20 20 20 20 20 20 20 20 74 79 70 65 20 ending-metadata`...........type.
5360 28 74 79 70 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 (type):.............The.type.of.
5380 74 68 65 20 61 74 74 72 69 62 75 74 65 2e 20 4e 6f 77 61 64 61 79 73 2c 20 74 68 65 20 70 72 65 the.attribute..Nowadays,.the.pre
53a0 66 65 72 72 65 64 20 6d 65 74 68 6f 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 70 65 ferred.method.to.............spe
53c0 63 69 66 79 20 74 68 65 20 74 79 70 65 20 69 73 20 75 73 69 6e 67 20 61 20 76 61 72 69 61 62 6c cify.the.type.is.using.a.variabl
53e0 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 28 73 65 65 20 3a 70 65 70 3a 60 35 32 36 60 29 2e 0a 20 e.annotation.(see.:pep:`526`)...
5400 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 70 72 6f 76 ...........This.argument.is.prov
5420 69 64 65 64 20 66 6f 72 20 62 61 63 6b 77 61 72 64 73 2d 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 ided.for.backwards-compatibility
5440 20 61 6e 64 20 66 6f 72 20 75 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 20 .and.for.usage.............with.
5460 60 6d 61 6b 65 5f 63 6c 61 73 73 60 2e 20 52 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 `make_class`..Regardless.of.the.
5480 61 70 70 72 6f 61 63 68 20 75 73 65 64 2c 20 74 68 65 20 74 79 70 65 20 77 69 6c 6c 0a 20 20 20 approach.used,.the.type.will....
54a0 20 20 20 20 20 20 20 20 20 62 65 20 73 74 6f 72 65 64 20 6f 6e 20 60 60 41 74 74 72 69 62 75 74 .........be.stored.on.``Attribut
54c0 65 2e 74 79 70 65 60 60 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 6c 65 61 73 65 20 6e 6f e.type``...............Please.no
54e0 74 65 20 74 68 61 74 20 2a 61 74 74 72 73 2a 20 64 6f 65 73 6e 27 74 20 64 6f 20 61 6e 79 74 68 te.that.*attrs*.doesn't.do.anyth
5500 69 6e 67 20 77 69 74 68 20 74 68 69 73 20 6d 65 74 61 64 61 74 61 20 62 79 0a 20 20 20 20 20 20 ing.with.this.metadata.by.......
5520 20 20 20 20 20 20 69 74 73 65 6c 66 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 69 74 20 61 73 20 ......itself..You.can.use.it.as.
5540 70 61 72 74 20 6f 66 20 79 6f 75 72 20 6f 77 6e 20 63 6f 64 65 20 6f 72 20 66 6f 72 20 60 73 74 part.of.your.own.code.or.for.`st
5560 61 74 69 63 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 68 65 63 6b 69 6e 67 20 3c atic.type.............checking.<
5580 74 79 70 65 73 3e 60 2e 0a 0a 20 20 20 20 20 20 20 20 6b 77 5f 6f 6e 6c 79 20 28 62 6f 6f 6c 29 types>`...........kw_only.(bool)
55a0 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 6b 65 20 74 68 69 73 20 61 74 74 72 69 62 75 74 :.............Make.this.attribut
55c0 65 20 6b 65 79 77 6f 72 64 2d 6f 6e 6c 79 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 e.keyword-only.in.the.generated.
55e0 60 60 5f 5f 69 6e 69 74 5f 5f 60 60 20 28 69 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 60 69 ``__init__``.(if.............``i
5600 6e 69 74 60 60 20 69 73 20 46 61 6c 73 65 2c 20 74 68 69 73 20 70 61 72 61 6d 65 74 65 72 20 69 nit``.is.False,.this.parameter.i
5620 73 20 69 67 6e 6f 72 65 64 29 2e 0a 0a 20 20 20 20 20 20 20 20 6f 6e 5f 73 65 74 61 74 74 72 20 s.ignored)...........on_setattr.
5640 28 7e 74 79 70 69 6e 67 2e 43 61 6c 6c 61 62 6c 65 20 7c 20 6c 69 73 74 5b 7e 74 79 70 69 6e 67 (~typing.Callable.|.list[~typing
5660 2e 43 61 6c 6c 61 62 6c 65 5d 20 7c 20 4e 6f 6e 65 20 7c 20 7e 74 79 70 69 6e 67 2e 4c 69 74 65 .Callable].|.None.|.~typing.Lite
5680 72 61 6c 5b 61 74 74 72 73 2e 73 65 74 74 65 72 73 2e 4e 4f 5f 4f 50 5d 29 3a 0a 20 20 20 20 20 ral[attrs.setters.NO_OP]):......
56a0 20 20 20 20 20 20 20 41 6c 6c 6f 77 73 20 74 6f 20 6f 76 65 72 77 72 69 74 65 20 74 68 65 20 2a .......Allows.to.overwrite.the.*
56c0 6f 6e 5f 73 65 74 61 74 74 72 2a 20 73 65 74 74 69 6e 67 20 66 72 6f 6d 20 60 61 74 74 72 2e 73 on_setattr*.setting.from.`attr.s
56e0 60 2e 20 49 66 20 6c 65 66 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 6e 65 2c 20 74 68 65 `..If.left.............None,.the
5700 20 2a 6f 6e 5f 73 65 74 61 74 74 72 2a 20 76 61 6c 75 65 20 66 72 6f 6d 20 60 61 74 74 72 2e 73 .*on_setattr*.value.from.`attr.s
5720 60 20 69 73 20 75 73 65 64 2e 20 53 65 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 61 `.is.used..Set.to.............`a
5740 74 74 72 73 2e 73 65 74 74 65 72 73 2e 4e 4f 5f 4f 50 60 20 74 6f 20 72 75 6e 20 2a 2a 6e 6f 2a ttrs.setters.NO_OP`.to.run.**no*
5760 2a 20 60 73 65 74 61 74 74 72 60 20 68 6f 6f 6b 73 20 66 6f 72 20 74 68 69 73 0a 20 20 20 20 20 *.`setattr`.hooks.for.this......
5780 20 20 20 20 20 20 20 61 74 74 72 69 62 75 74 65 20 2d 2d 20 72 65 67 61 72 64 6c 65 73 73 20 6f .......attribute.--.regardless.o
57a0 66 20 74 68 65 20 73 65 74 74 69 6e 67 20 69 6e 20 60 64 65 66 69 6e 65 28 29 60 2e 0a 0a 20 20 f.the.setting.in.`define()`.....
57c0 20 20 20 20 20 20 61 6c 69 61 73 20 28 73 74 72 20 7c 20 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 ......alias.(str.|.None):.......
57e0 20 20 20 20 20 20 4f 76 65 72 72 69 64 65 20 74 68 69 73 20 61 74 74 72 69 62 75 74 65 27 73 20 ......Override.this.attribute's.
5800 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 0a parameter.name.in.the.generated.
5820 20 20 20 20 20 20 20 20 20 20 20 20 60 60 5f 5f 69 6e 69 74 5f 5f 60 60 20 6d 65 74 68 6f 64 2e ............``__init__``.method.
5840 20 49 66 20 6c 65 66 74 20 4e 6f 6e 65 2c 20 64 65 66 61 75 6c 74 20 74 6f 20 60 60 6e 61 6d 65 .If.left.None,.default.to.``name
5860 60 60 20 73 74 72 69 70 70 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 6c 65 61 64 69 ``.stripped.............of.leadi
5880 6e 67 20 75 6e 64 65 72 73 63 6f 72 65 73 2e 20 53 65 65 20 60 70 72 69 76 61 74 65 2d 61 74 74 ng.underscores..See.`private-att
58a0 72 69 62 75 74 65 73 60 2e 0a 0a 20 20 20 20 2e 2e 20 76 65 72 73 69 6f 6e 61 64 64 65 64 3a 3a ributes`..........versionadded::
58c0 20 32 30 2e 31 2e 30 0a 20 20 20 20 2e 2e 20 76 65 72 73 69 6f 6e 63 68 61 6e 67 65 64 3a 3a 20 .20.1.0........versionchanged::.
58e0 32 31 2e 31 2e 30 0a 20 20 20 20 20 20 20 2a 65 71 2a 2c 20 2a 6f 72 64 65 72 2a 2c 20 61 6e 64 21.1.0........*eq*,.*order*,.and
5900 20 2a 63 6d 70 2a 20 61 6c 73 6f 20 61 63 63 65 70 74 20 61 20 63 75 73 74 6f 6d 20 63 61 6c 6c .*cmp*.also.accept.a.custom.call
5920 61 62 6c 65 0a 20 20 20 20 2e 2e 20 76 65 72 73 69 6f 6e 61 64 64 65 64 3a 3a 20 32 32 2e 32 2e able........versionadded::.22.2.
5940 30 20 2a 61 6c 69 61 73 2a 0a 20 20 20 20 2e 2e 20 76 65 72 73 69 6f 6e 61 64 64 65 64 3a 3a 20 0.*alias*........versionadded::.
5960 32 33 2e 31 2e 30 0a 20 20 20 20 20 20 20 54 68 65 20 2a 74 79 70 65 2a 20 70 61 72 61 6d 65 74 23.1.0........The.*type*.paramet
5980 65 72 20 68 61 73 20 62 65 65 6e 20 72 65 2d 61 64 64 65 64 3b 20 6d 6f 73 74 6c 79 20 66 6f 72 er.has.been.re-added;.mostly.for
59a0 20 60 61 74 74 72 73 2e 6d 61 6b 65 5f 63 6c 61 73 73 60 2e 0a 20 20 20 20 20 20 20 50 6c 65 61 .`attrs.make_class`.........Plea
59c0 73 65 20 6e 6f 74 65 20 74 68 61 74 20 74 79 70 65 20 63 68 65 63 6b 65 72 73 20 69 67 6e 6f 72 se.note.that.type.checkers.ignor
59e0 65 20 74 68 69 73 20 6d 65 74 61 64 61 74 61 2e 0a 0a 20 20 20 20 2e 2e 20 73 65 65 61 6c 73 6f e.this.metadata..........seealso
5a00 3a 3a 0a 0a 20 20 20 20 20 20 20 60 61 74 74 72 2e 69 62 60 0a 20 20 20 20 72 35 00 00 00 29 01 ::.........`attr.ib`.....r5...).
5a20 72 0b 00 00 00 72 35 00 00 00 73 0e 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 28 00 r....r5...s..................r(.
5a40 00 00 da 05 66 69 65 6c 64 72 3e 00 00 00 a0 01 00 00 73 3c 00 00 00 80 00 f4 48 05 00 0c 12 d8 ....fieldr>.......s<......H.....
5a60 10 17 d8 12 1b d8 0d 11 d8 0d 11 d8 0d 11 d8 11 19 d8 0d 11 d8 12 1b d8 10 17 d8 10 17 d8 0b 0d ................................
5a80 d8 0e 13 d8 13 1d d8 0e 13 f4 1d 0f 0c 06 f0 00 0f 05 06 72 2a 00 00 00 29 03 da 07 72 65 63 75 ...................r*...)...recu
5aa0 72 73 65 da 06 66 69 6c 74 65 72 da 10 76 61 6c 75 65 5f 73 65 72 69 61 6c 69 7a 65 72 63 01 00 rse..filter..value_serializerc..
5ac0 00 00 00 00 00 00 03 00 00 00 07 00 00 00 03 00 00 00 f3 22 00 00 00 97 00 74 01 00 00 00 00 00 ...................".....t......
5ae0 00 00 00 7c 00 7c 01 7c 02 7c 03 64 01 ac 02 ab 05 00 00 00 00 00 00 53 00 29 03 7a 9f 0a 20 20 ...|.|.|.|.d...........S.).z....
5b00 20 20 53 61 6d 65 20 61 73 20 60 61 74 74 72 2e 61 73 64 69 63 74 60 2c 20 65 78 63 65 70 74 20 ..Same.as.`attr.asdict`,.except.
5b20 74 68 61 74 20 63 6f 6c 6c 65 63 74 69 6f 6e 73 20 74 79 70 65 73 20 61 72 65 20 61 6c 77 61 79 that.collections.types.are.alway
5b40 73 20 72 65 74 61 69 6e 65 64 0a 20 20 20 20 61 6e 64 20 64 69 63 74 20 69 73 20 61 6c 77 61 79 s.retained.....and.dict.is.alway
5b60 73 20 75 73 65 64 20 61 73 20 2a 64 69 63 74 5f 66 61 63 74 6f 72 79 2a 2e 0a 0a 20 20 20 20 2e s.used.as.*dict_factory*........
5b80 2e 20 76 65 72 73 69 6f 6e 61 64 64 65 64 3a 3a 20 32 31 2e 33 2e 30 0a 20 20 20 20 54 29 05 da ..versionadded::.21.3.0.....T)..
5ba0 04 69 6e 73 74 72 3f 00 00 00 72 40 00 00 00 72 41 00 00 00 da 17 72 65 74 61 69 6e 5f 63 6f 6c .instr?...r@...rA.....retain_col
5bc0 6c 65 63 74 69 6f 6e 5f 74 79 70 65 73 29 01 da 07 5f 61 73 64 69 63 74 29 04 72 43 00 00 00 72 lection_types)..._asdict).rC...r
5be0 3f 00 00 00 72 40 00 00 00 72 41 00 00 00 73 04 00 00 00 20 20 20 20 72 28 00 00 00 72 06 00 00 ?...r@...rA...s........r(...r...
5c00 00 72 06 00 00 00 56 02 00 00 73 20 00 00 00 80 00 f4 0e 00 0c 13 d8 0d 11 d8 10 17 d8 0f 15 d8 .r....V...s.....................
5c20 19 29 d8 20 24 f4 0b 06 0c 06 f0 00 06 05 06 72 2a 00 00 00 29 02 72 3f 00 00 00 72 40 00 00 00 .)..$..........r*...).r?...r@...
5c40 63 01 00 00 00 00 00 00 00 02 00 00 00 06 00 00 00 03 00 00 00 f3 20 00 00 00 97 00 74 01 00 00 c...........................t...
5c60 00 00 00 00 00 00 7c 00 7c 01 7c 02 64 01 ac 02 ab 04 00 00 00 00 00 00 53 00 29 03 7a a8 0a 20 ......|.|.|.d...........S.).z...
5c80 20 20 20 53 61 6d 65 20 61 73 20 60 61 74 74 72 2e 61 73 74 75 70 6c 65 60 2c 20 65 78 63 65 70 ...Same.as.`attr.astuple`,.excep
5ca0 74 20 74 68 61 74 20 63 6f 6c 6c 65 63 74 69 6f 6e 73 20 74 79 70 65 73 20 61 72 65 20 61 6c 77 t.that.collections.types.are.alw
5cc0 61 79 73 20 72 65 74 61 69 6e 65 64 0a 20 20 20 20 61 6e 64 20 60 74 75 70 6c 65 60 20 69 73 20 ays.retained.....and.`tuple`.is.
5ce0 61 6c 77 61 79 73 20 75 73 65 64 20 61 73 20 74 68 65 20 2a 74 75 70 6c 65 5f 66 61 63 74 6f 72 always.used.as.the.*tuple_factor
5d00 79 2a 2e 0a 0a 20 20 20 20 2e 2e 20 76 65 72 73 69 6f 6e 61 64 64 65 64 3a 3a 20 32 31 2e 33 2e y*..........versionadded::.21.3.
5d20 30 0a 20 20 20 20 54 29 04 72 43 00 00 00 72 3f 00 00 00 72 40 00 00 00 72 44 00 00 00 29 01 da 0.....T).rC...r?...r@...rD...)..
5d40 08 5f 61 73 74 75 70 6c 65 29 03 72 43 00 00 00 72 3f 00 00 00 72 40 00 00 00 73 03 00 00 00 20 ._astuple).rC...r?...r@...s.....
5d60 20 20 72 28 00 00 00 72 07 00 00 00 72 07 00 00 00 66 02 00 00 73 1a 00 00 00 80 00 f4 0e 00 0c ..r(...r....r....f...s..........
5d80 14 d8 0d 11 98 37 a8 36 c8 34 f4 03 02 0c 06 f0 00 02 05 06 72 2a 00 00 00 29 01 4e 29 16 da 07 .....7.6.4..........r*...).N)...
5da0 5f 5f 64 6f 63 5f 5f da 09 66 75 6e 63 74 6f 6f 6c 73 72 03 00 00 00 da 00 72 05 00 00 00 da 06 __doc__..functoolsr......r......
5dc0 5f 66 75 6e 63 73 72 06 00 00 00 72 45 00 00 00 72 07 00 00 00 72 47 00 00 00 da 05 5f 6d 61 6b _funcsr....rE...r....rG....._mak
5de0 65 72 08 00 00 00 72 09 00 00 00 72 0a 00 00 00 72 0b 00 00 00 72 0c 00 00 00 da 0a 65 78 63 65 er....r....r....r....r......exce
5e00 70 74 69 6f 6e 73 72 0d 00 00 00 72 34 00 00 00 da 07 6d 75 74 61 62 6c 65 72 14 00 00 00 72 3e ptionsr....r4.....mutabler....r>
5e20 00 00 00 72 26 00 00 00 72 2a 00 00 00 72 28 00 00 00 fa 08 3c 6d 6f 64 75 6c 65 3e 72 4f 00 00 ...r&...r*...r(.....<module>rO..
5e40 00 01 00 00 00 73 d9 00 00 00 f0 03 01 01 01 f1 06 03 01 04 f5 0a 00 01 1e e5 00 15 dd 00 25 dd .....s........................%.
5e60 00 27 f7 02 06 01 02 f5 00 06 01 02 f5 0e 00 01 32 f0 08 00 0f 13 f0 03 42 06 01 1b f0 06 00 0b .'..............2.......B.......
5e80 0f d8 09 0d d8 10 14 d8 09 0d d8 09 0d d8 0a 0e d8 0b 10 d8 11 15 d8 08 0d d8 11 15 d8 0c 11 d8 ................................
5ea0 0f 14 d8 0d 11 d8 07 0b d8 0a 0f d8 10 14 d8 16 1a d8 0f 13 d8 16 1a d8 0f 13 f4 2d 42 06 01 1b ...........................-B...
5ec0 f0 4a 0c 00 0b 11 80 07 d9 09 10 90 16 a0 04 b0 14 d4 09 36 80 06 f0 0a 00 0d 14 d8 0e 12 d8 09 .J.................6............
5ee0 0d d8 09 0d d8 09 0d d8 0d 11 d8 09 0d d8 0e 12 d8 0c 10 d8 0c 11 d8 07 0b d8 0a 0e d8 0f 13 d8 ................................
5f00 0a 0e f4 1f 73 02 01 06 f0 6c 05 00 1d 21 a8 14 c0 04 f4 00 0d 01 06 f0 20 00 1e 22 a8 24 f5 00 ....s....l...!.............".$..
5f20 09 01 06 72 2a 00 00 00 ...r*...