73 lines
2.0 KiB
Python
73 lines
2.0 KiB
Python
import os
|
|
|
|
from setuptools import setup, find_packages
|
|
|
|
DEVELOPMENT_STATUS = "Development Status :: 5 - Production/Stable"
|
|
|
|
|
|
def read_version(package):
|
|
with open(os.path.join(package, '__init__.py'), 'r') as fd:
|
|
for line in fd:
|
|
if line.startswith('__version__ = '):
|
|
return line.split()[-1].strip().strip("'").strip("\"")
|
|
|
|
|
|
def readme_type() -> str:
|
|
import os
|
|
if os.path.exists("README.rst"):
|
|
return "text/x-rst"
|
|
if os.path.exists("README.md"):
|
|
return "text/markdown"
|
|
|
|
|
|
def readme() -> [str]:
|
|
with open('README.md') as f:
|
|
return f.read()
|
|
|
|
|
|
def locked_requirements(section):
|
|
"""
|
|
Look through the 'Pipfile.lock' to fetch requirements by section.
|
|
"""
|
|
import json
|
|
|
|
with open('Pipfile.lock') as pip_file:
|
|
pipfile_json = json.load(pip_file)
|
|
|
|
if section not in pipfile_json:
|
|
print("{0} section missing from Pipfile.lock".format(section))
|
|
return []
|
|
|
|
return [package + detail.get('version', "")
|
|
for package, detail in pipfile_json[section].items()]
|
|
|
|
|
|
setup(
|
|
name='barcode-server',
|
|
version=read_version("barcode_server"),
|
|
description='A simple daemon to expose USB Barcode Scanner data on the network.',
|
|
long_description=readme(),
|
|
long_description_content_type=readme_type(),
|
|
license='GPLv3+',
|
|
author='Markus Ressel',
|
|
author_email='mail@markusressel.de',
|
|
url='https://github.com/markusressel/barcode-server',
|
|
packages=find_packages(),
|
|
# python_requires='>=3.4',
|
|
classifiers=[
|
|
DEVELOPMENT_STATUS,
|
|
'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
|
|
'Programming Language :: Python :: 3',
|
|
'Programming Language :: Python :: 3.7',
|
|
'Programming Language :: Python :: 3.8',
|
|
'Programming Language :: Python :: 3.9'
|
|
],
|
|
install_requires=locked_requirements('default'),
|
|
tests_require=locked_requirements('develop'),
|
|
entry_points={
|
|
'console_scripts': [
|
|
'barcode-server = barcode_server.cli:cli'
|
|
]
|
|
}
|
|
)
|