diff --git a/docs/conf.py b/docs/conf.py index b9d4b4a..3e9de70 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -63,7 +63,7 @@ author = u'wolfSSL' base_dir = os.path.join(os.path.dirname(__file__), os.pardir) about = {} -with open(os.path.join(base_dir, "wolfcrypt", "about.py")) as f: +with open(os.path.join(base_dir, "wolfcrypt", "__about__.py")) as f: exec(f.read(), about) version = release = about["__version__"] diff --git a/requirements-testing.txt b/requirements-testing.txt index 61def52..31b7985 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -1,3 +1,4 @@ pytest>=2.9.1 cffi>=1.6.0 tox>=2.3.1 +about>=5.2 diff --git a/setup.py b/setup.py index 35260d5..f608a86 100755 --- a/setup.py +++ b/setup.py @@ -1,30 +1,56 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +# +# Copyright (C) 2006-2016 wolfSSL Inc. +# +# This file is part of wolfSSL. (formerly known as CyaSSL) +# +# wolfSSL is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# wolfSSL is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# Python 2.7 Standard Library +from __future__ import absolute_import import os import sys - +import about +import wolfcrypt from setuptools import setup, find_packages os.chdir(os.path.dirname(sys.argv[0]) or ".") -setup( - name="wolfcrypt", - version="0.1.0", - description="A Python wrapper that encapsulates wolfSSL's wolfCrypt API", - long_description=open("README.rst", "rt").read(), - url="https://wolfssl.github.io/wolfcrypt-py", - author="wolfSSL", - author_email="info@wolfssl.com", - classifiers=[ - "Development Status :: 0 - Alpha", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: Implementation :: PyPy", - "License :: GPLv2 License :: Commercial License", - ], - packages=find_packages(), - setup_requires=["cffi>=1.6.0"], - install_requires=["cffi>=1.6.0"], - cffi_modules=["./wolfcrypt/build_ffi.py:ffi"] +long_description = open("README.rst", "rt").read().replace( + ".. include:: LICENSING.rst\n", + open("LICENSING.rst", "rt").read() ) + +info = dict( + metadata = about.get_metadata(wolfcrypt), + contents = { + "long_description": long_description, + "package_data": {"": ["*.txt"]}, + "packages": find_packages(), + "cffi_modules": ["./wolfcrypt/build_ffi.py:ffi"], + }, + requirements = { + "setup_requires": ["cffi>=1.6.0", "about>=5.2"], + "install_requires": ["cffi>=1.6.0"], + }, + scripts = {}, + plugins = {}, + tests = {}, +) + +if __name__ == "__main__": + kwargs = {k:v for dct in info.values() for (k,v) in dct.items()} + setup(**kwargs) diff --git a/wolfcrypt/__about__.py b/wolfcrypt/__about__.py new file mode 100644 index 0000000..dcad1ac --- /dev/null +++ b/wolfcrypt/__about__.py @@ -0,0 +1,36 @@ +# __about__.py +# +# Copyright (C) 2006-2016 wolfSSL Inc. +# +# This file is part of wolfSSL. (formerly known as CyaSSL) +# +# wolfSSL is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# wolfSSL is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +metadata = dict( + __name__ = "wolfcrypt", + __version__ = "0.1.2", + __license__ = """GPLv2 or Commercial License""", + __author__ = "wolfSSL Inc. ", + __url__ = "https://wolfssl.github.io/wolfcrypt-py", + __summary__ = "A Python library that encapsulates wolfSSL's wolfCrypt API.", + __keywords__ = """ + OS independent, Python / 2.7, Python / 3.5, software development, + security, cryptography, Proprietary, GPLv2 + """, +) + +globals().update(metadata) + +__all__ = list(metadata.keys()) diff --git a/wolfcrypt/__init__.py b/wolfcrypt/__init__.py index 907791f..562fb12 100644 --- a/wolfcrypt/__init__.py +++ b/wolfcrypt/__init__.py @@ -18,4 +18,4 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA -# dummy file +from .__about__ import * diff --git a/wolfcrypt/about.py b/wolfcrypt/about.py deleted file mode 100644 index 2d8017e..0000000 --- a/wolfcrypt/about.py +++ /dev/null @@ -1,58 +0,0 @@ -# __about__.py -# -# Copyright (C) 2006-2016 wolfSSL Inc. -# -# This file is part of wolfSSL. (formerly known as CyaSSL) -# -# wolfSSL is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# wolfSSL is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - -metadata = dict( - __name__ = "wolfcrypt", - __version__ = "0.1.0", - __author__ = "wolfSSL Inc.", - __email__ = "info@wolfssl.com", - __url__ = "https://wolfssl.github.io/wolfcrypt-py", - __summary__ = "A Python library that encapsulates wolfSSL's wolfCrypt API", - __keywords__ = """ - cryptography, aes, des3, rsa, sha, sha256, sha384, sha512, hmac, random - """, - __license__ = """ - wolfSSL’s software is available under two distinct licensing models: - open source and standard commercial licensing. Please see the relevant - section below for information on each type of license. - - Open Source - - wolfSSL (formerly CyaSSL), yaSSL, wolfCrypt, yaSSH and TaoCrypt software - are free software downloads and may be modified to the needs of the user - as long as the user adheres to version two of the GPL License. The GPLv2 - license can be found on the gnu.org website: - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - - Commercial Licensing - - Businesses and enterprises who wish to incorporate wolfSSL products into - proprietary appliances or other commercial software products for - re-distribution must license commercial versions. Commercial licenses for - wolfSSL, yaSSL, and wolfCrypt are available for $5,000 USD per end product - or SKU. Licenses are generally issued for one product and include unlimited - royalty-free distribution. Custom licensing terms are also available. - """, - __copyright__ = "Copyright 2016 wolfSSL Inc. All rights reserved" -) - -globals().update(metadata) - -__all__ = metadata.keys()