Differences between revisions 1 and 20 (spanning 19 versions)
Revision 1 as of 2009-01-25 10:37:54
Size: 1834
Editor: 234
Comment:
Revision 20 as of 2009-01-28 11:51:26
Size: 4595
Editor: tarek
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
This survey will be put online in a SurveyMonkey-like system whenever it is ready...
Line 4: Line 6:
Who are you ? (describe in a few sentence what do you do with
Python)
 * Who are you ? (one answer)
Line 7: Line 8:
<open question>   1. Professional developer using Python exclusively.
  2. Professional developer using Python sometimes.
  3. Professional developer using Python unable to use Python "at work".
  4. Hobbyist using Python.
Line 9: Line 13:
How do you organize your application code ?  * How do you organize your application code most of the time ? (one answer)
Line 11: Line 15:
  - I put everything in one package
  - I create several packages and with one main package to launch the
    application
  - I create several packages and use a tool like zc.buildout or Paver to
    distribute the whole application
  1. I put everything in one package
  2. I create several packages and use a main package or script to launch the application
  3. I create several packages and use a tool like zc.buildout or Paver to distribute the whole application
  4. I use my own mechanism for aggregating packages into a single install.
Line 17: Line 20:
What are the tools you are using to package and distribute
your Python application ?
 * For libraries you don't distribute publicly, do you you create a setup.py script? (one answer)
Line 20: Line 22:
  - None
  - distutils
  - setuptools
  - zc.buildout and setuptools
  - zc.buildout and distutils
  - Paver and distutils
  - Paver and setuptools
  1. Yes
  2. No
Line 28: Line 25:
How do you install a package that does not provide an installer ?  * What is the main tool or combination of tools you are using to package and distribute your Python application ? (one answer)
Line 30: Line 27:
  - I use easy_install
  - I use pip
  - I download it and run manually the install command
  - I use the packaging tool provided in my system (apt, yum, etc)
  1. None
  2. distutils
  3. setuptools
  4. zc.buildout and setuptools
  5. zc.buildout and distutils
  6. Paver and distutils
  7. Paver and setuptools
  8. Other : <say which>
Line 35: Line 36:
How do you remove a package ?
Line 37: Line 37:
  - 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 not
    polluted
 * 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)
Line 42: Line 39:
Do you work with namespaced packages ?   1. I use easy_install
  2. I use pip
  3. I download it and manually run the `python setup.py install` command
  4. I use the packaging tool provided in my system (apt, yum, etc)
  5. I move files around and create symlinks manually
  6. Other : <say which>
Line 44: Line 46:
  - Yes
  - No

 * How do you remove a package ? (check all that apply)

  1. manually, by removing the folder and fixing the .pth files
  2. using the packaging tool (apt, yum, etc)
  3. I use one virtualenv per application, so the main python is never polluted, and only remove entire environments
  4. I change PYTHONPATH to include a directory of the packages used by my application, then remove just that directory
  5. 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)

  1. I don't use multiple versions of a library
  2. I use setuptools' multi-version features
  3. I use virtualenv
  4. I use zc.buildout
  5. I build fresh Python interpreter from source for each project
  6. I set PYTHONPATH to select particular libraries
  7. I set sys.path in my scripts
  8. 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)

  1. Yes
  2. No

 * Has PyPI become mandatory in your everyday work (if you use zc.buildout for example) ? (one answer)

  1. Yes
  2. No


 * If you previously answered Yes, did you set up an alternative solution (mirror, cache..) in case PyPI is down ? (one answer)

  1. Yes
  2. No

 * Do you register your packages to PyPI ? (one answer)

  1. Yes
  2. No


 * Do you upload your package to PyPI ? (one answer)

  1. Yes
  2. No


 * If you previously answered No, how do you distribute your packages ? (one answer)

  1. One my own website, using simple links
  2. One my own website, using a PyPI-like server
  3. On a forge, like sourceforge

 * Where are you located ?

  * <open question>
