Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!ecngs!feeder2.ecngs.de!newsfeed.freenet.ag!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.002 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'root': 0.04; 'base.': 0.05; 'makefile': 0.07; 'subject:modules': 0.09; 'url:github': 0.09; 'useless': 0.09; 'cc:addr:python-list': 0.10; 'stored': 0.10; 'subject:python': 0.11; 'static': 0.13; 'commit': 0.15; 'distinct': 0.16; 'personally,': 0.16; 'sdist': 0.16; 'sphinx,': 0.16; 'two,': 0.16; 'with/on': 0.16; 'wrote:': 0.17; 'tests.': 0.17; 'tests': 0.18; 'changes': 0.20; '(usually': 0.22; "i'd": 0.22; 'installation': 0.23; 'cc:2**0': 0.23; 'mention': 0.23; "haven't": 0.23; "i've": 0.23; 'seems': 0.23; 'cc:no real name:2**0': 0.24; 'cc:addr:python.org': 0.25; 'header:In-Reply- To:1': 0.25; 'am,': 0.27; 'skip:@ 10': 0.27; 'lines': 0.28; 'run': 0.28; 'post': 0.28; 'environment': 0.29; 'source': 0.29; "i'm": 0.29; 'projects.': 0.30; 'code': 0.31; 'generally': 0.32; 'running': 0.32; 'docs': 0.33; 'themselves': 0.33; 'received:google.com': 0.34; 'project': 0.34; 'done': 0.34; 'along': 0.35; 'expected': 0.35; 'pm,': 0.35; 'received:192.168.0': 0.35; 'received:209.85.220': 0.35; 'subject:?': 0.35; 'received:209.85': 0.35; 'something': 0.35; 'there': 0.35; 'really': 0.36; 'but': 0.36; 'message- id:@gmail.com': 0.36; 'wanted': 0.36; 'totally': 0.36; 'anything': 0.36; 'should': 0.36; 'charset:us-ascii': 0.36; 'two': 0.37; 'why': 0.37; 'rather': 0.37; 'received:209': 0.37; 'subject:: ': 0.38; 'unit': 0.38; 'sure': 0.38; 'received:192': 0.39; 'received:192.168': 0.40; 'header:Received:5': 0.40; 'end': 0.40; 'your': 0.60; 'day,': 0.60; "you'll": 0.62; 'header:Message-Id:1': 0.62; 'strange': 0.62; 'personal': 0.62; 'of:': 0.65; "everything's": 0.84; 'steps.': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; bh=tugAw78tDohTyB0wVUo9XUu590CFnpWZxIU3f/U7dxs=; b=c1MYmUnGzsVTQeZn6jlTZgnjUkfz0AV7+4MqWo1K6L2FiRyeDwaw1qPNU2gsZ1RlhP blboLgPzX9hnhlNvJw1UzUuHKlyEVJ9pXEhnQDLog9EUYmNZ/sndGp141rD9zaNXm5Ya l+lWYsvBOy3xEUvgdcTZfs8g4eV+qUIfZnukXe7ChVS71ElrKX4gTallfeZZykfr+aR5 a61wu5BCxLsOxOTaDt6MuQ+c21O+YuuK1QxyawpTDCZU2kUs7gkf7oClLfrHRJvOuglf Sny38mraY9I7AK/77jkR132t14zhJayiPiQyjQNA2Lc2ZcoQV8srAv1+DVPhwLcGisUU faqg== Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 6.0 \(1485\)) Subject: Re: Shipping python modules - best practices? From: Demian Brecht In-Reply-To: <8B21627F-70C4-48AB-B5E8-8834157B147E@gmail.com> Date: Sat, 27 Oct 2012 14:41:29 -0700 Content-Transfer-Encoding: quoted-printable References: <12ec4164-7711-4498-9bee-62c8b242aaa5@googlegroups.com> <8B21627F-70C4-48AB-B5E8-8834157B147E@gmail.com> To: rambius X-Mailer: Apple Mail (2.1485) Cc: python-list@python.org X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 37 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1351374094 news.xs4all.nl 6916 [2001:888:2000:d::a6]:36522 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:32293 I should also mention that these are just my personal best practices = that I've put together during my time working with/on OS projects. = You'll almost never find two projects with identical packaging, so = really at the end of the day, it's totally up to you and your particular = project requirements. On 2012-10-27, at 2:39 PM, Demian Brecht wrote: > 1) IMHO, these should be two distinct steps. You will definitely want = to run unit tests without sdist and likewise, I'm sure you'll want to = sdist without unit tests. Personally, if I wanted to combine the two, = I'd create tasks in a makefile and just run something along the lines = of: make unit sdist >=20 > 2) I don't understand why you'd want to run unit tests during = installation. Unit tests are generally used pre-commit to ensure = everything's working as expected in your environment and post commit to = ensure there are no knock-on effects caused by your changes to the = current code base. Running them during installation seems rather strange = and useless to me.. >=20 > 3) Docs are generally stored in a /doc directory at the root of your = project. I haven't used pydoc, but if it's anything like sphinx, then = best practice is to commit the source for your docs and have the users = using the project generate the static content themselves (usually done = through a make target). >=20 > On 2012-10-27, at 7:02 AM, rambius = wrote: Demian Brecht @demianbrecht http://demianbrecht.github.com