-
Notifications
You must be signed in to change notification settings - Fork 50
/
setup.py
85 lines (67 loc) · 2.27 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
"""Installation script for f90nml.
Additional configuration settings are in ``setup.cfg``.
:copyright: Copyright 2014 Marshall Ward, see AUTHORS for details.
:license: Apache License, Version 2.0, see LICENSE for details.
"""
import os
import sys
try:
from setuptools import setup
from setuptools import Command
except ImportError:
from distutils.core import setup
from distutils.core import Command
import tests.test_f90nml
# Project details
project_name = 'f90nml'
project_version = __import__(project_name).__version__
project_readme_fname = 'README.rst'
project_scripts = [os.path.join('bin', f) for f in os.listdir('bin')]
# Test suite
class ProjectTest(Command):
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
unittest = tests.test_f90nml.unittest
testcase = tests.test_f90nml.Test
suite = unittest.TestLoader().loadTestsFromTestCase(testcase)
result = unittest.TextTestRunner(verbosity=2).run(suite)
sys.exit(not result.wasSuccessful())
# README
with open(project_readme_fname) as f:
project_readme = f.read()
# Project setup
setup(
name = project_name,
version = project_version,
description = 'Fortran 90 namelist parser',
long_description = project_readme,
author = 'Marshall Ward',
author_email = '[email protected]',
url = 'http://github.com/marshallward/f90nml',
packages = ['f90nml'],
scripts=project_scripts,
extras_require = {
'yaml': ['PyYAML'],
},
cmdclass = {'test': ProjectTest},
classifiers = [
'Development Status :: 5 - Production/Stable',
'License :: OSI Approved :: Apache Software License',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.2',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Topic :: Utilities',
]
)