Line 49: Line 107:
What are in your opinion, the 5 most important problems (bad behaviors
or lacks) in Distutils today ?
 * What are in your opinion, the 5 most important problems (bad behaviors or missing features) in Distutils today ?
Line 52: Line 109:
<open question>   * <open question>
Line 54: Line 111:
Would you like to see Python's Distutils package provide an uninstall command that removes just the files installed, and cleanup the .pth, even if it does undesirable things ?  * Would you like to see Python's Distutils package provide an uninstall command that correctly removes the files installed by a package (without taking care of possible side-effect) **effects to be listed here** ? (one answer)
Line 56: Line 113:
  - Yes
  - No
  1. Yes
  2. No
Line 59: Line 116:
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 5 most important features that exists in third-party tools, you would like to see included by the Python standard Library ?
Line 62: Line 118:
<open question>   * <open question>
Line 64: Line 120:
What are the other things you like to say in order to help
building Distutils roadmap ?
Line 67: Line 121:
<open question>  * What are the other things you like to say in order to help building Distutils roadmap ?

  * <open question>

----

= Questions =

 1. 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?

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)
    1. Professional developer using Python exclusively.
    2. Professional developer using Python sometimes.
    3. Professional developer using Python unable to use Python "at work".
    4. Hobbyist using Python.
  • How do you organize your application code most of the time ? (one answer)
    1. I put everything in one package
    2. I create several packages and use a main package or script to launch the application
    3. I create several packages and use a tool like zc.buildout or Paver to distribute the whole application
    4. 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)
    1. Yes
    2. No
  • What is the main tool or combination of tools you are using to package and distribute your Python application ? (one answer)
    1. None
    2. distutils
    3. setuptools
    4. zc.buildout and setuptools
    5. zc.buildout and distutils
    6. Paver and distutils
    7. Paver and setuptools
    8. 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)
    1. I use easy_install
    2. I use pip
    3. I download it and manually run the python setup.py install command

    4. I use the packaging tool provided in my system (apt, yum, etc)
    5. I move files around and create symlinks manually
    6. Other : <say which>

  • How do you remove a package ? (check all that apply)
    1. manually, by removing the folder and fixing the .pth files
    2. using the packaging tool (apt, yum, etc)
    3. I use one virtualenv per application, so the main python is never polluted, and only remove entire environments
    4. I change PYTHONPATH to include a directory of the packages used by my application, then remove just that directory
    5. 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)
    1. I don't use multiple versions of a library
    2. I use setuptools' multi-version features
    3. I use virtualenv
    4. I use zc.buildout
    5. I build fresh Python interpreter from source for each project
    6. I set PYTHONPATH to select particular libraries
    7. I set sys.path in my scripts
    8. 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)

    1. Yes
    2. No
  • Has PyPI become mandatory in your everyday work (if you use zc.buildout for example) ? (one answer)
    1. Yes
    2. No
  • If you previously answered Yes, did you set up an alternative solution (mirror, cache..) in case PyPI is down ? (one answer)
    1. Yes
    2. No
  • Do you register your packages to PyPI ? (one answer)
    1. Yes
    2. No
  • Do you upload your package to PyPI ? (one answer)
    1. Yes
    2. No
  • If you previously answered No, how do you distribute your packages ? (one answer)
    1. One my own website, using simple links
    2. One my own website, using a PyPI-like server
    3. On a forge, like sourceforge
  • Where are you located ?
    • <open question>

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 ?
    • <open question>

  • Would you like to see Python's Distutils package provide an uninstall command that correctly removes the files installed by a package (without taking care of possible side-effect) **effects to be listed here** ? (one answer)
    1. Yes
    2. No
  • What are the 5 most important features that exists in third-party tools, you would like to see included by the Python standard Library ?
    • <open question>

  • What are the other things you like to say in order to help building Distutils roadmap ?
    • <open question>


Questions

  1. 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?

Packaging Survey (last edited 2009-03-08 12:35:09 by tarek)

Unable to edit the page? See the FrontPage for instructions.