forked from hildogjr/KiCost
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
94 lines (86 loc) · 3.12 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import setuptools
import kicost
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
# Update the information files that stay in the computer.
with open('README.rst') as readme_file:
readme = readme_file.read()
with open('HISTORY.rst') as history_file:
history = history_file.read()
try:
history = history.replace('.. :changelog:', '')
except:
pass
# KiCost Python packages requirements to run-time.
requirements = [
'beautifulsoup4 >= 4.3.2', # Deal with HTML and XML tags.
'XlsxWriter >= 0.7.3', # Write the XLSX output file.
'future', # For print statements.
'tqdm >= 4.30.0', # Progress bar.
'requests >= 2.18.4', # Scrape, API and web modules.
'CurrencyConverter >= 0.13', # Used to convert price to a not available currency in one distributor.
'babel >= 2.6', # For currency format by the language in the spreadsheet.
# 'wxPython >= 4.0', # Graphical package/library needed to user guide.
]
# KiCost Python packages requirements to debug and tests.
test_requirements = [
# Put package test requirements here.
]
# Extra files needed by KiCost.
data_files=[
#('kicost', ['kicost/kicost.ico']), # Icon to the user guide. Added via `MANIFEST.in`.
]
setup(
name='kicost',
version=kicost.__version__,
description="Build cost spreadsheet for a KiCad project.",
long_description=readme + '\n\n' + history,
# long_description_content_type="text/reStructuredText",
author=kicost.__author__,
author_email=kicost.__email__,
url='https://xesscorp.github.io/KiCost',
project_urls={
'Doc': 'https://xesscorp.github.io/KiCost',
'Git': 'https://github.com/xesscorp/KiCost',
},
packages=setuptools.find_packages(),
entry_points={'console_scripts':['kicost = kicost.__main__:main']},
package_dir={'kicost':'kicost'},
include_package_data=True,
package_data={'kicost': ['*.gif', '*.png']},
#data_files=data_files,
scripts=[],
install_requires=requirements,
license="MIT",
zip_safe=False,
keywords='KiCAD, BOM, electronics',
classifiers=[
'Development Status :: Beta',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Natural Language :: English',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.5',
],
test_suite='tests',
tests_require=test_requirements
)
# Run the KiCost integration script.
try:
import sys
if sys.platform.startswith("win32"):
# For Windows it is necessary one additional library (used to create the shortcut).
try:
from pip import main as pipmain
except ImportError:
from pip._internal import main as pipmain
pipmain(['install', 'pywin32'])
# Run setup: shortcut, BOM module to Eeschema and OS context menu.
from .kicost.kicost_config import kicost_setup
kicost_setup()
except:
print('Error to run KiCost integration script.')