Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions dev-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# We use dev-requirements.txt instead of just declaring the requirements here
# because Read The Docs needs a requirements file.
PyYAML==5.2
Pygments==2.5.2
Sphinx-Substitution-Extensions==2019.6.15.0
Expand Down
1 change: 1 addition & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF = true

[metadata]
name = VWS Python
version = attr: vws.__version__
description = Interact with the Vuforia Web Services (VWS) API.
long_description = file: README.rst
keywords = vuforia client
Expand Down
32 changes: 23 additions & 9 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,35 @@
"""Setup script for VWS Python, a wrapper for Vuforia's Web Services APIs."""

from pathlib import Path
from setuptools import setup
from typing import List

import versioneer

# We use requirements.txt instead of just declaring the requirements here
# because this helps with Docker package caching.
with open('requirements.txt') as requirements:
INSTALL_REQUIRES = requirements.readlines()

# We use dev-requirements.txt instead of just declaring the requirements here
# because Read The Docs needs a requirements file.
with open('dev-requirements.txt') as dev_requirements:
DEV_REQUIRES = dev_requirements.readlines()
def _get_dependencies(requirements_file: Path) -> List[str]:
"""
Return requirements from a requirements file.

This expects a requirements file with no ``--find-links`` lines.
"""
lines = requirements_file.read_text().strip().split('\n')
return [line for line in lines if not line.startswith('#')]


_DIRECT_REQUIRES = _get_dependencies(
requirements_file=Path('requirements.txt'),
)

INSTALL_REQUIRES = _DIRECT_REQUIRES
DEV_REQUIRES = _get_dependencies(
requirements_file=Path('dev-requirements.txt'),
)
PACKAGING_REQUIRES = _get_dependencies(
requirements_file=Path('packaging-requirements.txt'),
)

setup(
version=versioneer.get_version(), # type: ignore
cmdclass=versioneer.get_cmdclass(), # type: ignore
install_requires=INSTALL_REQUIRES,
extras_require={'dev': DEV_REQUIRES},
Expand Down