TITLE OF PAPER: Distribution Basics - Using distutils
URL OF PRESENTATION: _URL_of_powerpoint_presentation_
PRESENTED BY: Anna Ravenscroft
REPRESENTING: _name_of_the_company_they_represent_
CONFERENCE: PyCON 2004
DATE: 20040326
LOCATION: _venue_and_room_in_venue_
--------------------------------------------------------------------------
REAL-TIME NOTES / ANNOTATIONS OF THE PAPER:
{If you've contributed, add your name, e-mail & URL at the bottom}
"Bullets don't kill people"
"Bad speakers bore them to death"
Who am I
    Not a morning person
    Novice Pythonista
    Background in Training and Coaching
        Office apps
    Not a developer
    Program in Python only
    Technical editing
    Tutor list and c.l.py
Why distutils?
  My own project frustrations
  Current documentation
  Questions on tutor and c.l.py
  Chatting with other Pythonistas
Who are you
  Novice Pythonistas
    Can program in Python
    Can import modules
  New to Packaging
    first Time
    Review fundamentals
Lots of people never used dist utils
Some people tried to use distutils and gave up, including David Ascher -- this should be a reality check.
Focus
  Smple stuff: just enough to get started
  Cross-platform, pure distributions
What is a package
  A module that contains other modules
A distribution is a group of files used to create a module?
What's in a distribution:
    Packages
    Modules
    Python scripts
    ...
Pure vs non-pure distributions
    Pure : python only
    Non pure
        c-coded extensions
        pyrex
        C++ / fortran may be supported
Prepping your distribution
    Distribution root dir
    setup.py
    README/README.txt
    manifest.in
    setup.cfg
Directory Issues
All files in Distribution root directory
  setup.py readme or readme.txt
  manifest.in setup.cfg
  scripts and top-level modules
Subdirectories of the distribution root
    test/test.py
Any packages:
    Own package specific subdir
    subdir name = pkg name
    Include __init__.py in pkg subdir
User friendly setup.py
from distutils.core import setup [, Extension]
setup (keyword, arguments)
Call setup w/ keyword arguments
    Meta data args
    Content args
Slides are going by too fast to keep up - see URL below
Detailed examples of config files
It seems that even in the Python community distutils is a kind of voodoo.
    One person cited boilerplate stolen from PyGame for data files.
    Another tried to do cross platform dist on windows/linux - had probs there was forced to use platform specific relative paths.
MANIFEST.in is order specific
There are some options besides distutils.
Q: setup.py need to hack sys.
A: no - there isn't really - it would be good to add
Q: if you have a package that has another package sub referenced to it - can you use the command line to point to the sub-package
A: --install-lib - points to where the lib parts will be installed
Q: source distrib on windows they go to certain extensions - can they be overridden
A: --formats
Q:
A:
Q:
A:
--------------------------------------------------------------------------
REFERENCES: {as documents / sites are referenced add them below}
Paper: http://www.python.org/pycon/dc2004/papers/26/pycon_distutils
--------------------------------------------------------------------------
QUOTES:
--------------------------------------------------------------------------
CONTRIBUTORS: {add your name, e-mail address and URL below}
Ted Leung, twl@osafoundation.org, http://www.sauria.com/blog
--------------------------------------------------------------------------
E-MAIL BOUNCEBACK: {add your e-mail address separated by commas }
--------------------------------------------------------------------------
NOTES ON / KEY TO THIS TEMPLATE:
A headline (like a field in a database) will be CAPITALISED
    This differentiates from the text that follows
A variable that you can change will be surrounded by _underscores_
    Spaces in variables are also replaced with under_scores
    This allows people to select the whole variable with a simple double-click
A tool-tip is lower case and surrounded by {curly brackets / parentheses}
    These supply helpful contextual information.
--------------------------------------------------------------------------
Copyright shared between all the participants unless otherwise stated...