PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/usr/share/doc/python-docs-2.7.5/html/distutils/
Upload File :
Current File : //usr/share/doc/python-docs-2.7.5/html/distutils/sourcedist.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>4. Creating a Source Distribution &mdash; Python 2.7.5 documentation</title>
    
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '2.7.5',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    <link rel="search" type="application/opensearchdescription+xml"
          title="Search within Python 2.7.5 documentation"
          href="../_static/opensearch.xml"/>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="copyright" title="Copyright" href="../copyright.html" />
    <link rel="top" title="Python 2.7.5 documentation" href="../index.html" />
    <link rel="up" title="Distributing Python Modules" href="index.html" />
    <link rel="next" title="5. Creating Built Distributions" href="builtdist.html" />
    <link rel="prev" title="3. Writing the Setup Configuration File" href="configfile.html" />
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
    <script type="text/javascript" src="../_static/copybutton.js"></script>
    
 

  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="builtdist.html" title="5. Creating Built Distributions"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="configfile.html" title="3. Writing the Setup Configuration File"
             accesskey="P">previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="http://www.python.org/">Python</a> &raquo;</li>
        <li>
          <a href="../index.html">Python 2.7.5 documentation</a> &raquo;
        </li>

          <li><a href="index.html" accesskey="U">Distributing Python Modules</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="creating-a-source-distribution">
