You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
2.0 KiB

4 months ago
import os
import re
4 months ago
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.")
4 months ago
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()
4 months ago
setup(
name='labsw',
version = read_version('labsw'),
4 months ago
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'],
},
)