This survey will be put online in a SurveyMonkey-like system whenever it is ready...
Part 1, how do you work ?
- Who are you ? (one answer)
- Professional developer using Python exclusively.
- Professional developer using Python sometimes.
- Professional developer using Python unable to use Python "at work".
- Hobbyist using Python.
- How do you organize your application code most of the time ? (one answer)
- I put everything in one package
- I create several packages and use a main package or script to launch the application
- I create several packages and use a tool like zc.buildout or Paver to distribute the whole application
- I use my own mechanism for aggregating packages into a single install.
- For libraries you don't distribute publicly, do you you create a setup.py script? (one answer)
- What is the main tool or combination of tools you are using to package and distribute your Python application ? (one answer)
- zc.buildout and setuptools
- zc.buildout and distutils
- Paver and distutils
- Paver and setuptools
Other : <say which>
- How do you install a package that does not provide an standalone installer (but provides a standard setup.py script) most of the time ? (one answer)
- I use easy_install
- I use pip
I download it and manually run the python setup.py install command
- I use the packaging tool provided in my system (apt, yum, etc)
- I move files around and create symlinks manually
Other : <say which>
- How do you remove a package ? (check all that apply)
- manually, by removing the folder and fixing the .pth files
- using the packaging tool (apt, yum, etc)
- I use one virtualenv per application, so the main python is never polluted, and only remove entire environments
- I change PYTHONPATH to include a directory of the packages used by my application, then remove just that directory
- I don't know / I fail at uninstallation
- How do you manage using more than one version of a library on a system? (check all that apply)
- I don't use multiple versions of a library
- I use setuptools' multi-version features
- I use virtualenv
- I use zc.buildout
- I build fresh Python interpreter from source for each project
- I set PYTHONPATH to select particular libraries
- I set sys.path in my scripts
Other: <say what>
Do you work with setuptools' namespaced packages ? A namespace package is a package that may be split across multiple project distributions. For example, Zope 3's zope package is a namespace package, because subpackages like zope.interface and zope.publisher may be distributed separately (see http://peak.telecommunity.com/DevCenter/setuptools) (one answer)
- Has PyPI become mandatory in your everyday work (if you use zc.buildout for example) ? (one answer)
- If you previously answered Yes, did you set up an alternative solution (mirror, cache..) in case PyPI is down ? (one answer)
- Do you register your packages to PyPI ? (one answer)
- Do you upload your package to PyPI ? (one answer)
- If you previously answered No, how do you distribute your packages ? (one answer)
- One my own website, using simple links
- One my own website, using a PyPI-like server
- On a forge, like sourceforge
- Where are you located ?
Part 2, What's missing ? What is wrong ?
- What are in your opinion, the 5 most important problems (bad behaviors or missing features) in Distutils today ?
- What are the 5 most important features that exists in third-party tools, you would like to see included by the Python standard Library ?
- What are the other things you like to say in order to help building Distutils roadmap ?
- Regarding the questions that ask "what are the 5 most important X", is it possible for the survey to instead list a number of choices and let the person taking the survey rank them from most- to least-important?
- You probably don't know all the possible answers. Ask the user "What are they?" and they will tell you. Ask the user "Which of these", and they tend to think only of the choices on your list.