<span id="source-dist"></span><h1>4. Creating a Source Distribution<a class="headerlink" href="#creating-a-source-distribution" title="Permalink to this headline">¶</a></h1>
<p>As shown in section <a class="reference internal" href="introduction.html#distutils-simple-example"><em>A Simple Example</em></a>, you use the <strong class="command">sdist</strong> command
to create a source distribution.  In the simplest case,</p>
<div class="highlight-python"><pre>python setup.py sdist</pre>
</div>
<p>(assuming you haven&#8217;t specified any <strong class="command">sdist</strong> options in the setup script
or config file), <strong class="command">sdist</strong> creates the archive of the default format for
the current platform.  The default format is a gzip&#8217;ed tar file
(<tt class="file docutils literal"><span class="pre">.tar.gz</span></tt>) on Unix, and ZIP file on Windows.</p>
<p>You can specify as many formats as you like using the <em class="xref std std-option">--formats</em>
option, for example:</p>
<div class="highlight-python"><pre>python setup.py sdist --formats=gztar,zip</pre>
</div>
<p>to create a gzipped tarball and a zip file.  The available formats are:</p>
<table border="1" class="docutils">
<colgroup>
<col width="24%" />
<col width="56%" />
<col width="20%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Format</th>
<th class="head">Description</th>
<th class="head">Notes</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">zip</span></tt></td>
<td>zip file (<tt class="file docutils literal"><span class="pre">.zip</span></tt>)</td>
<td>(1),(3)</td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">gztar</span></tt></td>
<td>gzip&#8217;ed tar file
(<tt class="file docutils literal"><span class="pre">.tar.gz</span></tt>)</td>
<td>(2)</td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">bztar</span></tt></td>
<td>bzip2&#8217;ed tar file
(<tt class="file docutils literal"><span class="pre">.tar.bz2</span></tt>)</td>
<td>&nbsp;</td>
</tr>
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">ztar</span></tt></td>
<td>compressed tar file
(<tt class="file docutils literal"><span class="pre">.tar.Z</span></tt>)</td>
<td>(4)</td>
</tr>
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">tar</span></tt></td>
<td>tar file (<tt class="file docutils literal"><span class="pre">.tar</span></tt>)</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<p>Notes:</p>
<ol class="arabic simple">
<li>default on Windows</li>
<li>default on Unix</li>
<li>requires either external <strong class="program">zip</strong> utility or <a class="reference internal" href="../library/zipfile.html#module-zipfile" title="zipfile: Read and write ZIP-format archive files."><tt class="xref py py-mod docutils literal"><span class="pre">zipfile</span></tt></a> module (part
of the standard Python library since Python 1.6)</li>
<li>requires the <strong class="program">compress</strong> program.</li>
</ol>
<p>When using any <tt class="docutils literal"><span class="pre">tar</span></tt> format (<tt class="docutils literal"><span class="pre">gztar</span></tt>, <tt class="docutils literal"><span class="pre">bztar</span></tt>, <tt class="docutils literal"><span class="pre">ztar</span></tt> or
<tt class="docutils literal"><span class="pre">tar</span></tt>) under Unix, you can specify the <tt class="docutils literal"><span class="pre">owner</span></tt> and <tt class="docutils literal"><span class="pre">group</span></tt> names
that will be set for each member of the archive.</p>
<p>For example, if you want all files of the archive to be owned by root:</p>
<div class="highlight-python"><pre>python setup.py sdist --owner=root --group=root</pre>
</div>
<div class="section" id="specifying-the-files-to-distribute">
<span id="manifest"></span><h2>4.1. Specifying the files to distribute<a class="headerlink" href="#specifying-the-files-to-distribute" title="Permalink to this headline">¶</a></h2>
<p>If you don&#8217;t supply an explicit list of files (or instructions on how to
generate one), the <strong class="command">sdist</strong> command puts a minimal default set into the
source distribution:</p>
<ul class="simple">
<li>all Python source files implied by the <em class="xref std std-option">py_modules</em> and
<em class="xref std std-option">packages</em> options</li>
<li>all C source files mentioned in the <em class="xref std std-option">ext_modules</em> or
<em class="xref std std-option">libraries</em> options</li>
<li>scripts identified by the <em class="xref std std-option">scripts</em> option
See <a class="reference internal" href="setupscript.html#distutils-installing-scripts"><em>Installing Scripts</em></a>.</li>
<li>anything that looks like a test script: <tt class="file docutils literal"><span class="pre">test/test*.py</span></tt> (currently, the
Distutils don&#8217;t do anything with test scripts except include them in source
distributions, but in the future there will be a standard for testing Python
module distributions)</li>
<li><tt class="file docutils literal"><span class="pre">README.txt</span></tt> (or <tt class="file docutils literal"><span class="pre">README</span></tt>), <tt class="file docutils literal"><span class="pre">setup.py</span></tt> (or whatever  you
called your setup script), and <tt class="file docutils literal"><span class="pre">setup.cfg</span></tt></li>
<li>all files that matches the <tt class="docutils literal"><span class="pre">package_data</span></tt> metadata.
See <a class="reference internal" href="setupscript.html#distutils-installing-package-data"><em>Installing Package Data</em></a>.</li>
<li>all files that matches the <tt class="docutils literal"><span class="pre">data_files</span></tt> metadata.
See <a class="reference internal" href="setupscript.html#distutils-additional-files"><em>Installing Additional Files</em></a>.</li>
</ul>
<p>Sometimes this is enough, but usually you will want to specify additional files
to distribute.  The typical way to do this is to write a <em>manifest template</em>,
called <tt class="file docutils literal"><span class="pre">MANIFEST.in</span></tt> by default.  The manifest template is just a list of
instructions for how to generate your manifest file, <tt class="file docutils literal"><span class="pre">MANIFEST</span></tt>, which is
the exact list of files to include in your source distribution.  The
<strong class="command">sdist</strong> command processes this template and generates a manifest based
on its instructions and what it finds in the filesystem.</p>
<p>If you prefer to roll your own manifest file, the format is simple: one filename
per line, regular files (or symlinks to them) only.  If you do supply your own
<tt class="file docutils literal"><span class="pre">MANIFEST</span></tt>, you must specify everything: the default set of files
described above does not apply in this case.</p>
<p class="versionchanged">
<span class="versionmodified">Changed in version 2.7: </span>An existing generated <tt class="file docutils literal"><span class="pre">MANIFEST</span></tt> will be regenerated without
<strong class="command">sdist</strong> comparing its modification time to the one of
<tt class="file docutils literal"><span class="pre">MANIFEST.in</span></tt> or <tt class="file docutils literal"><span class="pre">setup.py</span></tt>.</p>
<p class="versionchanged">
<span class="versionmodified">Changed in version 2.7.1: </span><tt class="file docutils literal"><span class="pre">MANIFEST</span></tt> files start with a comment indicating they are generated.
Files without this comment are not overwritten or removed.</p>
<p class="versionchanged">
<span class="versionmodified">Changed in version 2.7.3: </span><strong class="command">sdist</strong> will read a <tt class="file docutils literal"><span class="pre">MANIFEST</span></tt> file if no <tt class="file docutils literal"><span class="pre">MANIFEST.in</span></tt>
exists, like it did before 2.7.</p>
<p>See <a class="reference internal" href="#manifest-template"><em>The MANIFEST.in template</em></a> section for a syntax reference.</p>
</div>
<div class="section" id="manifest-related-options">
<span id="manifest-options"></span><h2>4.2. Manifest-related options<a class="headerlink" href="#manifest-related-options" title="Permalink to this headline">¶</a></h2>
<p>The normal course of operations for the <strong class="command">sdist</strong> command is as follows:</p>
<ul class="simple">
<li>if the manifest file (<tt class="file docutils literal"><span class="pre">MANIFEST</span></tt> by default) exists and the first line
does not have a comment indicating it is generated from <tt class="file docutils literal"><span class="pre">MANIFEST.in</span></tt>,
then it is used as is, unaltered</li>
<li>if the manifest file doesn&#8217;t exist or has been previously automatically
generated, read <tt class="file docutils literal"><span class="pre">MANIFEST.in</span></tt> and create the manifest</li>
<li>if neither <tt class="file docutils literal"><span class="pre">MANIFEST</span></tt> nor <tt class="file docutils literal"><span class="pre">MANIFEST.in</span></tt> exist, create a manifest
with just the default file set</li>
<li>use the list of files now in <tt class="file docutils literal"><span class="pre">MANIFEST</span></tt> (either just generated or read
in) to create the source distribution archive(s)</li>
</ul>
<p>There are a couple of options that modify this behaviour.  First, use the
<em class="xref std std-option">--no-defaults</em> and <em class="xref std std-option">--no-prune</em> to disable the standard
&#8220;include&#8221; and &#8220;exclude&#8221; sets.</p>
<p>Second, you might just want to (re)generate the manifest, but not create a
source distribution:</p>
<div class="highlight-python"><pre>python setup.py sdist --manifest-only</pre>
</div>
<p><em class="xref std std-option">-o</em> is a shortcut for <em class="xref std std-option">--manifest-only</em>.</p>
</div>
<div class="section" id="the-manifest-in-template">
<span id="manifest-template"></span><h2>4.3. The MANIFEST.in template<a class="headerlink" href="#the-manifest-in-template" title="Permalink to this headline">¶</a></h2>
<p>A <tt class="file docutils literal"><span class="pre">MANIFEST.in</span></tt> file can be added in a project to define the list of
files to include in the distribution built by the <strong class="command">sdist</strong> command.</p>
<p>When <strong class="command">sdist</strong> is run, it will look for the <tt class="file docutils literal"><span class="pre">MANIFEST.in</span></tt> file
and interpret it to generate the <tt class="file docutils literal"><span class="pre">MANIFEST</span></tt> file that contains the
list of files that will be included in the package.</p>
<p>This mechanism can be used when the default list of files is not enough.
(See <a class="reference internal" href="#manifest"><em>Specifying the files to distribute</em></a>).</p>
<div class="section" id="principle">
<h3>4.3.1. Principle<a class="headerlink" href="#principle" title="Permalink to this headline">¶</a></h3>
<p>The manifest template has one command per line, where each command specifies a
set of files to include or exclude from the source distribution.  For an
example, let&#8217;s look at the Distutils&#8217; own manifest template:</p>
<div class="highlight-python"><pre>include *.txt
recursive-include examples *.txt *.py
prune examples/sample?/build</pre>
</div>
<p>The meanings should be fairly clear: include all files in the distribution root
matching <tt class="file docutils literal"><span class="pre">*.txt</span></tt>, all files anywhere under the <tt class="file docutils literal"><span class="pre">examples</span></tt> directory
matching <tt class="file docutils literal"><span class="pre">*.txt</span></tt> or <tt class="file docutils literal"><span class="pre">*.py</span></tt>, and exclude all directories matching
<tt class="file docutils literal"><span class="pre">examples/sample?/build</span></tt>.  All of this is done <em>after</em> the standard
include set, so you can exclude files from the standard set with explicit
instructions in the manifest template.  (Or, you can use the
<em class="xref std std-option">--no-defaults</em> option to disable the standard set entirely.)</p>
<p>The order of commands in the manifest template matters: initially, we have the
list of default files as described above, and each command in the template adds
to or removes from that list of files.  Once we have fully processed the
manifest template, we remove files that should not be included in the source
distribution:</p>
<ul class="simple">
<li>all files in the Distutils &#8220;build&#8221; tree (default <tt class="file docutils literal"><span class="pre">build/</span></tt>)</li>
<li>all files in directories named <tt class="file docutils literal"><span class="pre">RCS</span></tt>, <tt class="file docutils literal"><span class="pre">CVS</span></tt>, <tt class="file docutils literal"><span class="pre">.svn</span></tt>,
<tt class="file docutils literal"><span class="pre">.hg</span></tt>, <tt class="file docutils literal"><span class="pre">.git</span></tt>, <tt class="file docutils literal"><span class="pre">.bzr</span></tt> or <tt class="file docutils literal"><span class="pre">_darcs</span></tt></li>
</ul>
<p>Now we have our complete list of files, which is written to the manifest for
future reference, and then used to build the source distribution archive(s).</p>
<p>You can disable the default set of included files with the
<em class="xref std std-option">--no-defaults</em> option, and you can disable the standard exclude set
with <em class="xref std std-option">--no-prune</em>.</p>
<p>Following the Distutils&#8217; own manifest template, let&#8217;s trace how the
<strong class="command">sdist</strong> command builds the list of files to include in the Distutils
source distribution:</p>
<ol class="arabic simple">
<li>include all Python source files in the <tt class="file docutils literal"><span class="pre">distutils</span></tt> and
<tt class="file docutils literal"><span class="pre">distutils/command</span></tt> subdirectories (because packages corresponding to
those two directories were mentioned in the <em class="xref std std-option">packages</em> option in the
setup script&#8212;see section <a class="reference internal" href="setupscript.html#setup-script"><em>Writing the Setup Script</em></a>)</li>
<li>include <tt class="file docutils literal"><span class="pre">README.txt</span></tt>, <tt class="file docutils literal"><span class="pre">setup.py</span></tt>, and <tt class="file docutils literal"><span class="pre">setup.cfg</span></tt> (standard
files)</li>
<li>include <tt class="file docutils literal"><span class="pre">test/test*.py</span></tt> (standard files)</li>
<li>include <tt class="file docutils literal"><span class="pre">*.txt</span></tt> in the distribution root (this will find
<tt class="file docutils literal"><span class="pre">README.txt</span></tt> a second time, but such redundancies are weeded out later)</li>
<li>include anything matching <tt class="file docutils literal"><span class="pre">*.txt</span></tt> or <tt class="file docutils literal"><span class="pre">*.py</span></tt> in the sub-tree
under <tt class="file docutils literal"><span class="pre">examples</span></tt>,</li>
<li>exclude all files in the sub-trees starting at directories matching
<tt class="file docutils literal"><span class="pre">examples/sample?/build</span></tt>&#8212;this may exclude files included by the
previous two steps, so it&#8217;s important that the <tt class="docutils literal"><span class="pre">prune</span></tt> command in the manifest
template comes after the <tt class="docutils literal"><span class="pre">recursive-include</span></tt> command</li>
<li>exclude the entire <tt class="file docutils literal"><span class="pre">build</span></tt> tree, and any <tt class="file docutils literal"><span class="pre">RCS</span></tt>, <tt class="file docutils literal"><span class="pre">CVS</span></tt>,
<tt class="file docutils literal"><span class="pre">.svn</span></tt>, <tt class="file docutils literal"><span class="pre">.hg</span></tt>, <tt class="file docutils literal"><span class="pre">.git</span></tt>, <tt class="file docutils literal"><span class="pre">.bzr</span></tt> and <tt class="file docutils literal"><span class="pre">_darcs</span></tt>
directories</li>
</ol>
<p>Just like in the setup script, file and directory names in the manifest template
should always be slash-separated; the Distutils will take care of converting
them to the standard representation on your platform. That way, the manifest
template is portable across operating systems.</p>
</div>
<div class="section" id="commands">
<h3>4.3.2. Commands<a class="headerlink" href="#commands" title="Permalink to this headline">¶</a></h3>
<p>The manifest template commands are:</p>
<table border="1" class="docutils">
<colgroup>
<col width="48%" />
<col width="52%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Command</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><strong class="command">include pat1 pat2 ...</strong></td>
<td>include all files matching any of the listed
patterns</td>
</tr>
<tr class="row-odd"><td><strong class="command">exclude pat1 pat2 ...</strong></td>
<td>exclude all files matching any of the listed
patterns</td>
</tr>
<tr class="row-even"><td><strong class="command">recursive-include dir pat1 pat2
...</strong></td>
<td>include all files under <em>dir</em> matching any of
the listed patterns</td>
</tr>
<tr class="row-odd"><td><strong class="command">recursive-exclude dir pat1 pat2
...</strong></td>
<td>exclude all files under <em>dir</em> matching any of
the listed patterns</td>
</tr>
<tr class="row-even"><td><strong class="command">global-include pat1 pat2 ...</strong></td>
<td>include all files anywhere in the source tree
matching &#8212; &amp; any of the listed patterns</td>
</tr>
<tr class="row-odd"><td><strong class="command">global-exclude pat1 pat2 ...</strong></td>
<td>exclude all files anywhere in the source tree
matching &#8212; &amp; any of the listed patterns</td>
</tr>
<tr class="row-even"><td><strong class="command">prune dir</strong></td>
<td>exclude all files under <em>dir</em></td>
</tr>
<tr class="row-odd"><td><strong class="command">graft dir</strong></td>
<td>include all files under <em>dir</em></td>
</tr>
</tbody>
</table>
<p>The patterns here are Unix-style &#8220;glob&#8221; patterns: <tt class="docutils literal"><span class="pre">*</span></tt> matches any sequence of
regular filename characters, <tt class="docutils literal"><span class="pre">?</span></tt> matches any single regular filename
character, and <tt class="docutils literal"><span class="pre">[range]</span></tt> matches any of the characters in <em>range</em> (e.g.,
<tt class="docutils literal"><span class="pre">a-z</span></tt>, <tt class="docutils literal"><span class="pre">a-zA-Z</span></tt>, <tt class="docutils literal"><span class="pre">a-f0-9_.</span></tt>).  The definition of &#8220;regular filename
character&#8221; is platform-specific: on Unix it is anything except slash; on Windows
anything except backslash or colon.</p>
</div>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../contents.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">4. Creating a Source Distribution</a><ul>
<li><a class="reference internal" href="#specifying-the-files-to-distribute">4.1. Specifying the files to distribute</a></li>
<li><a class="reference internal" href="#manifest-related-options">4.2. Manifest-related options</a></li>
<li><a class="reference internal" href="#the-manifest-in-template">4.3. The MANIFEST.in template</a><ul>
<li><a class="reference internal" href="#principle">4.3.1. Principle</a></li>
<li><a class="reference internal" href="#commands">4.3.2. Commands</a></li>
</ul>
</li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="configfile.html"
                        title="previous chapter">3. Writing the Setup Configuration File</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="builtdist.html"
                        title="next chapter">5. Creating Built Distributions</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
  <li><a href="../bugs.html">Report a Bug</a></li>
  <li><a href="../_sources/distutils/sourcedist.txt"
         rel="nofollow">Show Source</a></li>
</ul>

<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="builtdist.html" title="5. Creating Built Distributions"
             >next</a> |</li>
        <li class="right" >
          <a href="configfile.html" title="3. Writing the Setup Configuration File"
             >previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="http://www.python.org/">Python</a> &raquo;</li>
        <li>
          <a href="../index.html">Python 2.7.5 documentation</a> &raquo;
        </li>

          <li><a href="index.html" >Distributing Python Modules</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
    &copy; <a href="../copyright.html">Copyright</a> 1990-2020, Python Software Foundation.
    <br />
    The Python Software Foundation is a non-profit corporation.
    <a href="http://www.python.org/psf/donations/">Please donate.</a>
    <br />
    Last updated on Oct 13, 2020.
    <a href="../bugs.html">Found a bug</a>?
    <br />
    Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
    </div>

  </body>
</html>