Minor correction to django-mptt requirements.
[philo.git] / setup.py
1 #!/usr/bin/env python
2
3 from setuptools import setup
4 import os
5
6
7 # Shamelessly cribbed from django's setup.py file.
8 def fullsplit(path, result=None):
9         """
10         Split a pathname into components (the opposite of os.path.join) in a
11         platform-neutral way.
12         """
13         if result is None:
14                 result = []
15         head, tail = os.path.split(path)
16         if head == '':
17                 return [tail] + result
18         if head == path:
19                 return result
20         return fullsplit(head, [tail] + result)
21
22 # Compile the list of packages available, because distutils doesn't have
23 # an easy way to do this. Shamelessly cribbed from django's setup.py file.
24 packages, data_files = [], []
25 root_dir = os.path.dirname(__file__)
26 if root_dir != '':
27     os.chdir(root_dir)
28 philo_dir = 'philo'
29
30 for dirpath, dirnames, filenames in os.walk(philo_dir):
31         # Ignore dirnames that start with '.'
32         for i, dirname in enumerate(dirnames):
33                 if dirname.startswith('.'): del dirnames[i]
34         if '__init__.py' in filenames:
35                 packages.append('.'.join(fullsplit(dirpath)))
36         elif filenames:
37                 data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]])
38
39
40 version = __import__('philo').VERSION
41
42 setup(
43         name = 'philo',
44         version = '.'.join([str(v) for v in version]),
45         url = "https://github.com/ithinksw/philo",
46         description = "A foundation for developing web content management systems.",
47         long_description = open(os.path.join(root_dir, 'README.markdown')).read(),
48         maintainer = "Joseph Spiros",
49         maintainer_email = "joseph.spiros@ithinksw.com",
50         packages = packages,
51         data_files = data_files,
52         
53         classifiers = [
54                 'Environment :: Web Environment',
55                 'Framework :: Django',
56                 'Intended Audience :: Developers',
57                 'License :: OSI Approved :: ISC License (ISCL)',
58                 'Operating System :: OS Independent',
59                 'Programming Language :: Python',
60                 'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
61                 'Topic :: Software Development :: Libraries :: Application Frameworks',
62         ],
63         platforms = ['OS Independent'],
64         license = 'ISC License (ISCL)',
65         
66         install_requires = [
67                 'django>=1.3',
68                 'python>=2.5.4',
69                 'django-mptt>0.4.2,==dev',
70         ],
71         extras_require = {
72                 'docs': ["sphinx>=1.0"],
73                 'grappelli': ['django-grappelli>=2.3'],
74                 'migrations': ['south>=0.7.2'],
75                 'waldo-recaptcha': ['recaptcha-django'],
76                 'sobol-eventlet': ['eventlet'],
77                 'sobol-scrape': ['BeautifulSoup'],
78         },
79         dependency_links = [
80                 'https://github.com/django-mptt/django-mptt/tarball/master#egg=django-mptt-dev'
81         ]
82 )