99"""
1010
1111import os
12+ import re
13+ import sys
1214from setuptools import setup , find_packages
1315
1416# Use this version when git data are not available, like in git zip archive.
1517# Update when tagging a new release.
1618FALLBACK_VERSION = '1.1.2.post0'
1719
20+ # determine if we run with Python 3.
21+ PY3 = (sys .version_info [0 ] == 3 )
22+
1823# versioncfgfile holds version data for git commit hash and date.
1924# It must reside in the same directory as version.py.
2025MYDIR = os .path .dirname (os .path .abspath (__file__ ))
2328
2429def gitinfo ():
2530 from subprocess import Popen , PIPE
26- kw = dict (stdout = PIPE , cwd = MYDIR )
31+ kw = dict (stdout = PIPE , cwd = MYDIR , universal_newlines = True )
2732 proc = Popen (['git' , 'describe' , '--match=v[[:digit:]]*' ], ** kw )
2833 desc = proc .stdout .read ()
2934 proc = Popen (['git' , 'log' , '-1' , '--format=%H %ct %ci' ], ** kw )
@@ -35,8 +40,10 @@ def gitinfo():
3540
3641
3742def getversioncfg ():
38- import re
39- from ConfigParser import RawConfigParser
43+ if PY3 :
44+ from configparser import RawConfigParser
45+ else :
46+ from ConfigParser import RawConfigParser
4047 vd0 = dict (version = FALLBACK_VERSION , commit = '' , date = '' , timestamp = 0 )
4148 # first fetch data from gitarchivecfgfile, ignore if it is unexpanded
4249 g = vd0 .copy ()
@@ -65,18 +72,24 @@ def getversioncfg():
6572 cp .set ('DEFAULT' , 'commit' , g ['commit' ])
6673 cp .set ('DEFAULT' , 'date' , g ['date' ])
6774 cp .set ('DEFAULT' , 'timestamp' , g ['timestamp' ])
68- cp .write (open (versioncfgfile , 'w' ))
75+ with open (versioncfgfile , 'w' ) as fp :
76+ cp .write (fp )
6977 return cp
7078
7179versiondata = getversioncfg ()
7280
81+
7382def dirglob (d , * patterns ):
7483 from glob import glob
7584 rv = []
7685 for p in patterns :
7786 rv += glob (os .path .join (d , p ))
7887 return rv
7988
89+
90+ with open (os .path .join (MYDIR , 'README.rst' )) as fp :
91+ long_description = fp .read ()
92+
8093# define distribution
8194setup_args = dict (
8295 name = 'diffpy.pdfgui' ,
@@ -111,6 +124,8 @@ def dirglob(d, *patterns):
111124 maintainer_email = 'pavol.juhas@gmail.com' ,
112125 url = 'https://github.com/diffpy/diffpy.pdfgui' ,
113126 description = "GUI for PDF simulation and structure refinement." ,
127+ long_description = long_description ,
128+ long_description_content_type = 'text/x-rst' ,
114129 license = 'BSD' ,
115130 keywords = 'PDF structure refinement GUI' ,
116131 classifiers = [
0 commit comments