Module Expr Str ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias alias alias alias alias alias alias ImportFrom alias ImportFrom alias alias alias ImportFrom alias alias TryExcept body Assign AttributeStore NameLoad attr NameLoad handlers ExceptHandler type NameLoad body Pass TryExcept body Import alias ImportFrom alias ImportFrom alias handlers ExceptHandler type NameLoad body Expr Call NameLoad Str Assign NameStore NameLoad Import alias Import alias ImportFrom alias Import alias Import alias Import alias Import alias Import alias TryExcept body ImportFrom alias alias handlers ExceptHandler type NameLoad body Expr Call NameLoad Str Assign AttributeStore NameLoad attr NameLoad FunctionDef arguments args NameParam defaults body Expr Str Assign TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If BoolOpOr UnaryOpNot NameLoad CompareEq NameLoad AttributeLoad AttributeLoad NameLoad attr attr body Return TupleLoad NameLoad Return BinOpAdd Call NameLoad NameLoad TupleLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad If CompareEq NameLoad Str body Expr Yield orelse If CompareEq NameLoad Str body Assign NameStore AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Str Expr Yield Assign AttributeStore NameLoad attr NameLoad orelse Raise Call NameLoad BinOpMod Str NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Expr Call NameLoad Expr Call NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Expr Call NameLoad Str If Call AttributeLoad AttributeLoad NameLoad attr attr Str body Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Expr Call NameLoad Str Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults NameLoad Str body Expr Str With Call NameLoad Str body If UnaryOpNot Call NameLoad Str body Expr Call NameLoad Str If UnaryOpNot NameLoad body Assign NameStore Call NameLoad Str keyword NameLoad If CompareEq NameLoad Str body Raise Call NameLoad Str Expr Call NameLoad Str With Call NameLoad Str body Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad With Call NameLoad Str body Expr Call NameLoad BinOpMod Str NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults ListLoad body Expr Str If NameLoad body Return SubscriptLoad NameLoad Index Num If UnaryOpNot Call NameLoad Str body Expr Call NameLoad With Call NameLoad Str body Assign NameStore Call NameLoad Str Assert CompareNotIn Str NameLoad Assert CompareNotIn Str NameLoad Assert CompareNotIn Str NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore ListComp NameLoad comprehension NameStore NameLoad Call AttributeLoad NameLoad attr Return Call AttributeLoad Str attr NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str With Call NameLoad Str body Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args NameParam defaults Str body Expr Str If CompareNotIn NameLoad Set Str Str body Raise Call NameLoad BinOpMod Str NameLoad Assign NameStore Call AttributeLoad Str attr keyword NameLoad Assign NameStore Call NameLoad With Call NameLoad NameLoad body Expr Call NameLoad NameLoad With Call NameLoad NameLoad body Expr Call NameLoad Call AttributeLoad Str attr NameLoad Expr Call NameLoad Str With Call NameLoad Call AttributeLoad Str attr NameLoad body Expr Call NameLoad Str Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults NameLoad Str body Expr Str Expr Call NameLoad Expr Call NameLoad NameLoad NameLoad Expr Call NameLoad Str Expr Call NameLoad Expr Call NameLoad Expr Call NameLoad Expr Call NameLoad Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Expr Call NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str With Call NameLoad Str body Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr Call NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str With Call NameLoad Str body Expr Call NameLoad Str Assign NameStore Str Expr Call NameLoad NameLoad keyword ListLoad Str Str Str With Call NameLoad NameLoad body With Call NameLoad Str body Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str With Call NameLoad Str body Expr Call NameLoad Call AttributeLoad Str attr Call NameLoad Expr Call NameLoad Call AttributeLoad Str attr Call NameLoad Expr Call NameLoad Call AttributeLoad Str attr Call NameLoad Expr Call NameLoad Str Expr Call NameLoad Str With Call NameLoad Str body Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr Call NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str With Call NameLoad Str body Expr Call NameLoad Str Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If CompareEq NameLoad Str body Assign NameStore Call NameLoad Call AttributeLoad Str attr Call NameLoad keyword NameLoad orelse If CompareEq NameLoad Str body Raise Call NameLoad Str orelse If CompareEq NameLoad Str body Assign NameStore Call NameLoad Call AttributeLoad Str attr Call NameLoad keyword NameLoad orelse Raise Call NameLoad BinOpAdd NameLoad Str If NameLoad body Expr Call NameLoad NameLoad Return NameLoad decorator_list NameLoad Assign NameStore Set Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Assign NameStore Set Str Str Str Str Str Str Str FunctionDef arguments args defaults body Expr Str With Call NameLoad Str body With Call NameLoad Str body Assign NameStore Call NameLoad ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call AttributeLoad Call NameLoad Str attr Str Assign NameStore Call NameLoad Call AttributeLoad Call NameLoad Str keyword NameLoad attr Str Assign NameStore Call NameLoad For NameStore NameLoad body Assign NameStore Call NameLoad NameLoad If SubscriptLoad NameLoad Index Num body Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad NameLoad Slice Num Assign NameStore NameLoad Expr Call NameLoad Expr Call NameLoad Call NameLoad Str keyword NameLoad Expr Call NameLoad For NameStore Call NameLoad Call AttributeLoad NameLoad attr NameLoad body Assign NameStore NameLoad Expr Call NameLoad NameLoad Expr Call NameLoad Expr Call NameLoad Call NameLoad Str keyword NameLoad Expr Call NameLoad For NameStore Call NameLoad BinOpSub BinOpSub NameLoad NameLoad NameLoad body Assign NameStore NameLoad Expr Call NameLoad NameLoad Expr Call NameLoad Expr Call NameLoad Call NameLoad Str keyword NameLoad Expr Call NameLoad For NameStore Call NameLoad BinOpSub BinOpSub NameLoad NameLoad NameLoad body Assign NameStore NameLoad Expr Call NameLoad NameLoad If NameLoad body Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults Str NameLoad body Expr Str Assign NameStore Call NameLoad BinOpAdd Str NameLoad keyword NameLoad Assign NameStore ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call AttributeLoad Call AttributeLoad NameLoad attr attr Str Assign NameStore Call AttributeLoad Str attr ListComp BinOpMod Str TupleLoad NameLoad SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Index Num comprehension TupleStore NameStore NameStore NameLoad If NameLoad body Expr Call NameLoad NameLoad Return NameLoad decorator_list NameLoad Assign NameStore Call NameLoad ListLoad TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str FunctionDef arguments args NameParam NameParam defaults Str NameLoad body Expr Str Assign NameStore Call NameLoad BinOpAdd Str NameLoad keyword NameLoad Assign NameStore ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call AttributeLoad Call AttributeLoad NameLoad attr attr Str Assign NameStore Call AttributeLoad Str attr ListComp BinOpMod Str TupleLoad NameLoad SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Index Num comprehension TupleStore NameStore NameStore NameLoad If NameLoad body Expr Call NameLoad NameLoad Return NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call NameLoad Assign SubscriptStore NameLoad Index Str NameLoad Assign NameStore ListComp Call AttributeLoad NameLoad attr Str comprehension NameStore Call AttributeLoad Call NameLoad keyword NameLoad attr Str Assign NameStore DictComp NameLoad NameLoad comprehension TupleStore NameStore NameStore NameLoad Assign NameStore ListComp Call AttributeLoad NameLoad attr Str comprehension NameStore Call AttributeLoad Call NameLoad keyword NameLoad attr Str Assign NameStore DictComp NameLoad NameLoad comprehension TupleStore NameStore NameStore NameLoad Assign NameStore ListLoad FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Yield Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad decorator_list NameLoad With Call NameLoad Str body With Call NameLoad Str body For NameStore ListLoad Str Str Str Str body With Call NameLoad Str body Expr Call AttributeLoad NameLoad attr NameLoad For NameStore NameLoad body Assign NameStore Call NameLoad NameLoad With Call NameLoad Str body With Call NameLoad Str body With Call NameLoad Str body Expr Call AttributeLoad NameLoad attr NameLoad With Call NameLoad Str body Expr Call AttributeLoad NameLoad attr Call AttributeLoad SubscriptLoad NameLoad Index NameLoad attr NameLoad With Call NameLoad Str body Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index NameLoad With Call NameLoad Str body Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index NameLoad Assign NameStore Call AttributeLoad Str attr NameLoad Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad Dict Str Str Str Str Assign NameStore Call NameLoad NameLoad Dict Str Str Str Str If CompareIn NameLoad Set Str Str body Assign NameStore Str orelse If CompareEq NameLoad Str body Assign NameStore Str orelse If CompareIn NameLoad Set Str Str body Assign NameStore Str orelse If CompareIn NameLoad Set Str Str Str body Assign NameStore Str If CompareEq NameLoad Str body Assign NameStore Str orelse AugAssignAdd NameStore Str orelse If CompareEq NameLoad Str body Assign NameStore Str orelse Raise Call NameLoad BinOpAdd NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad keyword SubscriptLoad NameLoad Index NameLoad keyword SubscriptLoad NameLoad Index NameLoad Return NameLoad decorator_list NameLoad Assign NameStore Set Str Str Str Str Str Str Str Str Str FunctionDef arguments args defaults body Return DictComp NameLoad Call NameLoad NameLoad comprehension NameStore NameLoad decorator_list FunctionDef arguments args defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Str With Call NameLoad Str body While NameLoad body Assign NameStore Call AttributeLoad Call NameLoad BinOpAdd Str NameLoad attr If CompareIn NameLoad NameLoad body Assign NameStore Call AttributeLoad Call AttributeLoad Call NameLoad BinOpAdd Str NameLoad keyword NameLoad attr attr Assert CompareEq Call NameLoad NameLoad Num NameLoad Assign NameStore BinOpAdd NameLoad Str orelse Expr Call NameLoad Call NameLoad Call AttributeLoad Str attr keyword NameLoad keyword NameLoad Return NameLoad Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args defaults body Expr Str FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad Call NameLoad SubscriptLoad Call AttributeLoad Call AttributeLoad NameLoad attr attr Index Num keyword Str attr Return Call AttributeLoad Call AttributeLoad NameLoad attr Str NameLoad attr Str Str decorator_list Assign NameStore Call NameLoad With Call NameLoad Str body With Call NameLoad Str body Assign NameStore Call NameLoad Call AttributeLoad Call AttributeLoad Call NameLoad Call AttributeLoad Str attr keyword NameLoad attr attr Str Assign NameStore Call NameLoad Call AttributeLoad Call AttributeLoad Call NameLoad Call AttributeLoad Str attr keyword NameLoad attr attr Str Assign NameStore SetComp Call AttributeLoad NameLoad attr comprehension NameStore NameLoad Call AttributeLoad NameLoad attr Assign NameStore SetComp Call AttributeLoad NameLoad attr comprehension NameStore NameLoad Call AttributeLoad NameLoad attr Assign NameStore BinOpSub NameLoad NameLoad Assign NameStore SetComp BinOpAdd NameLoad Str comprehension NameStore NameLoad Assign NameStore BinOpBitOr BinOpSub NameLoad NameLoad NameLoad Return TupleLoad Call NameLoad NameLoad keyword NameLoad Call NameLoad NameLoad Call NameLoad NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Assign TupleStore NameStore NameStore NameStore Call NameLoad Expr Call NameLoad Call NameLoad Str keyword NameLoad Expr Call NameLoad Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad keyword NameLoad For NameStore NameLoad body Expr Call NameLoad BinOpAdd Str NameLoad Expr Call NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore BinOpAdd Str NameLoad With Call NameLoad Str body Assign NameStore Call NameLoad Str Return CompareIn NameLoad NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Expr Call NameLoad Expr Call NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore BoolOpAnd Call AttributeLoad NameLoad attr Str NameLoad Call AttributeLoad NameLoad attr Str NameLoad If UnaryOpNot NameLoad body Assign NameStore Call NameLoad Call AttributeLoad Str attr keyword NameLoad If UnaryOpNot Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str NameLoad NameLoad Assign NameStore Call NameLoad Str If CompareIn Call AttributeLoad Call AttributeLoad NameLoad attr attr ListLoad Str Str Str body Expr Call NameLoad Str NameLoad With Call NameLoad NameLoad Str NameStore body Expr Call AttributeLoad NameLoad attr NameLoad orelse Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad Return Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Str Expr Call NameLoad Str NameLoad Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad Call NameLoad attr Str Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad keyword NameLoad Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad keyword NameLoad Expr Call NameLoad Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad keyword NameLoad Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad keyword Call NameLoad Str keyword NameLoad Expr Call NameLoad Str With Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str Str NameStore body Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr keyword NameLoad Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad keyword NameLoad Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad keyword NameLoad Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad keyword NameLoad Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad keyword NameLoad Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr Str SubscriptLoad Call NameLoad Index Str Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad With Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str Str Str NameStore body Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr attr Str TryExcept body Assign NameStore Call AttributeLoad NameLoad attr Str handlers ExceptHandler type NameLoad body Expr Call NameLoad Str Expr Call AttributeLoad NameLoad attr BinOpAdd NameLoad Num BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str NameLoad Str NameLoad Str NameLoad Str NameLoad Str With Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str Str Str NameStore body Expr Call NameLoad Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad keyword NameLoad Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Expr Call NameLoad Expr Call NameLoad Expr Call NameLoad Expr Call NameLoad Expr Call NameLoad Num Expr Call NameLoad Num decorator_list NameLoad FunctionDef arguments args defaults body Expr Str With Call NameLoad Str body Expr Call NameLoad Str Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args defaults body Expr Str With Call NameLoad Str body Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args defaults body Expr Str With Call NameLoad Str body Expr Call NameLoad Str Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args NameParam defaults Str body Expr Str Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad If CompareNotIn NameLoad Set Str Str body Raise Call NameLoad BinOpMod Str NameLoad Assign NameStore Call AttributeLoad Str attr keyword NameLoad With Call NameLoad NameLoad body Expr Call NameLoad NameLoad With Call NameLoad NameLoad body Expr Call NameLoad Str Expr Call NameLoad Call AttributeLoad Str attr keyword NameLoad decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call NameLoad Assign NameStore Str Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad Expr Call NameLoad Call NameLoad Str keyword NameLoad Expr Call NameLoad Expr Call NameLoad NameLoad Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad Str NameLoad Str Str NameLoad body Expr Str If UnaryOpNot NameLoad body Expr Call NameLoad Str Assign NameStore Call NameLoad Assign NameStore Call NameLoad Assign NameStore Call NameLoad Assign NameStore BinOpAdd Str NameLoad Assign NameStore CompareNotEq NameLoad NameLoad Assign NameStore Call NameLoad keyword NameLoad keyword NameLoad If UnaryOpNot NameLoad body Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad NameLoad If UnaryOpNot NameLoad body Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad If UnaryOpNot Call NameLoad body Expr Call NameLoad Str Assign NameStore Dict Assign SubscriptStore NameLoad Index Str NameLoad Assign SubscriptStore NameLoad Index Str BinOpAdd Str NameLoad Assign SubscriptStore NameLoad Index Str NameLoad Assign SubscriptStore NameLoad Index Str NameLoad Assign SubscriptStore NameLoad Index Str NameLoad Expr Call NameLoad Str NameLoad keyword Str Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr NameLoad keyword NameLoad keyword NameLoad keyword Call AttributeLoad NameLoad attr NameLoad attr Assign NameStore SubscriptLoad NameLoad Index Str Expr Call NameLoad Call NameLoad Str For NameStore NameLoad body Assign NameStore Call NameLoad NameLoad Assign NameStore Dict Assign SubscriptStore NameLoad Index Str NameLoad If Call AttributeLoad NameLoad attr Str body Assign NameStore Dict Str Str orelse If Call AttributeLoad NameLoad attr Str body Assign NameStore Dict Str Str orelse If Call AttributeLoad NameLoad attr Str body Assign NameStore Dict Str Str orelse Assign NameStore Dict Str Str Expr Call NameLoad Str NameLoad keyword Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr With Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Str NameLoad Str NameStore body Assign NameStore Call AttributeLoad Call NameLoad BinOpMod AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad attr Expr Call NameLoad Call NameLoad Str decorator_list NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Expr Call NameLoad AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Assign NameStore Str If NameLoad body Expr Call NameLoad BinOpMod Str NameLoad orelse Expr Call NameLoad NameLoad Assign NameStore Call NameLoad Str Assign NameStore NameLoad If NameLoad body Expr Call NameLoad Str TryExcept body Expr Call NameLoad NameLoad NameLoad NameLoad NameLoad handlers ExceptHandler type NameLoad body Expr Call NameLoad Str orelse Expr Call NameLoad Str Assign NameStore NameLoad Assign NameStore NameLoad While UnaryOpNot NameLoad body Assign NameStore Call NameLoad Str TryExcept body Expr Call NameLoad Str Expr Call NameLoad NameLoad NameLoad NameLoad NameLoad handlers ExceptHandler type NameLoad body Expr Call NameLoad Str orelse Expr Call NameLoad Str Assign NameStore NameLoad If NameLoad body Assign NameStore Call NameLoad Str If CompareIn Call AttributeLoad NameLoad attr ListLoad Str Str Str Str body Assign NameStore Call NameLoad Str If CompareEq NameLoad Str body Assign NameStore Str Assign NameStore Call NameLoad NameLoad NameLoad NameLoad keyword NameLoad Expr Call NameLoad Str NameLoad Expr Call NameLoad BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str NameLoad Expr Call NameLoad Call NameLoad Str Assign NameStore Call NameLoad Str If CompareIn Call AttributeLoad Call AttributeLoad NameLoad attr attr ListLoad Str Str Str Str body Expr Call NameLoad NameLoad Return TupleLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad Str body Assign NameStore Call AttributeLoad NameLoad attr Dict Str Str ListLoad Str NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad Call NameLoad NameLoad keyword NameLoad keyword NameLoad keyword NameLoad attr Return SubscriptLoad NameLoad Index Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad Str Assign NameStore BoolOpOr NameLoad Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad TryExcept body If UnaryOpNot Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Num With Call NameLoad NameLoad Str NameStore body Expr Call AttributeLoad NameLoad attr BinOpAdd NameLoad Str Expr Call AttributeLoad NameLoad attr NameLoad BinOpBitOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad name NameStore body Expr Call NameLoad Str NameLoad Return ExceptHandler type NameLoad name NameStore body Expr Call NameLoad Str NameLoad Return Return NameLoad decorator_list FunctionDef arguments args NameParam defaults Str body Expr Call NameLoad BinOpMod Str NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad body TryExcept body With Call NameLoad NameLoad NameStore body Assign NameStore Call AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Expr Call NameLoad Str Return orelse Expr Call NameLoad Str Return Return Call AttributeLoad NameLoad attr decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults Str Str Str Str Str Str body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd NameLoad Str Str NameLoad Str NameLoad Str Assign AttributeStore NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd NameLoad Str NameLoad Str NameLoad Str Assign AttributeStore NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd NameLoad Str NameLoad Str NameLoad Str Assign AttributeStore NameLoad attr BinOpAdd AttributeLoad NameLoad attr Str Assign AttributeStore NameLoad attr BinOpAdd AttributeLoad NameLoad attr Str Assign AttributeStore NameLoad attr BinOpAdd NameLoad Str Assign AttributeStore NameLoad attr BinOpAdd NameLoad Str Assign AttributeStore NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd NameLoad Str Str NameLoad Str NameLoad Str Str Assign AttributeStore NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd NameLoad Str NameLoad Str NameLoad Str Str Assign AttributeStore NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd NameLoad Str NameLoad Str NameLoad Str decorator_list decorator_list ClassDef bases NameLoad body Pass decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad body Expr Str Assign NameStore BoolOpOr NameLoad Dict If NameLoad body Assign SubscriptStore NameLoad Index Str NameLoad If NameLoad body Assign NameStore Call NameLoad keyword NameLoad keyword Call NameLoad keyword NameLoad keyword Str orelse Assign NameStore Call NameLoad NameLoad NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad If CompareEq AttributeLoad NameLoad attr Num body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str If NameLoad body Expr Call NameLoad Str Call AttributeLoad SubscriptLoad Call AttributeLoad NameLoad attr Str Index Num attr Assign NameStore Call NameLoad Str Return Call NameLoad NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad Raise Call NameLoad Str Expr Call AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args defaults body Expr Str Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Str Assign AttributeStore NameLoad attr ListLoad BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str Assign AttributeStore NameLoad attr Call AttributeLoad SubscriptLoad NameLoad Index Str attr Str Assign AttributeStore NameLoad attr CompareEq Call AttributeLoad NameLoad attr Str Str Str decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Assign NameStore Call NameLoad Str keyword NameLoad Assign NameStore Dict For NameStore Call NameLoad Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index SubscriptLoad NameLoad Index Num Call AttributeLoad Str attr SubscriptLoad NameLoad Slice Num Return NameLoad decorator_list FunctionDef arguments args defaults body Expr Str Expr Call NameLoad Str decorator_list NameLoad FunctionDef arguments args defaults body Expr Str Expr Call NameLoad Str decorator_list NameLoad
N/A N/A 
Fab file for releasing

