python-tuf/setup.py
Sebastien Awwad 314f6e71b9
Remove partial single-source version; add comments explaining
Previous commit isn't going to work: read wasn't defined. Code
provided was from here:
https://packaging.python.org/guides/single-sourcing-package-version/

and is a little more complicated than is ideal. It'll also match
comment lines if they exist. Single-sourcing version number isn't
necessary for this pull request, but if I was going to do it, I'd
probably add a VERSION file and have tuf/__init__.py and setup.py
each read that in. There could be problems with that, too. I'm
going to punt on this and keep the version in two places and we
can fix that less urgently. (Also, the user agent reporting a
version seems less critical in any case than the rest of the PR.)

Version info will now be in two locations and require update in
tandem.

Signed-off-by: Sebastien Awwad <sebastien.awwad@gmail.com>
2018-09-10 16:29:59 -04:00

125 lines
3.8 KiB
Python
Executable file

#!/usr/bin/env python
# Copyright 2013 - 2018, New York University and the TUF contributors
# SPDX-License-Identifier: MIT OR Apache-2.0
"""
<Program Name>
setup.py
<Author>
Vladimir Diaz <vladimir.v.diaz@gmail.com>
<Started>
March 2013.
<Copyright>
See LICENSE-MIT OR LICENSE for licensing information.
<Purpose>
BUILD SOURCE DISTRIBUTION
The following shell command generates a TUF source archive that can be
distributed to other users. The packaged source is saved to the 'dist'
folder in the current directory.
$ python setup.py sdist
INSTALLATION OPTIONS
pip - installing and managing Python packages (recommended):
# Installing from Python Package Index (https://pypi.python.org/pypi).
$ pip install tuf
# Installing from local source archive.
$ pip install <path to archive>
# Or from the root directory of the unpacked archive.
$ pip install .
# Installing optional requirements (i.e., after installing tuf).
# The 'tools' optional requirement is currently supported, which enables
# fast and secure ed25519 key generation, and signature verification
# computations with PyNaCl+libsodium. General-purpose cryptography is also
# provided. 'tools' is needed by the TUF repository tools. Clients that
# require verification of RSASSA-PSS signatures must also install tuf[tools].
$ pip install tuf[tools]
Alternate installation options:
Navigate to the root directory of the unpacked archive and
run one of the following shell commands:
Install to the global site-packages directory.
$ python setup.py install
Install to the user site-packages directory.
$ python setup.py install --user
Install to a chosen directory.
$ python setup.py install --home=<directory>
Note: The last two installation options may require modification of
Python's search path (i.e., 'sys.path') or updating an OS environment
variable. For example, installing to the user site-packages directory might
result in the installation of TUF scripts to '~/.local/bin'. The user may
then be required to update his $PATH variable:
$ export PATH=$PATH:~/.local/bin
"""
from setuptools import setup
from setuptools import find_packages
with open('README.md') as file_object:
long_description = file_object.read()
setup(
name = 'tuf',
version = '0.11.1', # If updating version, also update it in tuf/__init__.py
description = 'A secure updater framework for Python',
long_description = long_description,
long_description_content_type='text/markdown',
author = 'https://www.updateframework.com',
author_email = 'theupdateframework@googlegroups.com',
url = 'https://www.updateframework.com',
keywords = 'update updater secure authentication key compromise revocation',
classifiers = [
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'License :: OSI Approved :: Apache Software License',
'Natural Language :: English',
'Operating System :: POSIX',
'Operating System :: POSIX :: Linux',
'Operating System :: MacOS :: MacOS X',
'Operating System :: Microsoft :: Windows',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: Implementation :: CPython',
'Topic :: Security',
'Topic :: Software Development'
],
install_requires = [
'iso8601>=0.1.12',
'requests>=2.19.1',
'six>=1.11.0',
'securesystemslib>=0.11.2'
],
packages = find_packages(exclude=['tests']),
scripts = [
'tuf/scripts/repo.py',
'tuf/scripts/client.py',
'tuf/scripts/simple_server.py',
]
)