annotate setup.py @ 235:dcb08aa934a9

Added tag 0.3.0 for changeset bcbe934eab29
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 16 Mar 2014 22:03:00 -0700
parents bcbe934eab29
children 3580410865fe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1 import os
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2 import os.path
195
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
3 import time
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
4 import subprocess
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
5 from setuptools import setup, find_packages
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
6
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
7
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
8 def read(fname):
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
9 with open(os.path.join(os.path.dirname(__file__), fname)) as fp:
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
10 return fp.read()
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
11
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
12
195
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
13 def runcmd(cmd):
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
14 p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
15 stderr=subprocess.PIPE)
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
16 out, err = p.communicate()
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
17 return out, err
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
18
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
19
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
20 # Figure out the version.
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
21 # (this is loosely based on what Mercurial does)
232
dbc855c585cf Fixed a bug in the setup script.
Ludovic Chabant <ludovic@chabant.com>
parents: 206
diff changeset
22 version = None
195
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
23 try:
234
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
24 if os.path.isdir(os.path.join(os.path.dirname(__file__), '.hg')):
195
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
25 cmd = ['hg', 'log', '-r', '.', '--template', '{tags}\n']
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
26 tags, err = runcmd(cmd)
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
27 versions = [t for t in tags.split() if t[0].isdigit()]
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
28
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
29 cmd = ['hg', 'id', '-i']
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
30 hgid, err = runcmd(cmd)
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
31 hgid = hgid.strip()
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
32
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
33 if versions:
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
34 # Use tag found at the current revision. Add dirty flag if any.
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
35 version = versions[-1]
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
36 if hgid.endswith('+'):
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
37 version += '+'
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
38 else:
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
39 # Use latest tag.
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
40 cmd = ['hg', 'parents', '--template', '{latesttag}+{latesttagdistance}-']
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
41 version, err = runcmd(cmd)
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
42 version += hgid
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
43 if version.endswith('+'):
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
44 version += time.strftime('%Y%m%d')
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
45 except OSError:
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
46 # Mercurial isn't installed, or not in the PATH.
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
47 version = None
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
48
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
49 if version:
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
50 f = open("wikked/__version__.py", "w")
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
51 f.write('# this file is autogenerated by setup.py\n')
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
52 f.write('version = "%s"\n' % version)
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
53 f.close()
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
54
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
55
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
56 try:
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
57 from wikked import __version__
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
58 version = __version__.version
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
59 except ImportError:
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
60 version = 'unknown'
167
adc70e861804 Some fixes to the Pypi packaging.
Ludovic Chabant <ludovic@chabant.com>
parents: 162
diff changeset
61
adc70e861804 Some fixes to the Pypi packaging.
Ludovic Chabant <ludovic@chabant.com>
parents: 162
diff changeset
62
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
63 setup(
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
64 name='Wikked',
195
964fd28e9b39 Added automatic versioning.
Ludovic Chabant <ludovic@chabant.com>
parents: 169
diff changeset
65 version=version,
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
66 description=("A wiki engine entirely managed with text files "
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
67 "stored in a revision control system."),
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
68 author='Ludovic Chabant',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
69 author_email='ludovic@chabant.com',
167
adc70e861804 Some fixes to the Pypi packaging.
Ludovic Chabant <ludovic@chabant.com>
parents: 162
diff changeset
70 url="https://github.com/ludovicchabant/Wikked",
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
71 license="Apache 2.0",
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
72 keywords="wiki mercurial hg git",
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
73 packages=find_packages(exclude=["tests"]),
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
74 install_requires=[
234
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
75 'Flask==0.10.1',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
76 'Flask-Bcrypt==0.5.2',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
77 'Flask-Login==0.2.10',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
78 'Flask-Script==0.5.1',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
79 'Jinja2==2.7.2',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
80 'Markdown==2.2.1',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
81 'Pygments==1.6',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
82 'SQLAlchemy==0.9.3',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
83 'Whoosh==2.5.5',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
84 'colorama==0.2.7',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
85 'py-bcrypt==0.2',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
86 'pysqlite==2.6.3',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
87 'pytest==2.5.2',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
88 'repoze.lru==0.6',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
89 'python-hglib'],
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
90 include_package_data=True,
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
91 package_data={
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
92 'wikked': [
234
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
93 'resources/defaults.cfg',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
94 'resources/hg_log.style',
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
95 'resources/init/*',
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
96 'templates/*.html',
206
64c64df08d2a Package Bootstrap fonts with the rest.
Ludovic Chabant <ludovic@chabant.com>
parents: 205
diff changeset
97 'static/bootstrap/fonts/*',
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
98 'static/css/wikked.min.css',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
99 'static/img/*.png',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
100 'static/js/require.js',
205
719bcebefd68 No need to package `pagedown` code separately.
Ludovic Chabant <ludovic@chabant.com>
parents: 195
diff changeset
101 'static/js/wikked.min.js'
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
102 ]
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
103 },
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
104 zip_safe=False,
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
105 classifiers=[
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
106 'Development Status :: 3 - Alpha',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
107 'License :: OSI Approved :: Apache Software License',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
108 'Environment :: Console',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
109 'Operating System :: MacOS :: MacOS X',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
110 'Operating System :: Unix',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
111 'Operating System :: POSIX',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
112 'Operating System :: Microsoft :: Windows',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
113 'Programming Language :: Python',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
114 ],
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
115 entry_points={
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
116 'console_scripts': [
234
bcbe934eab29 Fixed `setuptools` package:
Ludovic Chabant <ludovic@chabant.com>
parents: 232
diff changeset
117 'wk = wikked.witch:real_main'
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
118 ]
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
119 },
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
120 )
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
121