Please read the README in this directory.

Guide for this file
===================

Vagrant is a tool that gives us a reproducible VM, and fabric is a tool that
we use to run commands on that VM.

Each function in this file should be run as

fab vagrant func

Even those functions that do not use vagrant must be run this way, because of
the vagrant configuration at the bottom of this file.

Any function that should be made avaiable from the command line needs to have
the @task decorator.

Save any files that should be reset between runs somewhere in the repos
directory, so that the remove_userspace() function will clear it.  It's best
to do a complete vagrant destroy before a full release, but that takes a
while, so the remove_userspace() ensures that things are mostly reset for
testing.

Do not enforce any naming conventions on the release branch. By tradition, the
name of the release branch is the same as the version being released (like
0.7.3), but this is not required. Use get_sympy_version() and
get_sympy_short_version() to get the SymPy version (the SymPy __version__
*must* be changed in sympy/release.py for this to work).
 __future__ print_function collections defaultdict OrderedDict contextlib contextmanager fabric.api env local run sudo cd hide task fabric.contrib.files exists fabric.colors blue red green fabric.utils error warn N/A N/A N/A N/A env colorize_errors True N/A N/A N/A AttributeError N/A N/A N/A N/A N/A requests requests.auth HTTPBasicAuth requests_oauthlib OAuth2 N/A N/A N/A ImportError N/A N/A N/A warn requests and requests-oauthlib must be installed to upload to GitHub N/A requests False N/A unicodedata N/A json getpass getpass N/A os N/A stat N/A sys N/A time N/A ConfigParser N/A N/A fabvenv virtualenv make_virtualenv N/A N/A N/A ImportError N/A N/A N/A error fabvenv is required. See https://pypi.python.org/pypi/fabric-virtualenv/ N/A N/A env use_ssh_config True full_path_split N/A N/A path N/A N/A N/A 
    Function to do a full split on a path.
     N/A N/A rest tail N/A N/A N/A os path split path N/A N/A N/A rest N/A rest N/A N/A os path sep N/A N/A N/A tail N/A N/A N/A full_path_split rest N/A tail N/A use_venv N/A N/A pyversion N/A N/A N/A 
    Change make_virtualenv to use a given cmd

    pyversion should be '2' or '3'
     N/A pyversion N/A str pyversion N/A N/A pyversion 2 N/A N/A N/A N/A N/A N/A pyversion 3 N/A N/A oldvenv N/A env virtualenv N/A N/A env virtualenv virtualenv -p /usr/bin/python3 N/A N/A N/A N/A env virtualenv oldvenv N/A N/A N/A ValueError N/A pyversion must be one of '2' or '3', not %s pyversion N/A contextmanager prepare N/A N/A N/A N/A N/A 
    Setup the VM

    This only needs to be run once.  It downloads all the necessary software,
    and a git cache. To reset this, use vagrant destroy and vagrant up.  Note,
    this may take a while to finish, depending on your internet connection
    speed.
     N/A N/A prepare_apt N/A N/A checkout_cache N/A task prepare_apt N/A N/A N/A N/A N/A 
    Download software from apt

    Note, on a slower internet connection, this will take a while to finish,
    because it has to download many packages, include latex and all its
    dependencies.
     N/A N/A sudo apt-get -qq update N/A N/A sudo apt-get -y install git python3 make python-virtualenv zip python-dev python-mpmath python3-setuptools N/A N/A sudo easy_install3 pip==7.1.2 N/A N/A sudo pip3 install mpmath N/A N/A sudo /usr/bin/pip install twine N/A N/A sudo apt-get -y install graphviz inkscape texlive texlive-xetex texlive-fonts-recommended texlive-latex-extra librsvg2-bin docbook2x N/A N/A sudo apt-get -y install python-software-properties N/A N/A sudo add-apt-repository -y ppa:fkrull/deadsnakes N/A N/A sudo apt-get -y update N/A N/A sudo apt-get -y install python3.3 N/A task remove_userspace N/A N/A N/A N/A N/A 
    Deletes (!) the SymPy changes. Use with great care.

    This should be run between runs to reset everything.
     N/A N/A run rm -rf repos N/A N/A N/A N/A os path exists release N/A N/A N/A error release directory already exists locally. Remove it to continue. N/A task checkout_cache N/A N/A N/A N/A N/A 
    Checkout a cache of SymPy

    This should only be run once. The cache is use as a --reference for git
    clone.  This makes deleting and recreating the SymPy a la
    remove_userspace() and gitrepos() and clone very fast.
     N/A N/A run rm -rf sympy-cache.git N/A N/A run git clone --bare https://github.com/sympy/sympy.git sympy-cache.git N/A task gitrepos N/A N/A branch fork N/A None sympy N/A N/A 
    Clone the repo

    fab vagrant prepare (namely, checkout_cache()) must be run first. By
    default, the branch checked out is the same one as the one checked out
    locally. The master branch is not allowed--use a release branch (see the
    README). No naming convention is put on the release branch.

    To test the release, create a branch in your fork, and set the fork
    option.
     N/A N/A cd /home/vagrant N/A N/A N/A N/A exists sympy-cache.git N/A N/A N/A error Run fab vagrant prepare first N/A N/A branch N/A N/A branch N/A local git rev-parse --abbrev-ref HEAD capture True N/A N/A branch master N/A N/A N/A Exception Cannot release from master N/A N/A run mkdir -p repos N/A N/A cd /home/vagrant/repos N/A N/A N/A run N/A N/A git clone --reference ../sympy-cache.git https://github.com/{fork}/sympy.git format fork fork N/A N/A cd /home/vagrant/repos/sympy N/A N/A N/A run N/A git checkout -t origin/%s branch N/A task get_sympy_version N/A N/A version_cache N/A N/A N/A N/A 
    Get the full version of SymPy being released (like 0.7.3.rc1)
     N/A version_cache N/A N/A N/A version_cache N/A 0 N/A N/A N/A exists /home/vagrant/repos/sympy N/A N/A N/A gitrepos N/A N/A cd /home/vagrant/repos/sympy N/A N/A version N/A run python -c "import sympy;print(sympy.__version__)" N/A N/A version N/A N/A version N/A N/A version N/A N/A N/A version_cache append version N/A version N/A task get_sympy_short_version N/A N/A N/A N/A N/A 
    Get the short version of SymPy being released, not including any rc tags
    (like 0.7.3)
     N/A version N/A get_sympy_version N/A parts N/A N/A version split . N/A non_rc_parts N/A i N/A i parts N/A N/A i isdigit N/A N/A N/A . join non_rc_parts N/A task test_sympy N/A N/A N/A N/A N/A 
    Run the SymPy test suite
     N/A N/A cd /home/vagrant/repos/sympy N/A N/A N/A run ./setup.py test N/A task test_tarball N/A N/A release N/A 2 N/A N/A 
    Test that the tarball can be unpacked and installed, and that sympy
    imports in the install.
     N/A N/A release N/A 2 3 N/A N/A N/A ValueError N/A release must be one of '2', '3', not %s release N/A venv N/A N/A /home/vagrant/repos/test-{release}-virtualenv format release release N/A tarball_formatter_dict N/A tarball_formatter N/A N/A use_venv release N/A N/A N/A make_virtualenv venv N/A N/A virtualenv venv N/A N/A N/A run N/A N/A cp /vagrant/release/{source} releasetar.tar format tarball_formatter_dict N/A N/A run tar xvf releasetar.tar N/A N/A cd N/A N/A /home/vagrant/{source-orig-notar} format tarball_formatter_dict N/A N/A N/A run python setup.py install N/A N/A run python -c "import sympy; print(sympy.__version__)" N/A task release N/A N/A branch fork N/A None sympy N/A N/A 
    Perform all the steps required for the release, except uploading

    In particular, it builds all the release files, and puts them in the
    release/ directory in the same directory as this one.  At the end, it
    prints some things that need to be pasted into various places as part of
    the release.

    To test the release, push a branch to your fork on GitHub and set the fork
    option to your username.
     N/A N/A remove_userspace N/A N/A gitrepos branch fork N/A N/A local ../bin/mailmap_update.py N/A N/A test_sympy N/A N/A source_tarball N/A N/A build_docs N/A N/A copy_release_files N/A N/A test_tarball 2 N/A N/A test_tarball 3 N/A N/A compare_tar_against_git N/A N/A print_authors N/A task source_tarball N/A N/A N/A N/A N/A 
    Build the source tarball
     N/A N/A cd /home/vagrant/repos/sympy N/A N/A N/A run git clean -dfx N/A N/A run ./setup.py clean N/A N/A run ./setup.py sdist --keep-temp N/A N/A run ./setup.py bdist_wininst N/A N/A run N/A N/A mv dist/{win32-orig} dist/{win32} format N/A tarball_formatter N/A task build_docs N/A N/A N/A N/A N/A 
    Build the html and pdf docs
     N/A N/A cd /home/vagrant/repos/sympy N/A N/A N/A run mkdir -p dist N/A venv /home/vagrant/docs-virtualenv N/A N/A make_virtualenv venv dependencies N/A sphinx==1.1.3 numpy mpmath N/A N/A virtualenv venv N/A N/A N/A cd /home/vagrant/repos/sympy/doc N/A N/A N/A run make clean N/A N/A run make html-errors N/A N/A run make man N/A N/A cd /home/vagrant/repos/sympy/doc/_build N/A N/A N/A run N/A N/A mv html {html-nozip} format N/A tarball_formatter N/A N/A run N/A N/A zip -9lr {html} {html-nozip} format N/A tarball_formatter N/A N/A run N/A N/A cp {html} ../../dist/ format N/A tarball_formatter N/A N/A run make clean N/A N/A run make latex N/A N/A cd /home/vagrant/repos/sympy/doc/_build/latex N/A N/A N/A run make N/A N/A run N/A N/A cp {pdf-orig} ../../../dist/{pdf} format N/A tarball_formatter N/A task copy_release_files N/A N/A N/A N/A N/A 
    Move the release files from the VM to release/ locally
     N/A N/A cd /home/vagrant/repos/sympy N/A N/A N/A run mkdir -p /vagrant/release N/A N/A run cp dist/* /vagrant/release/ N/A task show_files N/A N/A file print_ N/A True N/A N/A 
    Show the contents of a tarball.

    The current options for file are

    source: The source tarball
    win: The Python 2 Windows installer (Not yet implemented!)
    html: The html docs zip

    Note, this runs locally, not in vagrant.
     N/A N/A file source N/A N/A ret N/A local N/A N/A tar tf release/{source} format N/A tarball_formatter capture True N/A N/A N/A file win N/A N/A N/A NotImplementedError Windows installers N/A N/A N/A file html N/A N/A ret N/A local N/A N/A unzip -l release/{html} format N/A tarball_formatter capture True N/A N/A N/A ValueError N/A file  is not valid N/A print_ N/A N/A N/A print ret N/A ret N/A task N/A git_whitelist N/A .gitattributes .gitignore .mailmap .travis.yml CODE_OF_CONDUCT.md bin/adapt_paths.py bin/ask_update.py bin/authors_update.py bin/coverage_doctest.py bin/coverage_report.py bin/build_doc.sh bin/deploy_doc.sh bin/diagnose_imports bin/doctest bin/generate_test_list.py bin/get_sympy.py bin/py.bench bin/mailmap_update.py bin/strip_whitespace bin/sympy_time.py bin/sympy_time_cache.py bin/test bin/test_import bin/test_import.py bin/test_isolated bin/test_travis.sh examples/advanced/identitysearch_example.ipynb examples/beginner/plot_advanced.ipynb examples/beginner/plot_colors.ipynb examples/beginner/plot_discont.ipynb examples/beginner/plot_gallery.ipynb examples/beginner/plot_intro.ipynb examples/intermediate/limit_examples_advanced.ipynb examples/intermediate/schwarzschild.ipynb examples/notebooks/density.ipynb examples/notebooks/fidelity.ipynb examples/notebooks/fresnel_integrals.ipynb examples/notebooks/qubits.ipynb examples/notebooks/sho1d_example.ipynb examples/notebooks/spin.ipynb examples/notebooks/trace.ipynb examples/notebooks/README.txt release/.gitignore release/README.md release/Vagrantfile release/fabfile.py setupegg.py tox.ini.sample N/A tarball_whitelist N/A PKG-INFO setup.cfg sympy.egg-info/PKG-INFO sympy.egg-info/SOURCES.txt sympy.egg-info/dependency_links.txt sympy.egg-info/requires.txt sympy.egg-info/top_level.txt compare_tar_against_git N/A N/A N/A N/A N/A 
    Compare the contents of the tarball against git ls-files
     N/A N/A hide commands N/A N/A N/A cd /home/vagrant/repos/sympy N/A N/A git_lsfiles N/A set N/A N/A N/A i strip N/A i N/A N/A N/A run git ls-files split N/A tar_output_orig N/A set N/A N/A N/A show_files source print_ False split N/A tar_output N/A set N/A file tar_output_orig N/A N/A split_path N/A full_path_split file N/A N/A split_path N/A -1 N/A N/A N/A N/A tar_output add N/A N/A N/A os path join N/A split_path N/A 1 N/A fail False N/A N/A print N/A N/A print N/A blue Files in the tarball from git that should not be there: bold True N/A N/A print N/A line N/A sorted N/A N/A tar_output intersection git_whitelist N/A N/A fail True N/A N/A print line N/A N/A print N/A N/A print N/A blue Files in git but not in the tarball: bold True N/A N/A print N/A line N/A sorted N/A N/A git_lsfiles tar_output git_whitelist N/A N/A fail True N/A N/A print line N/A N/A print N/A N/A print N/A blue Files in the tarball but not in git: bold True N/A N/A print N/A line N/A sorted N/A N/A tar_output git_lsfiles tarball_whitelist N/A N/A fail True N/A N/A print line N/A fail N/A N/A N/A error Non-whitelisted files found or not found in the tarball N/A task md5 N/A N/A file print_ N/A * True N/A N/A 
    Print the md5 sums of the release files
     N/A out N/A local N/A md5sum release/ file capture True N/A out N/A N/A N/A i split N/A i N/A N/A N/A N/A out strip split N/A out N/A N/A join N/A N/A %s	%s N/A i N/A N/A N/A N/A os path split j N/A 1 N/A N/A i j out N/A print_ N/A N/A N/A print out N/A out N/A task N/A descriptions N/A OrderedDict N/A N/A source The SymPy source installer. N/A win32 Python Windows 32-bit installer. N/A html Html documentation for the Python 2 version. This is the same as
the <a href="http://docs.sympy.org/latest/index.html">online documentation</a>. N/A pdf Pdf version of the <a href="http://docs.sympy.org/latest/index.html"> html documentation</a>. size N/A N/A file print_ N/A * True N/A N/A 
    Print the sizes of the release files
     N/A out N/A local N/A du -h release/ file capture True N/A out N/A N/A N/A i split N/A i N/A N/A N/A N/A out strip split N/A out N/A N/A join N/A N/A %s	%s N/A i N/A N/A N/A N/A os path split j N/A 1 N/A N/A i j out N/A print_ N/A N/A N/A print out N/A out N/A task table N/A N/A N/A N/A N/A 
    Make an html table of the downloads.

    This is for pasting into the GitHub releases page. See GitHub_release().
     N/A tarball_formatter_dict N/A tarball_formatter N/A shortversion N/A get_sympy_short_version N/A N/A tarball_formatter_dict N/A version shortversion N/A md5s N/A N/A N/A i split N/A i N/A N/A N/A md5 print_ False split N/A md5s_dict N/A name md5 N/A N/A md5 name md5s N/A sizes N/A N/A N/A i split N/A i N/A N/A N/A size print_ False split N/A sizes_dict N/A name size N/A N/A size name sizes N/A table N/A tag N/A N/A name N/A N/A N/A N/A N/A table append N/A <%s> name N/A N/A N/A N/A N/A table append N/A </%s> name N/A contextmanager N/A N/A tag table N/A N/A N/A tag tr N/A N/A headname N/A Filename Description size md5 N/A N/A N/A tag th N/A N/A N/A N/A table append headname N/A key descriptions N/A N/A name N/A get_tarball_name key N/A N/A tag tr N/A N/A N/A tag td N/A N/A N/A tag b N/A N/A N/A N/A table append name N/A N/A tag td N/A N/A N/A N/A table append N/A N/A N/A descriptions N/A key format tarball_formatter_dict N/A N/A tag td N/A N/A N/A N/A table append N/A sizes_dict N/A name N/A N/A tag td N/A N/A N/A N/A table append N/A md5s_dict N/A name N/A out N/A N/A join table N/A out N/A task get_tarball_name N/A N/A file N/A N/A N/A 
    Get the name of a tarball

    file should be one of

    source-orig:       The original name of the source tarball
    source-orig-notar: The name of the untarred directory
    source:            The source tarball (after renaming)
    win32-orig:        The original name of the win32 installer
    win32:             The name of the win32 installer (after renaming)
    html:              The name of the html zip
    html-nozip:        The name of the html, without ".zip"
    pdf-orig:          The original name of the pdf file
    pdf:               The name of the pdf file (after renaming)
     N/A version N/A get_sympy_version N/A doctypename N/A defaultdict str N/A html pdf zip pdf N/A winos N/A defaultdict str N/A win32 win32-orig win32 linux-i686 N/A N/A file N/A source-orig source N/A N/A name sympy-{version}.tar.gz N/A N/A N/A file source-orig-notar N/A N/A name sympy-{version} N/A N/A N/A file N/A win32 win32-orig N/A N/A name sympy-{version}.{wintype}.exe N/A N/A N/A file N/A html pdf html-nozip N/A N/A name sympy-docs-{type}-{version} N/A N/A file html-nozip N/A N/A file html N/A N/A name .{extension} N/A N/A N/A file pdf-orig N/A N/A name sympy-{version}.pdf N/A N/A N/A ValueError N/A file  is not a recognized argument N/A ret N/A N/A name format version version type file extension N/A doctypename N/A file wintype N/A winos N/A file N/A ret N/A task N/A tarball_name_types N/A source-orig source-orig-notar source win32-orig win32 html html-nozip pdf-orig pdf tarball_formatter N/A N/A N/A N/A N/A N/A name N/A get_tarball_name name N/A name tarball_name_types N/A get_previous_version_tag N/A N/A N/A N/A N/A 
    Get the version of the previous release
     N/A shortversion N/A get_sympy_short_version N/A curcommit HEAD N/A N/A cd /home/vagrant/repos/sympy N/A N/A True N/A N/A curtag N/A N/A N/A run N/A git describe --abbrev=0 --tags  curcommit strip N/A N/A shortversion curtag N/A N/A parents N/A N/A N/A N/A N/A local N/A git rev-list --parents -n 1  curtag capture True strip split N/A N/A N/A len parents 2 curtag N/A curcommit N/A curtag ^ N/A N/A N/A print N/A blue N/A N/A Using {tag} as the tag for the previous release. format tag curtag bold True N/A curtag N/A N/A error Could not find the tag for the previous release. N/A task get_authors N/A N/A N/A N/A N/A 
    Get the list of authors since the previous release

    Returns the list in alphabetical order by last name.  Authors who
    contributed for the first time for this release will have a star appended
    to the end of their names.

    Note: it's a good idea to use ./bin/mailmap_update.py (from the base sympy
    directory) to make AUTHORS and .mailmap up-to-date first before using
    this. fab vagrant release does this automatically.
     lastnamekey N/A N/A name N/A N/A N/A 
        Sort key to sort by last name

        Note, we decided to sort based on the last name, because that way is
        fair. We used to sort by commit count or line number count, but that
        bumps up people who made lots of maintenance changes like updating
        mpmath or moving some files around.
         N/A text N/A N/A N/A unicode N/A N/A N/A N/A N/A name strip split N/A -1 encoding utf-8 lower N/A N/A N/A N/A N/A unicodedata normalize NFKD text encode ascii ignore N/A N/A old_release_tag N/A get_previous_version_tag N/A N/A cd /home/vagrant/repos/sympy N/A N/A N/A hide commands N/A N/A releaseauthors N/A set N/A N/A N/A N/A N/A run N/A N/A git --no-pager log {tag}.. --format="%aN" format tag old_release_tag strip split N/A priorauthors N/A set N/A N/A N/A N/A N/A run N/A N/A git --no-pager log {tag} --format="%aN" format tag old_release_tag strip split N/A releaseauthors N/A N/A N/A name strip N/A name releaseauthors N/A N/A name strip N/A priorauthors N/A N/A N/A name strip N/A name priorauthors N/A N/A name strip N/A newauthors N/A releaseauthors priorauthors N/A starred_newauthors N/A N/A name * N/A name newauthors N/A authors N/A N/A releaseauthors newauthors starred_newauthors N/A N/A N/A sorted authors key lastnamekey N/A len releaseauthors N/A len newauthors N/A task print_authors N/A N/A N/A N/A N/A 
    Print authors text to put at the bottom of the release notes
     N/A N/A authors authorcount newauthorcount N/A get_authors N/A N/A print N/A blue Here are the authors to put at the bottom of the release notes. bold True N/A N/A print N/A N/A print N/A N/A ## Authors

The following people contributed at least one patch to this release (names are
given in alphabetical order by last name). A total of {authorcount} people
contributed to this release. People with a * by their names contributed a
patch for the first time for this release; {newauthorcount} people contributed
for the first time for this release.

Thanks to everyone who contributed to this release!
 format authorcount authorcount newauthorcount newauthorcount N/A name authors N/A N/A N/A print N/A -  name N/A N/A print N/A task check_tag_exists N/A N/A N/A N/A N/A 
    Check if the tag for this release has been uploaded yet.
     N/A version N/A get_sympy_version N/A tag N/A sympy- version N/A N/A cd /home/vagrant/repos/sympy N/A N/A all_tags N/A run git ls-remote --tags origin N/A N/A tag all_tags N/A task update_websites N/A N/A N/A N/A N/A 
    Update various websites owned by SymPy.

    So far, supports the docs and sympy.org
     N/A N/A update_docs N/A N/A update_sympy_org N/A task get_location N/A N/A location N/A N/A N/A 
    Read/save a location from the configuration file.
     N/A locations_file N/A N/A N/A os path expanduser ~/.sympy/sympy-locations N/A config N/A N/A ConfigParser SafeConfigParser N/A N/A N/A config read locations_file N/A the_location N/A N/A N/A config has_option Locations location N/A N/A config get Locations location N/A N/A the_location N/A N/A the_location N/A raw_input N/A N/A Where is the SymPy {location} directory?  format location location N/A N/A N/A N/A config has_section Locations N/A N/A N/A N/A config add_section Locations N/A N/A N/A config set Locations location the_location N/A save N/A raw_input Save this to file [yes]?  N/A N/A N/A N/A N/A N/A save lower strip N/A y yes N/A N/A N/A print saving to  locations_file N/A N/A open locations_file w f N/A N/A N/A N/A config write f N/A N/A N/A print N/A N/A Reading {location} location from config format location location N/A N/A N/A N/A os path abspath N/A N/A N/A os path expanduser the_location N/A update_docs N/A N/A docs_location N/A None N/A N/A 
    Update the docs hosted at docs.sympy.org
     N/A docs_location N/A docs_location N/A get_location docs N/A N/A print Docs location: docs_location N/A N/A local N/A N/A cd {docs_location} && git diff --exit-code > /dev/null format docs_location docs_location N/A N/A local N/A N/A cd {docs_location} && git diff --cached --exit-code > /dev/null format docs_location docs_location N/A current_version N/A get_sympy_version N/A previous_version N/A N/A N/A get_previous_version_tag lstrip sympy- N/A N/A print Removing redirects from previous version N/A N/A local N/A N/A cd {docs_location} && rm -r {previous_version} format docs_location docs_location previous_version previous_version N/A N/A print Moving previous latest docs to old version N/A N/A local N/A N/A cd {docs_location} && mv latest {previous_version} format docs_location docs_location previous_version previous_version N/A N/A print Unzipping docs into repo N/A release_dir N/A N/A N/A os path abspath N/A N/A N/A os path expanduser N/A N/A N/A os path join N/A N/A os path curdir release N/A docs_zip N/A N/A N/A os path abspath N/A N/A N/A os path join release_dir N/A get_tarball_name html N/A N/A local N/A N/A cd {docs_location} && unzip {docs_zip} > /dev/null format docs_location docs_location docs_zip docs_zip N/A N/A local N/A N/A cd {docs_location} && mv {docs_zip_name} {version} format docs_location docs_location docs_zip_name N/A get_tarball_name html-nozip version current_version N/A N/A print Writing new version to releases.txt N/A N/A open N/A N/A N/A os path join docs_location releases.txt a f N/A N/A N/A N/A f write N/A N/A {version}:SymPy {version}
 format version current_version N/A N/A print Generating indexes N/A N/A local N/A N/A cd {docs_location} && ./generate_indexes.py format docs_location docs_location N/A N/A local N/A N/A cd {docs_location} && mv {version} latest format docs_location docs_location version current_version N/A N/A print Generating redirects N/A N/A local N/A N/A cd {docs_location} && ./generate_redirects.py latest {version}  format docs_location docs_location version current_version N/A N/A print Committing N/A N/A local N/A N/A cd {docs_location} && git add -A {version} latest format docs_location docs_location version current_version N/A N/A local N/A N/A cd {docs_location} && git commit -a -m 'Updating docs to {version}' format docs_location docs_location version current_version N/A N/A print Pushing N/A N/A local N/A N/A cd {docs_location} && git push origin format docs_location docs_location N/A task update_sympy_org N/A N/A website_location N/A None N/A N/A 
    Update sympy.org

    This just means adding an entry to the news section.
     N/A website_location N/A website_location N/A get_location sympy.github.com N/A N/A local N/A N/A cd {website_location} && git diff --exit-code > /dev/null format website_location website_location N/A N/A local N/A N/A cd {website_location} && git diff --cached --exit-code > /dev/null format website_location website_location N/A release_date N/A N/A time gmtime N/A N/A N/A os path getctime N/A N/A N/A os path join release N/A N/A tarball_formatter N/A source N/A release_year N/A str N/A release_date tm_year N/A release_month N/A str N/A release_date tm_mon N/A release_day N/A str N/A release_date tm_mday N/A version N/A get_sympy_version N/A N/A open N/A N/A N/A os path join website_location templates index.html r f N/A N/A lines N/A N/A N/A N/A f read split N/A N/A N/A news N/A N/A lines index     <h3>{% trans %}News{% endtrans %}</h3> N/A N/A N/A ValueError N/A N/A N/A error index.html format not as expected N/A N/A N/A lines insert N/A news 2 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A         <span class="date">{{ datetime( release_year ,  release_month ,  release_day ) }}</span> {% trans v=' version ' %}Version {{ v }} released{% endtrans %} (<a href="https://github.com/sympy/sympy/wiki/Release-Notes-for- version ">{% trans %}changes{% endtrans %}</a>)<br/>
    </p><p> N/A N/A open N/A N/A N/A os path join website_location templates index.html w f N/A N/A N/A print Updating index.html template N/A N/A N/A f write N/A N/A join lines N/A N/A print Generating website pages N/A N/A local N/A N/A cd {website_location} && ./generate format website_location website_location N/A N/A print Committing N/A N/A local N/A N/A cd {website_location} && git commit -a -m 'Add {version} to the news' format website_location website_location version version N/A N/A print Pushing N/A N/A local N/A N/A cd {website_location} && git push origin format website_location website_location N/A task upload N/A N/A N/A N/A N/A 
    Upload the files everywhere (PyPI and GitHub)

     N/A N/A distutils_check N/A N/A GitHub_release N/A N/A pypi_register N/A N/A pypi_upload N/A N/A test_pypi 2 N/A N/A test_pypi 3 N/A task distutils_check N/A N/A N/A N/A N/A 
    Runs setup.py check
     N/A N/A cd /home/vagrant/repos/sympy N/A N/A N/A run python setup.py check N/A N/A run python3 setup.py check N/A task pypi_register N/A N/A N/A N/A N/A 
    Register a release with PyPI

    This should only be done for the final release. You need PyPI
    authentication to do this.
     N/A N/A cd /home/vagrant/repos/sympy N/A N/A N/A run python setup.py register N/A task pypi_upload N/A N/A N/A N/A N/A 
    Upload files to PyPI. You will need to enter a password.
     N/A N/A cd /home/vagrant/repos/sympy N/A N/A N/A run twine upload dist/*.tar.gz N/A N/A run twine upload dist/*.exe N/A task test_pypi N/A N/A release N/A 2 N/A N/A 
    Test that the sympy can be pip installed, and that sympy imports in the
    install.
     N/A version N/A get_sympy_version N/A release N/A str release N/A N/A release N/A 2 3 N/A N/A N/A ValueError N/A release must be one of '2', '3', not %s release N/A venv N/A N/A /home/vagrant/repos/test-{release}-pip-virtualenv format release release N/A N/A use_venv release N/A N/A N/A make_virtualenv venv N/A N/A virtualenv venv N/A N/A N/A run pip install sympy N/A N/A run N/A N/A python -c "import sympy; assert sympy.__version__ == '{version}'" format version version N/A task GitHub_release_text N/A N/A N/A N/A N/A 
    Generate text to put in the GitHub release Markdown box
     N/A shortversion N/A get_sympy_short_version N/A htmltable N/A table N/A out See https://github.com/sympy/sympy/wiki/release-notes-for-{shortversion} for the release notes.

{htmltable}

**Note**: Do not download the **Source code (zip)** or the **Source code (tar.gz)**
files below.
 N/A out N/A N/A out format shortversion shortversion htmltable htmltable N/A N/A print N/A blue Here are the release notes to copy into the GitHub release Markdown form: bold True N/A N/A print N/A N/A print out N/A out N/A task GitHub_release N/A N/A username user token token_file_path repo draft N/A None sympy None ~/.sympy/release-token sympy False N/A N/A 
    Upload the release files to GitHub.

    The tag must be pushed up first. You can test on another repo by changing
    user and repo.
     N/A N/A requests N/A N/A N/A error requests and requests-oauthlib must be installed to upload to GitHub N/A release_text N/A GitHub_release_text N/A version N/A get_sympy_version N/A short_version N/A get_sympy_short_version N/A tag N/A sympy- version N/A prerelease N/A short_version version N/A urls N/A URLs user user repo repo N/A N/A username N/A N/A username N/A raw_input GitHub username:  N/A token N/A load_token_file token_file_path N/A N/A token N/A N/A N/A username password token N/A GitHub_authenticate urls username token N/A N/A N/A check_tag_exists N/A N/A N/A error The tag for this version has not been pushed yet. Cannot upload the release. N/A post N/A N/A N/A post N/A tag_name tag N/A N/A post N/A name N/A SymPy  version N/A N/A post N/A body release_text N/A N/A post N/A draft draft N/A N/A post N/A prerelease prerelease N/A N/A print Creating release for tag tag end N/A result N/A N/A N/A query_GitHub N/A urls releases_url username password None token token data N/A N/A json dumps post json N/A release_id N/A result N/A id N/A N/A print N/A green Done N/A key descriptions N/A N/A tarball N/A get_tarball_name key N/A params N/A N/A N/A params N/A name tarball N/A N/A N/A tarball endswith gz N/A N/A headers N/A Content-Type application/gzip N/A N/A N/A N/A tarball endswith pdf N/A N/A headers N/A Content-Type application/pdf N/A N/A N/A N/A tarball endswith zip N/A N/A headers N/A Content-Type application/zip N/A N/A headers N/A Content-Type application/octet-stream N/A N/A print Uploading tarball end N/A N/A N/A N/A sys stdout flush N/A N/A open N/A N/A N/A os path join release tarball rb f N/A N/A result N/A N/A N/A query_GitHub N/A N/A urls release_uploads_url release_id username password None token token data f params params headers headers json N/A N/A print N/A green Done N/A task GitHub_check_authentication N/A N/A urls username password token N/A N/A N/A 
    Checks that username & password is valid.
     N/A N/A query_GitHub N/A urls api_url username password token N/A GitHub_authenticate N/A N/A urls username token N/A None N/A N/A _login_message Enter your GitHub username & password or press ^C to quit. The password
will be kept as a Python variable as long as this script is running and
https to authenticate with GitHub, otherwise not saved anywhere else: N/A username N/A N/A N/A print N/A > Authenticating as %s username N/A N/A N/A print _login_message N/A username N/A raw_input Username:  N/A authenticated False N/A token N/A N/A N/A print > Authenticating using token N/A N/A N/A N/A GitHub_check_authentication urls username None token N/A N/A N/A AuthenticationFailed N/A N/A N/A print >     Authentication failed N/A N/A N/A print >     OK N/A password None N/A authenticated True N/A N/A authenticated N/A N/A password N/A getpass Password:  N/A N/A N/A N/A print > Checking username and password ... N/A N/A GitHub_check_authentication urls username password None N/A N/A N/A AuthenticationFailed N/A N/A N/A print >     Authentication failed N/A N/A N/A print >     OK. N/A authenticated True N/A password N/A N/A generate N/A raw_input > Generate API token? [Y/n]  N/A N/A N/A N/A generate lower N/A y ye yes N/A N/A name N/A raw_input > Name of token on GitHub? [SymPy Release]  N/A N/A name N/A N/A name SymPy Release N/A token N/A generate_token urls username password name name N/A N/A print Your token is token N/A N/A print N/A N/A N/A Use this token from now on as GitHub_release:token= token ,username= username N/A N/A print N/A red DO NOT share this token with anyone N/A save N/A raw_input Do you want to save this token to a file [yes]?  N/A N/A N/A N/A N/A N/A save lower strip N/A y yes ye N/A N/A N/A save_token_file token N/A N/A username password token N/A generate_token N/A N/A urls username password OTP name N/A None SymPy Release N/A N/A enc_data N/A N/A json dumps N/A scopes note N/A public_repo name N/A url N/A urls authorize_url N/A rep N/A N/A N/A query_GitHub url username username password password data enc_data json N/A N/A rep N/A token N/A save_token_file N/A N/A token N/A N/A N/A token_file N/A raw_input > Enter token file location [~/.sympy/release-token]  N/A token_file N/A token_file ~/.sympy/release-token N/A token_file_expand N/A N/A N/A os path expanduser token_file N/A token_file_expand N/A N/A N/A os path abspath token_file_expand N/A N/A token_folder _ N/A N/A N/A os path split token_file_expand N/A N/A N/A N/A N/A N/A N/A os path isdir token_folder N/A N/A N/A N/A os mkdir token_folder 448 N/A N/A open token_file_expand w f N/A N/A N/A N/A f write N/A token N/A N/A N/A os chmod token_file_expand N/A N/A stat S_IREAD N/A stat S_IWRITE N/A N/A N/A OSError N/A e N/A N/A N/A print > Unable to create folder for token file:  e N/A N/A N/A IOError N/A e N/A N/A N/A print > Unable to save token file:  e N/A N/A token_file N/A load_token_file N/A N/A path N/A ~/.sympy/release-token N/A N/A N/A print N/A > Using token file %s path N/A path N/A N/A N/A os path expanduser path N/A path N/A N/A N/A os path abspath path N/A N/A N/A N/A os path isfile path N/A N/A N/A N/A N/A open path f N/A N/A token N/A N/A f readline N/A N/A N/A IOError N/A N/A N/A print > Unable to read token file N/A N/A N/A N/A print > Token file does not exist N/A N/A N/A N/A token strip N/A URLs N/A object N/A N/A 
    This class contains URLs and templates which used in requests to GitHub API
     __init__ N/A N/A self user repo api_url authorize_url uploads_url main_url N/A sympy sympy https://api.github.com https://api.github.com/authorizations https://uploads.github.com https://github.com N/A N/A Generates all URLs and templates N/A N/A self user user N/A N/A self repo repo N/A N/A self api_url api_url N/A N/A self authorize_url authorize_url N/A N/A self uploads_url uploads_url N/A N/A self main_url main_url N/A N/A self pull_list_url N/A N/A N/A N/A N/A N/A api_url /repos / user / repo /pulls N/A N/A self issue_list_url N/A N/A N/A N/A N/A api_url /repos/ user / repo /issues N/A N/A self releases_url N/A N/A N/A N/A N/A api_url /repos/ user / repo /releases N/A N/A self single_issue_template N/A N/A self issue_list_url /%d N/A N/A self single_pull_template N/A N/A self pull_list_url /%d N/A N/A self user_info_template N/A api_url /users/%s N/A N/A self user_repos_template N/A api_url /users/%s/repos N/A N/A self issue_comment_template N/A N/A N/A N/A N/A N/A N/A api_url /repos / user / repo /issues/%d /comments N/A N/A self release_uploads_url N/A N/A N/A N/A N/A N/A uploads_url /repos/ user / repo /releases/%d /assets N/A N/A self release_download_url N/A N/A N/A N/A N/A main_url / user / repo /releases/download/%s/%s N/A N/A AuthenticationFailed N/A Exception N/A N/A N/A query_GitHub N/A N/A url username password token data OTP headers params files N/A None None None None None None None None N/A N/A 
    Query GitHub API.

    In case of a multipage result, DOES NOT query the next page.

     N/A headers N/A headers N/A N/A OTP N/A N/A N/A headers N/A X-GitHub-OTP OTP N/A token N/A N/A auth N/A OAuth2 client_id username token N/A dict access_token token token_type bearer N/A N/A auth N/A HTTPBasicAuth username password N/A data N/A N/A r N/A N/A requests post url auth auth data data headers headers params params files files N/A N/A r N/A N/A requests get url auth auth headers headers params params stream True N/A N/A N/A r status_code 401 N/A N/A two_factor N/A N/A N/A r headers get X-GitHub-OTP N/A two_factor N/A N/A N/A print A two-factor authentication code is required: N/A N/A N/A N/A N/A two_factor split ; N/A 1 strip N/A OTP N/A raw_input Authentication code:  N/A N/A query_GitHub url username username password password token token data data OTP OTP N/A N/A AuthenticationFailed invalid username or password N/A N/A N/A r raise_for_status N/A r N/A vagrant N/A N/A N/A N/A N/A 
    Run commands using vagrant
     N/A vc N/A get_vagrant_config N/A N/A env user N/A vc N/A User N/A N/A env hosts N/A N/A %s:%s N/A N/A vc N/A HostName N/A vc N/A Port N/A N/A env key_filename N/A N/A N/A vc N/A IdentityFile strip " N/A N/A env forward_agent N/A N/A N/A vc get ForwardAgent no yes N/A task get_vagrant_config N/A N/A N/A N/A N/A 
    Parses vagrant configuration and returns it as dict of ssh parameters
    and their values
     N/A result N/A local vagrant ssh-config capture True N/A conf N/A N/A line N/A iter N/A N/A result splitlines N/A N/A parts N/A N/A line split N/A N/A conf N/A N/A parts N/A 0 N/A N/A join N/A parts N/A 1 N/A conf N/A restart_network N/A N/A N/A N/A N/A 
    Do this if the VM won't connect to the internet.
     N/A N/A run sudo /etc/init.d/networking restart N/A task uname N/A N/A N/A N/A N/A 
    Get the uname in Vagrant. Useful for testing that Vagrant works.
     N/A N/A run uname -a N/A task