|
|
|
|
|
|
|
import os
|
|
|
|
import re
|
|
|
|
from setuptools import setup, find_packages
|
|
|
|
|
|
|
|
def read_version(name):
|
|
|
|
with open(os.path.join(os.path.dirname(__file__), name, '__init__.py')) as f:
|
|
|
|
for line in f:
|
|
|
|
match = re.match(r"^__version__ = ['\"]([^'\"]*)['\"]", line)
|
|
|
|
if match:
|
|
|
|
return match.group(1)
|
|
|
|
raise RuntimeError("Unable to find version string.")
|
|
|
|
|
|
|
|
def parse_requirements(filename):
|
|
|
|
with open(filename, 'r') as file:
|
|
|
|
return file.read().splitlines()
|
|
|
|
|
|
|
|
# Get the long description from the README file
|
|
|
|
here = os.path.abspath(os.path.dirname(__file__))
|
|
|
|
with open(os.path.join(here, 'README.md'), encoding='utf-8') as f:
|
|
|
|
long_description = f.read()
|
|
|
|
|
|
|
|
|
|
|
|
setup(
|
|
|
|
name='labsw',
|
|
|
|
version = read_version('labsw'),
|
|
|
|
description='A short description of the project', # Optional
|
|
|
|
long_description=long_description, # Optional
|
|
|
|
long_description_content_type='text/markdown', # Optional (see note above)
|
|
|
|
url='https://github.com/yourusername/yourproject', # Optional
|
|
|
|
author='François Boulogne', # Optional
|
|
|
|
author_email='devel@sciunto.org', # Optional
|
|
|
|
|
|
|
|
# Automatically find packages in the current directory
|
|
|
|
packages=find_packages(), # Required
|
|
|
|
|
|
|
|
# Include additional files specified in MANIFEST.in
|
|
|
|
include_package_data=True, # Optional
|
|
|
|
|
|
|
|
# Define your dependencies in a separate file
|
|
|
|
install_requires=parse_requirements('requirements.txt'), # Optional
|
|
|
|
|
|
|
|
# Classifiers help users find your project by categorizing it
|
|
|
|
classifiers=[
|
|
|
|
'Programming Language :: Python :: 3',
|
|
|
|
'Programming Language :: Python :: 3.6',
|
|
|
|
'Programming Language :: Python :: 3.7',
|
|
|
|
'Programming Language :: Python :: 3.8',
|
|
|
|
'Programming Language :: Python :: 3.9',
|
|
|
|
],
|
|
|
|
|
|
|
|
# Specify the Python versions you support
|
|
|
|
python_requires='>=3.6, <4',
|
|
|
|
|
|
|
|
# Specify additional groups of dependencies (e.g., for testing)
|
|
|
|
extras_require={
|
|
|
|
'dev': ['check-manifest'],
|
|
|
|
'test': ['coverage'],
|
|
|
|
},
|
|
|
|
)
|
|
|
|
|