Implements PBR for packaging

Spyglass will soon have its plugins separated from its main repo. Many
other OpenStack repositories that utilize plugins have implemented
Python Build Reasonableness to manage their entry points for plugins.
As Spyglass will be managing plugins, it makes sense to stay uniform
with other projects and implement PBR.

Implements PBR using setup.py and setup.cfg files.

Changes README to correct file extension.

Freezes PIP requirements file.

Moves YAPF configuration into setup.cfg file.

Change-Id: I48ac5aeb3e544d3da7ce25bd9b827d8fd9c4e108
This commit is contained in:
Ian Pittwood 2019-04-17 10:53:12 -05:00
parent c46e15385c
commit d44dfd7526
7 changed files with 45 additions and 41 deletions

View File

@ -1,6 +0,0 @@
[style]
based_on_style = pep8
allow_split_before_dict_value = false
blank_line_before_nested_class_or_def = true
blank_line_before_module_docstring = true
split_before_logical_operator = false

View File

@ -1,7 +1,8 @@
click==7.0
jinja2==2.10 jinja2==2.10
jsonschema jsonschema==3.0.1
netaddr
openpyxl==2.5.4 openpyxl==2.5.4
netaddr==0.7.19
pyyaml==3.12 pyyaml==3.12
requests requests==2.21.0
click six==1.12.0

38
setup.cfg Normal file
View File

@ -0,0 +1,38 @@
[metadata]
name = spyglass
version = 0.0.1
summary = Airship Manifest Generation
description = Tool to generate Airship documents from data sources
description-file = README.rst
author = The Airship Authors
author-email = airship-discuss@lists.airshipit.org
home-page = https://opendev.org/airship/spyglass
license = Apache-2
requires-python = >=3.5
classifier =
Intended Audience :: Information Technology
Intended Audience :: System Administrators
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
[files]
packages =
spyglass
[entry_points]
console_scripts =
spyglass = spyglass.cli:main
data_extractor_plugins =
tugboat = spyglass.data_extractor.plugins.tugboat.tugboat:TugboatPlugin
formation = spyglass.data_extractor.plugins.formation.formation:FormationPlugin
[yapf]
based_on_style = pep8
allow_split_before_dict_value = false
blank_line_before_nested_class_or_def = true
blank_line_before_module_docstring = true
split_before_logical_operator = false

View File

@ -12,35 +12,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from setuptools import find_packages import setuptools
from setuptools import setup
setup( setuptools.setup(setup_requires=['pbr>=2.0.0'], pbr=True)
name='spyglass',
version='0.0.1',
description='Generate Airship specific yaml manifests from data sources',
url='https://opendev.org/airship/spyglass.git',
python_requires='>=3.5.0',
license='Apache 2.0',
packages=find_packages(),
install_requires=[
'jsonschema',
'Click',
'openpyxl',
'netaddr',
'pyyaml',
'jinja2',
],
entry_points={
'console_scripts': [
'spyglass=spyglass.cli:main',
],
'data_extractor_plugins': [
'formation='
'spyglass.data_extractor.plugins.formation:FormationPlugin',
'tugboat='
'spyglass.data_extractor.plugins.tugboat.tugboat:TugboatPlugin',
]
},
include_package_data=True,
)