• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#! /usr/bin/env python
2
3# Copyright 2009 Google Inc. All Rights Reserved.
4# Copyright 2014 Altera Corporation. All Rights Reserved.
5# Copyright 2014-2018 John McGehee
6#
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11#     http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18import os
19
20from setuptools import setup, find_packages
21
22from pyfakefs.fake_filesystem import __version__
23
24NAME = 'pyfakefs'
25REQUIRES = []
26DESCRIPTION = ('pyfakefs implements a fake file system that mocks '
27               'the Python file system modules.')
28
29URL = "http://pyfakefs.org"
30
31BASE_PATH = os.path.abspath(os.path.dirname(__file__))
32with open(os.path.join(BASE_PATH, 'README.md')) as f:
33    LONG_DESCRIPTION = f.read()
34
35CLASSIFIERS = [
36    'Development Status :: 5 - Production/Stable',
37    'Environment :: Console',
38    'Intended Audience :: Developers',
39    'License :: OSI Approved :: Apache Software License',
40    'Programming Language :: Python :: 3.5',
41    'Programming Language :: Python :: 3.6',
42    'Programming Language :: Python :: 3.7',
43    'Programming Language :: Python :: 3.8',
44    'Programming Language :: Python :: Implementation :: CPython',
45    'Programming Language :: Python :: Implementation :: PyPy',
46    'Operating System :: POSIX',
47    'Operating System :: MacOS',
48    'Operating System :: Microsoft :: Windows',
49    'Topic :: Software Development :: Libraries',
50    'Topic :: Software Development :: Libraries :: Python Modules',
51    'Topic :: Software Development :: Testing',
52    'Topic :: System :: Filesystems',
53]
54
55AUTHOR = 'Google'
56AUTHOR_EMAIL = 'google-pyfakefs@google.com'
57MAINTAINER = 'John McGehee'
58MAINTAINER_EMAIL = 'pyfakefs@johnnado.com'
59KEYWORDS = ("testing test file os shutil glob mocking unittest "
60            "fakes filesystem unit").split(' ')
61
62params = dict(
63    name=NAME,
64    entry_points={
65        'pytest11': ['pytest_fakefs = pyfakefs.pytest_plugin'],
66    },
67    version=__version__,
68    install_requires=REQUIRES,
69
70    # metadata for upload to PyPI
71    author=AUTHOR,
72    author_email=AUTHOR_EMAIL,
73    maintainer=MAINTAINER,
74    maintainer_email=MAINTAINER_EMAIL,
75    description=DESCRIPTION,
76    long_description=LONG_DESCRIPTION,
77    long_description_content_type='text/markdown',
78    keywords=KEYWORDS,
79    url=URL,
80    classifiers=CLASSIFIERS,
81    python_requires='>=3.5',
82    test_suite='pyfakefs.tests',
83    packages=find_packages(exclude=['docs'])
84)
85
86setup(**params)
87