#!/usr/bin/env python # # Setup script for the Natural Language Toolkit # # Copyright (C) 2001-2019 NLTK Project # Author: Steven Bird # Edward Loper # Ewan Klein # URL: # For license information, see LICENSE.TXT # Work around mbcs bug in distutils. # http://bugs.python.org/issue10945 import codecs try: codecs.lookup("mbcs") except LookupError: ascii = codecs.lookup("ascii") func = lambda name, enc=ascii: {True: enc}.get(name == "mbcs") codecs.register(func) import os # Use the VERSION file to get NLTK version version_file = os.path.join(os.path.dirname(__file__), "nltk", "VERSION") with open(version_file) as fh: nltk_version = fh.read().strip() # setuptools from setuptools import setup, find_packages # Specify groups of optional dependencies extras_require = { "machine_learning": ["gensim", "numpy", "python-crfsuite", "scikit-learn", "scipy"], "plot": ["matplotlib"], "tgrep": ["pyparsing"], "twitter": ["twython"], "corenlp": ["requests"], } # Add a group made up of all optional dependencies extras_require["all"] = set( package for group in extras_require.values() for package in group ) # Adds CLI commands console_scripts = """ [console_scripts] nltk=nltk.cli:cli """ setup( name="nltk", description="Natural Language Toolkit", version=nltk_version, url="http://nltk.org/", long_description="""\ The Natural Language Toolkit (NLTK) is a Python package for natural language processing. NLTK requires Python 3.5, 3.6, or 3.7.""", license="Apache License, Version 2.0", keywords=[ "NLP", "CL", "natural language processing", "computational linguistics", "parsing", "tagging", "tokenizing", "syntax", "linguistics", "language", "natural language", "text analytics", ], maintainer="Steven Bird", maintainer_email="stevenbird1@gmail.com", author="Steven Bird", author_email="stevenbird1@gmail.com", classifiers=[ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Human Machine Interfaces", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Text Processing", "Topic :: Text Processing :: Filters", "Topic :: Text Processing :: General", "Topic :: Text Processing :: Indexing", "Topic :: Text Processing :: Linguistic", ], package_data={"nltk": ["test/*.doctest", "VERSION"]}, install_requires=[ "six~=1.15.0", 'singledispatch; python_version < "3.4"', "click", "joblib", "regex", "tqdm", ], extras_require=extras_require, packages=find_packages(), zip_safe=False, # since normal files will be present too? entry_points=console_scripts, )