-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathsetup.py
77 lines (65 loc) · 2.88 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
## To install locally: python -m pip install .
## (If there are problems with installation of the documentation, it may be that
## the egg file is out of sync and will need to be manually deleted - see error message
## for details of the corrupted zip file. )
##
## To push a version through to pip.
## - Make sure it installs correctly locally as above
## - Update the version information in this file
## - python setup.py sdist
## - python -m twine upload -r testpypi dist/* # for the test version
## - python -m twine upload -r pypi dist/* # for the real version
##
## (see http://peterdowns.com/posts/first-time-with-pypi.html)
from setuptools import setup
from os import path
## in development set version to none and ...
PYPI_VERSION = "0.5.0.dev4" # setting to a valid dev version (PEP440 instead of git version) otherwise 'pip install -e' errors out
# Return the git revision as a string (from numpy)
def git_version():
def _minimal_ext_cmd(cmd):
import os
import subprocess
# construct minimal environment
env = {}
for k in ['SYSTEMROOT', 'PATH']:
v = os.environ.get(k)
if v is not None:
env[k] = v
# LANGUAGE is used on win32
env['LANGUAGE'] = 'C'
env['LANG'] = 'C'
env['LC_ALL'] = 'C'
out = subprocess.Popen(cmd, stdout = subprocess.PIPE, env=env).communicate()[0]
return out
try:
out = _minimal_ext_cmd(['git', 'rev-parse', '--short', 'HEAD'])
GIT_REVISION = out.strip().decode('ascii')
except OSError:
GIT_REVISION = "Unknown"
return GIT_REVISION
if PYPI_VERSION is None:
PYPI_VERSION = git_version()
this_directory = path.abspath(path.dirname(__file__))
with open(path.join(this_directory, 'README.md')) as f:
long_description = f.read()
if __name__ == "__main__":
setup(name = 'PlateTectonicTools',
long_description = long_description,
long_description_content_type = 'text/markdown',
author = "John Cannon",
author_email = "[email protected]",
url = "https://github.com/EarthByte/PlateTectonicTools",
version = PYPI_VERSION,
description = "Python tools for plate tectonic research",
install_requires = ['numpy'],
python_requires = '>=2.7',
packages = ['ptt', 'ptt.utils'],
package_data = {'ptt': ['Examples/notebooks/*.ipynb',
'Examples/data/*.gpmlz',
'Examples/data/*.rot',
'utils/*.py']},
classifiers = ['Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3']
)