[MERGE] (#183391) improve PyPI integration by adding project metadata to setup.py

John Arbash Meinel john at arbash-meinel.com
Wed Jan 16 21:56:28 GMT 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Martin Pool wrote:
> While I was doing the 1.1 release and updating the docs, I noticed that
> we could add more information to setup.py to be automatically included
> in our index.
> 
> The index entry previously had some text from README.  Rather than
> duplicating it, I'v changed setup.py to pull it in from there.
> 
> (I think the convention is that setup.py is always run from the source
> directory, so openining it in that way is safe.)
> 
> As a followon, I see our version number format differs from that
> specified in <http://docs.python.org/dist/meta-data.html>, which wants
> e.g. '1.1pr1'.  We could change that.  I remember Alexander previously
> said that 1.1.0.preview.1 was somehow easier for him to use though...
> 
> 

BB:approve

We went with 1.1.0.final.1 because it is easier to parse with a simple
"version.split('.')".

I believe python itself does 1.1.0final1 which is what we did for a while.

We could leave the value of "bzrlib.__version__" alone, and just use:

version='%s.%s.%s%s%s' % bzrlib.version_info

if you prefer.


+    'long_description': file("README").read(),

^- This seems like a risky thing to do. Maybe we should at least split
it out from inside the dict() into a helper function?
I would usually do something like:

def get_long_description():
  dirname = os.path.dirname(os.path.abspath(__file__))
  readme = os.path.join(dirname, 'README')
  f = open(readme, 'rb')
  try:
    text = f.read()
  finally:
    f.close()
  return text

It *is* convention to run "python setup.py" or "./setup.py". But it
isn't a lot harder to make it robust if someone wants to build
out-of-directory or something like that.

I think we also want to open the file in binary mode, and not text mode,
but I could be wrong.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHjn2MJdeBCYSNAAMRAm88AKDMdvYKAkvDYP1aap5dVy/PDCyK2wCfaqrR
8mcapgdNxjSzCNKDqoFdibw=
=YDiG
-----END PGP SIGNATURE-----



More information about the bazaar mailing list