forked from BYUCamachoLab/simphony
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
93 lines (79 loc) · 3.01 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
# Copyright © Simphony Project Contributors
# Licensed under the terms of the MIT License
# (see simphony/__init__.py for details)
"""Simphony Photonic Simulator.
This module implements a free and open source photonic integrated
circuit (PIC) simulation engine. It is speedy and easily extensible.
"""
import io
import sys
import setuptools
from simphony import __version__, __website_url__ # analysis:ignore
# ==============================================================================
# Constants
# ==============================================================================
NAME = "simphony"
LIBNAME = "simphony"
# ==============================================================================
# Use README for long description
# ==============================================================================
with io.open("README.md", encoding="utf-8") as f:
LONG_DESCRIPTION = f.read()
# ==============================================================================
# Setup arguments
# ==============================================================================
setup_args = dict(
name=NAME,
version=__version__,
description="Simphony: A Simulator for Photonic circuits",
long_description=LONG_DESCRIPTION,
long_description_content_type="text/markdown",
# download_url=__website_url__ + "",
author="AustP",
author_email="[email protected]",
url=__website_url__,
license="MIT",
keywords="photonics simulation circuits science",
platforms=["Windows", "Linux", "Mac OS-X"],
packages=setuptools.find_packages(),
package_data={
"": ["*.ini"],
"simphony.libraries.siepic": ["source_data/*", "source_data/*/*"],
"simphony.tests": ["mzi.json"],
},
classifiers=[
"License :: OSI Approved :: MIT License",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Development Status :: 4 - Beta",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"Intended Audience :: Developers",
"Topic :: Scientific/Engineering",
],
python_requires=">=3.7",
)
install_requires = [
"scipy>=1.5.4",
"numpy>=1.19.5",
"parsimonious>=0.8.1",
]
extras_require = {
"test": ["pytest"],
}
if "setuptools" in sys.modules:
setup_args["install_requires"] = install_requires
setup_args["extras_require"] = extras_require
# setup_args.pop('scripts', None)
# ==============================================================================
# Main setup
# ==============================================================================
setuptools.setup(**setup_args)