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'], }, )