spaCy/setup.py

80 lines
2.0 KiB
Python
Raw Normal View History

2014-07-05 18:49:34 +00:00
#!/usr/bin/env python
import Cython.Distutils
from Cython.Distutils import Extension
2014-07-05 18:49:34 +00:00
import distutils.core
import sys
import os
import os.path
from os import path
from glob import glob
2014-07-05 18:49:34 +00:00
def clean(ext):
for pyx in ext.sources:
if pyx.endswith('.pyx'):
c = pyx[:-4] + '.c'
cpp = pyx[:-4] + '.cpp'
so = pyx[:-4] + '.so'
html = pyx[:-4] + '.html'
if os.path.exists(so):
os.unlink(so)
if os.path.exists(c):
os.unlink(c)
elif os.path.exists(cpp):
os.unlink(cpp)
if os.path.exists(html):
os.unlink(html)
HERE = os.path.dirname(__file__)
virtual_env = os.environ.get('VIRTUAL_ENV', '')
compile_args = []
link_args = []
libs = []
2014-08-20 15:03:19 +00:00
includes = ['.']
cython_includes = ['.']
2014-07-05 18:49:34 +00:00
if 'VIRTUAL_ENV' in os.environ:
includes += glob(path.join(os.environ['VIRTUAL_ENV'], 'include', 'site', '*'))
else:
# If you're not using virtualenv, set your include dir here.
pass
2014-07-05 18:49:34 +00:00
exts = [
2014-09-01 21:41:59 +00:00
Extension("spacy.lang", ["spacy/lang.pyx"], language="c++", include_dirs=includes),
2014-08-25 14:42:22 +00:00
Extension("spacy.word", ["spacy/word.pyx"], language="c++",
include_dirs=includes),
2014-09-10 18:41:37 +00:00
Extension("spacy.lexeme", ["spacy/lexeme.pyx"], language="c++",
include_dirs=includes),
2014-08-22 02:23:24 +00:00
Extension("spacy.ptb3", ["spacy/ptb3.pyx"], language="c++", include_dirs=includes),
2014-08-25 14:42:22 +00:00
Extension("spacy.en", ["spacy/en.pyx"], language="c++",
include_dirs=includes),
2014-09-10 17:41:19 +00:00
Extension("spacy.tokens", ["spacy/tokens.pyx"], language="c++",
include_dirs=includes),
2014-08-25 14:42:22 +00:00
2014-07-05 18:49:34 +00:00
]
if sys.argv[1] == 'clean':
print >> sys.stderr, "cleaning .c, .c++ and .so files matching sources"
map(clean, exts)
distutils.core.setup(
2014-07-31 01:03:53 +00:00
name='spaCy',
2014-07-31 01:03:10 +00:00
packages=['spacy'],
2014-07-05 18:49:34 +00:00
author='Matthew Honnibal',
author_email='honnibal@gmail.com',
version='1.0',
cmdclass={'build_ext': Cython.Distutils.build_ext},
ext_modules=exts,
)