<commit_before>import codecs
import os
import re

from setuptools import setup
from setuptools import find_packages

# Workaround for http://bugs.python.org/issue8876, see
# http://bugs.python.org/issue8876#msg208792
# This can be removed when using Python 2.7.9 or later:
# https://hg.python.org/cpython/raw-file/v2.7.9/Misc/NEWS
if os.path.abspath(__file__).split(os.path.sep)[1] == 'vagrant':
    del os.link


def read_file(filename, encoding='utf8'):
    """Read unicode from given file."""
    with codecs.open(filename, encoding=encoding) as fd:
        return fd.read()


here = os.path.abspath(os.path.dirname(__file__))

# read version number (and other metadata) from package init
init_fn = os.path.join(here, 'letsencrypt', '__init__.py')
meta = dict(re.findall(r"""__([a-z]+)__ = "([^"]+)""", read_file(init_fn)))

readme = read_file(os.path.join(here, 'README.rst'))
changes = read_file(os.path.join(here, 'CHANGES.rst'))

# #358: acme, letsencrypt, letsencrypt_apache, letsencrypt_nginx, etc.
# shall be distributed separately. Please make sure to keep the
# dependecy lists up to date: this is being somewhat checked below
# using an assert statement! Separate lists are helpful for OS package
# maintainers. and will make the future migration a lot easier.
acme_install_requires = [
    'argparse',
    # load_pem_private/public_key (>=0.6)
    # rsa_recover_prime_factors (>=0.8)
    'cryptography>=0.8',
    #'letsencrypt'  # TODO: uses testdata vectors
    'mock',
    'pyrfc3339',
    'ndg-httpsclient',  # urllib3 InsecurePlatformWarning (#304)
    'pyasn1',  # urllib3 InsecurePlatformWarning (#304)
    #'PyOpenSSL',  # version pin would cause mismatch
    'pytz',
    'requests',
    'werkzeug',
]
letsencrypt_install_requires = [
    #'acme',
    'argparse',
    'ConfigArgParse',
    'configobj',
    #'cryptography>=0.7',  # load_pem_x509_certificate, version pin mismatch
    'mock',
    'parsedatetime',
    'psutil>=2.1.0',  # net_connections introduced in 2.1.0
    # https://pyopenssl.readthedocs.org/en/latest/api/crypto.html#OpenSSL.crypto.X509Req.get_extensions
    'PyOpenSSL>=0.15',
    'pyrfc3339',
    'python2-pythondialog>=3.2.2rc1',  # Debian squeeze support, cf. #280
    'pytz',
    'zope.component',
    'zope.interface',
]
letsencrypt_apache_install_requires = [
    #'acme',
    #'letsencrypt',
    'mock',
    'python-augeas',
    'zope.component',
    'zope.interface',
]
letsencrypt_nginx_install_requires = [
    #'acme',
    #'letsencrypt',
    'pyparsing>=1.5.5',  # Python3 support; perhaps unnecessary?
    'mock',
    'zope.interface',
]

install_requires = [
    'argparse',
    'cryptography>=0.8',
    'ConfigArgParse',
    'configobj',
    'mock',
    'ndg-httpsclient',  # urllib3 InsecurePlatformWarning (#304)<commit_msg>Pin mock<1.1.0 (Python 2.6 support).<commit_after>import codecs
import os
import re

from setuptools import setup
from setuptools import find_packages

# Workaround for http://bugs.python.org/issue8876, see
# http://bugs.python.org/issue8876#msg208792
# This can be removed when using Python 2.7.9 or later:
# https://hg.python.org/cpython/raw-file/v2.7.9/Misc/NEWS
if os.path.abspath(__file__).split(os.path.sep)[1] == 'vagrant':
    del os.link


def read_file(filename, encoding='utf8'):
    """Read unicode from given file."""
    with codecs.open(filename, encoding=encoding) as fd:
        return fd.read()


here = os.path.abspath(os.path.dirname(__file__))

# read version number (and other metadata) from package init
init_fn = os.path.join(here, 'letsencrypt', '__init__.py')
meta = dict(re.findall(r"""__([a-z]+)__ = "([^"]+)""", read_file(init_fn)))

readme = read_file(os.path.join(here, 'README.rst'))
changes = read_file(os.path.join(here, 'CHANGES.rst'))

# #358: acme, letsencrypt, letsencrypt_apache, letsencrypt_nginx, etc.
# shall be distributed separately. Please make sure to keep the
# dependecy lists up to date: this is being somewhat checked below
# using an assert statement! Separate lists are helpful for OS package
# maintainers. and will make the future migration a lot easier.
acme_install_requires = [
    'argparse',
    # load_pem_private/public_key (>=0.6)
    # rsa_recover_prime_factors (>=0.8)
    'cryptography>=0.8',
    #'letsencrypt'  # TODO: uses testdata vectors
    'mock<1.1.0',  # py26
    'pyrfc3339',
    'ndg-httpsclient',  # urllib3 InsecurePlatformWarning (#304)
    'pyasn1',  # urllib3 InsecurePlatformWarning (#304)
    #'PyOpenSSL',  # version pin would cause mismatch
    'pytz',
    'requests',
    'werkzeug',
]
letsencrypt_install_requires = [
    #'acme',
    'argparse',
    'ConfigArgParse',
    'configobj',
    #'cryptography>=0.7',  # load_pem_x509_certificate, version pin mismatch
    'mock<1.1.0',  # py26
    'parsedatetime',
    'psutil>=2.1.0',  # net_connections introduced in 2.1.0
    # https://pyopenssl.readthedocs.org/en/latest/api/crypto.html#OpenSSL.crypto.X509Req.get_extensions
    'PyOpenSSL>=0.15',
    'pyrfc3339',
    'python2-pythondialog>=3.2.2rc1',  # Debian squeeze support, cf. #280
    'pytz',
    'zope.component',
    'zope.interface',
]
letsencrypt_apache_install_requires = [
    #'acme',
    #'letsencrypt',
    'mock<1.1.0',  # py26
    'python-augeas',
    'zope.component',
    'zope.interface',
]
letsencrypt_nginx_install_requires = [
    #'acme',
    #'letsencrypt',
    'pyparsing>=1.5.5',  # Python3 support; perhaps unnecessary?
    'mock<1.1.0',  # py26
    'zope.interface',
]

install_requires = [
    'argparse',
    'cryptography>=0.8',
    'ConfigArgParse',
    'configobj',
    'mock<1.1.0',  # py26
    'ndg-httpsclient',  # urllib3 InsecurePlatformWarning (#304)
{'fraction_non_alphanumeric': 0.14780151862970156, 'fraction_numerical': 0.034610630407911, 'mean_word_length': 3.9081455805892547, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 21, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7158737', 'n_tokens_mistral': 2168, 'n_tokens_neox': 2041, 'n_words': 426}