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.

73 lines
2.4 KiB

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='mysignal', # Required
version = read_version('mysignal'),
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='Your Name', # Optional
author_email='your.email@example.com', # 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=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'Topic :: Software Development :: Build Tools',
'License :: OSI Approved :: MIT License',
'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'],
# },
# You can also specify entry points for command-line scripts
# entry_points={
# 'console_scripts': [
# 'sample=sample:main',
# ],
# },
)