kopia lustrzana https://gitlab.com/gerbolyze/gerbonara
82 wiersze
3.0 KiB
Python
82 wiersze
3.0 KiB
Python
#!/usr/bin/env python3
|
|
|
|
from os import environ
|
|
from os.path import join, abspath, dirname
|
|
from codecs import open
|
|
from setuptools import setup, find_packages
|
|
from subprocess import check_output
|
|
|
|
|
|
def long_description():
|
|
with open('README.md', 'r') as fh:
|
|
return fh.read()
|
|
|
|
|
|
def version():
|
|
with open(join(abspath(dirname(__file__)), 'gerbonara/__init__.py')) as fh:
|
|
for line in fh:
|
|
if line.startswith('__version__'):
|
|
ver = line.split("'")[1]
|
|
if environ.get('CI_COMMIT_SHA', '') != '' and environ.get('CI_COMMIT_TAG', '') == '':
|
|
# attach commit hash to non tagged test uploads from CI
|
|
commits = check_output(['/usr/bin/env', 'git', 'rev-list', '--count', 'HEAD'], text=True)
|
|
return f'{ ver }.dev{ commits.strip() }'
|
|
return ver
|
|
|
|
raise RuntimeError('Unable to find version string.')
|
|
|
|
|
|
setup(
|
|
name='gerbonara',
|
|
version=version(),
|
|
author='jaseg, XenGi',
|
|
author_email='gerbonara@jaseg.de',
|
|
description='Tools to handle Gerber and Excellon files in Python',
|
|
long_description=long_description(),
|
|
long_description_content_type='text/markdown',
|
|
url='https://gitlab.com/gerbolyze/gerbonara',
|
|
project_urls={
|
|
# 'Documentation': 'https://packaging.python.org/tutorials/distributing-packages/',
|
|
# 'Funding': 'https://donate.pypi.org',
|
|
# 'Say Thanks!': 'http://saythanks.io/to/example',
|
|
'Source': 'https://gitlab.com/gerbonara/gerbonara',
|
|
'Tracker': 'https://gitlab.com/gerbonara/gerbonara/issues',
|
|
},
|
|
packages=find_packages(exclude=['tests']),
|
|
install_requires=['click'],
|
|
entry_points={
|
|
'console_scripts': [
|
|
'gerbonara = gerbonara.cli:cli',
|
|
],
|
|
},
|
|
classifiers=[
|
|
#'Development Status :: 1 - Planning',
|
|
#'Development Status :: 3 - Alpha',
|
|
'Development Status :: 4 - Beta',
|
|
#'Development Status :: 5 - Production/Stable',
|
|
'Environment :: Console',
|
|
'Intended Audience :: Developers',
|
|
'Intended Audience :: Information Technology',
|
|
'Intended Audience :: Manufacturing',
|
|
'Intended Audience :: Science/Research',
|
|
'License :: OSI Approved :: Apache Software License',
|
|
'Natural Language :: English',
|
|
'Operating System :: POSIX :: Linux',
|
|
'Programming Language :: Python :: 3',
|
|
'Programming Language :: Python :: 3 :: Only',
|
|
'Programming Language :: Python :: 3.8',
|
|
'Programming Language :: Python :: 3.9',
|
|
'Programming Language :: Python :: 3.10',
|
|
'Topic :: Artistic Software',
|
|
'Topic :: Multimedia :: Graphics',
|
|
'Topic :: Printing',
|
|
'Topic :: Scientific/Engineering',
|
|
'Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)',
|
|
'Topic :: Scientific/Engineering :: Image Processing',
|
|
'Topic :: Utilities',
|
|
'Typing :: Typed',
|
|
],
|
|
keywords='gerber excellon pcb',
|
|
python_requires='>=3.8',
|
|
)
|