title: Format of name of a Python package with setuptools
body: <p>What should be the format of the <code>name</code>  argument of <code>setuptools.setup()</code>? Is it free-form so I can use spaces on it?</p>
  
  <pre><code>from setuptools import setup, find_packages
  
  setup(
      name="My Stuff",
      version="0.0.1.dev1",
      packages=find_packages(),
      test_suite='page_peel_tests'
  )
  </code></pre>
  
  <p>Or should it be an identifier?</p>
  
  <pre><code>setup(
      name="MyStuff", # Or my_stuff
      version="0.0.1.dev1",
      packages=find_packages(),
      test_suite='page_peel_tests'
  )
  </code></pre>
  
  <p>May I use hyphens on it?</p>
  
  <pre><code>setup(
      name="my-stuff",
      version="0.0.1.dev1",
      packages=find_packages(),
      test_suite='page_peel_tests'
  )
  </code></pre>
  
  <p>Also, are the rules different between setuptools and distutils?</p>