mirror of
https://github.com/theupdateframework/python-tuf
synced 2026-05-24 10:08:28 +00:00
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>
125 lines
3.8 KiB
Python
Executable file
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',
|
|
]
|
|
)
|