https://github.com/deepmind/sonnet
Raw File
Tip revision: b66dadcc3cd8d0662acdc2c02b5040f55bb05fba authored by diegolascasas on 01 June 2018, 14:09:19 UTC
Sonnet version update produced on Friday, 01. June 2018
Tip revision: b66dadc
setup.py.tmpl
# pylint: disable=g-bad-file-header
# Copyright 2017 The Sonnet Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or  implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# =============================================================================

"""Setup for pip package."""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

from setuptools import find_packages
from setuptools import setup
from setuptools.command.install import install as InstallCommandBase
from setuptools.dist import Distribution
from sys import version

# This version string is semver compatible, but incompatible with pip.
# For pip, we will remove all '-' characters from this string, and use the
# result for pip.
_VERSION = '1.22'

# The possible sonnet project names.
_PROJECT_NAME_CPU = 'dm-sonnet'
_PROJECT_NAME_GPU = 'dm-sonnet-gpu'

# This placeholder is substituted by the build script. Because we distribute
# sonnet under two different names (dm-sonnet and dm-sonnet-gpu), we have to
# create two "different" setup.py files.
project_name = '%%%PROJECT_NAME%%%'

# Check if the project name is valid.
if project_name not in (_PROJECT_NAME_CPU, _PROJECT_NAME_GPU):
  raise ValueError('Invalid project name {}.'.format(project_name))

EXTRA_PACKAGES = {
    'tensorflow': ['tensorflow>=1.0.1'],
    'tensorflow with gpu': ['tensorflow-gpu>=1.0.1']
}

REQUIRED_PACKAGES = ['six', 'absl-py']

# If this is the GPU build of sonnet, tensorflow-gpu is a hard requirement.
# The CPU only version works well with both versions of tensorflow.
if project_name == _PROJECT_NAME_GPU:
  REQUIRED_PACKAGES.append('tensorflow-gpu >= 1.0.1')


setup(
    name=project_name,
    version=_VERSION,
    description=('Sonnet is a library for building neural networks in '
                 'TensorFlow.'),
    long_description='',
    url='http://www.github.com/deepmind/sonnet/',
    author='DeepMind',
    author_email='sonnet-dev-os@google.com',
    # Contained modules and scripts.
    packages=find_packages(),
    entry_points={},
    install_requires=REQUIRED_PACKAGES,
    extras_require=EXTRA_PACKAGES,
    # Add in any packaged data.
    include_package_data=True,
    package_data={'': ['*.txt', '*.rst'], 'sonnet': ['*.so']},
    zip_safe=False,
    cmdclass={
        'install': InstallCommandBase,
    },
    # PyPI package information.
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'Intended Audience :: Education',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: Apache Software License',
        'Programming Language :: Python :: {}'.format(
            "2.7" if (version[0] == "2") else version[0]
        ),
        'Topic :: Scientific/Engineering :: Mathematics',
        'Topic :: Software Development :: Libraries :: Python Modules',
        'Topic :: Software Development :: Libraries',
        ],
    license='Apache 2.0',
    keywords='sonnet tensorflow tensor machine learning',
    )
back to top