15 July 2009 12 comments Python
Gun to your head; what would it take to make setuptools as a package author easy to use?
I've spent far too long time today trying to create a package for a little piece of code I've written. Because I can never remember all the bizarre options and commands to setup.py I tried to do it by following Tarek Ziade's wonderful Expert Python Programming but I still got stuck.
Granted, I did not read the f**n manual. Why should I have to? I've got more important things to do such as eating cookies and watching tv.
Here's what I know:
- Create a directory with program in it "myapp/foo.py"
- Write a run unit tests
- Write a README file that explains in human words what it does.
Here's what I don't know:
- What an egg is and how it works
- If I should test things with setup.py or test the normal way on the command line
- If I should use "bdist egg upload" or "upload sdist" or "sdist bdist register" or "egg sdist bdist" etc.
- Where I put the MANIFEST.in (what a name by the way!) and/or say anything in setup.py about it.
If I was a setuptools hacker I would happily wrap up all these annoying questions into a single script that just sensibly guesses everything and removing any choices and replace them with suggestions. But I'm not.
Or am I wrong. Should I take the plunge and study the manual? Will having a all-singing-all-dancing script that just works just be another leaky abstraction?
PS. If you do comment, please don't answer the bullet point questions above. I know most of the answers at the moment (but will surely forget them till the next time). Asking the questions to prove a point that setuptools requires too much schooling.
- premailer.py - Transform CSS into line style attributes with lxml.html 11 July 2009
- Getting uploadify to work 17 July 2009
- Related by category:
- Best practice with retries with requests 19 April 2017 Python
- How much faster is Redis at storing a blob of JSON compared to PostgreSQL? 28 September 2019 Python
- Fastest way to find out if a file exists in S3 (with boto3) 16 June 2017 Python
- Interesting float/int casting in Python 25 April 2006 Python
- Fastest way to unzip a zip file in Python 31 January 2018 Python
- Related by keyword:
- To assert or assertEqual in Python unit testing 14 February 2009
- Correction: running Django tests with MongoDB is NOT slow 30 May 2010
- Mocking a Python standard library 14 March 2008
- COPYFILE_DISABLE and python distutils in python 2.6 12 April 2014
- Django vs. Java 25 October 2008