You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

154 lines
5.3 KiB
Python

5 years ago
#### PATTERN #######################################################################################
from __future__ import print_function
import sys
import os
from io import open
from setuptools import setup
from pattern import __version__
#---------------------------------------------------------------------------------------------------
# "python setup.py zip" will create the zipped distribution and checksum.
if sys.argv[-1] == "zip":
import zipfile
import hashlib
import re
n = "pattern-%s.zip" % __version__
p = os.path.join(os.path.dirname(os.path.realpath(__file__)))
z = zipfile.ZipFile(os.path.join(p, "..", n), "w", zipfile.ZIP_DEFLATED)
for root, folders, files in os.walk(p):
for f in files:
f = os.path.join(root, f)
# Exclude private settings.
if f.endswith(os.path.join("web", "api.py")):
d = "#--- PRIVATE"
s = open(f, "r", encoding="utf-8").read().split(d)
x = open(f, "w", encoding="utf-8")
x.write(s[0])
x.close()
# Exclude revision history (.git).
# Exclude development files (.dev).
if not re.search(r"\.DS|\.git[^i]|\.pyc|\.dev|tmp", f):
z.write(f, os.path.join("pattern-" + __version__, os.path.relpath(f, p)))
if f.endswith(os.path.join("web", "api.py")):
x = open(f, "w", encoding="utf-8")
x.write(d.join(s))
x.close()
z.close()
print(n)
print(hashlib.sha256(open(z.filename).read()).hexdigest())
sys.exit(0)
#---------------------------------------------------------------------------------------------------
# "python setup.py install" will install /pattern in /site-packages.
setup(
name = "Pattern",
version = "3.6",
description = "Web mining module for Python.",
license = "BSD",
author = "Tom De Smedt",
author_email = "tom@organisms.be",
url = "http://www.clips.ua.ac.be/pages/pattern",
packages = [
"pattern",
"pattern.web",
"pattern.web.cache",
"pattern.web.imap",
"pattern.web.locale",
"pattern.web.oauth",
"pattern.db",
"pattern.text",
"pattern.text.de",
"pattern.text.en",
"pattern.text.en.wordlist",
"pattern.text.en.wordnet",
"pattern.text.ru",
"pattern.text.ru.wordlist",
"pattern.text.es",
"pattern.text.fr",
"pattern.text.it",
"pattern.text.nl",
"pattern.vector",
"pattern.vector.svm",
"pattern.graph",
"pattern.server"
],
package_data = {
"pattern" : ["*.js"],
"pattern.web.cache" : ["tmp/*"],
"pattern.web.locale" : ["*"],
"pattern.text.de" : ["*.txt", "*.xml"],
"pattern.text.en" : ["*.txt", "*.xml", "*.slp"],
"pattern.text.en.wordlist": ["*.txt"],
"pattern.text.en.wordnet" : ["*.txt", "dict/*"],
"pattern.text.ru": ["*.txt", "*.xml", "*.slp"],
"pattern.text.ru.wordlist": ["*.txt"],
"pattern.text.es" : ["*.txt", "*.xml"],
"pattern.text.fr" : ["*.txt", "*.xml"],
"pattern.text.it" : ["*.txt", "*.xml"],
"pattern.text.nl" : ["*.txt", "*.xml"],
"pattern.vector" : ["*.txt"],
"pattern.vector.svm" : ["*.txt"],
"pattern.graph" : ["*.js", "*.csv"],
"pattern.server" : ["static/*"],
},
py_modules = [
"pattern.metrics",
"pattern.helpers",
"pattern.text.search",
"pattern.text.tree"
],
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Natural Language :: Dutch",
"Natural Language :: English",
"Natural Language :: French",
"Natural Language :: German",
"Natural Language :: Italian",
"Natural Language :: Spanish",
"Operating System :: OS Independent",
"Programming Language :: JavaScript",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Topic :: Internet :: WWW/HTTP :: Indexing/Search",
"Topic :: Multimedia :: Graphics",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Scientific/Engineering :: Visualization",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Text Processing :: Linguistic",
"Topic :: Text Processing :: Markup :: HTML"
],
install_requires = [
"future",
"backports.csv",
"mysqlclient",
"beautifulsoup4",
"lxml",
"feedparser",
"pdfminer" if sys.version < "3" else "pdfminer.six",
"numpy",
"scipy",
"nltk",
"python-docx",
"cherrypy",
"requests"
],
zip_safe = False
)