Don't use pkg_resources.
[nmigen.git] / setup.py
1 from setuptools import setup, find_packages
2
3
4 def scm_version():
5 def local_scheme(version):
6 if version.tag and not version.distance:
7 return version.format_with("")
8 else:
9 return version.format_choice("+{node}", "+{node}.dirty")
10 return {
11 "relative_to": __file__,
12 "version_scheme": "guess-next-dev",
13 "local_scheme": local_scheme
14 }
15
16
17 setup(
18 name="nmigen",
19 use_scm_version=scm_version(),
20 author="whitequark",
21 author_email="whitequark@whitequark.org",
22 description="Python toolbox for building complex digital hardware",
23 #long_description="""TODO""",
24 license="BSD",
25 python_requires="~=3.6",
26 setup_requires=["setuptools", "setuptools_scm"],
27 install_requires=[
28 "importlib_metadata; python_version<'3.8'", # for __version__ and nmigen._yosys
29 "importlib_resources; python_version<'3.9'", # for nmigen._yosys
30 "pyvcd~=0.2.0", # for nmigen.pysim
31 "Jinja2~=2.11", # for nmigen.build
32 ],
33 extras_require={
34 # this version requirement needs to be synchronized with the one in nmigen.back.verilog!
35 "builtin-yosys": ["nmigen-yosys>=0.9.*"],
36 },
37 packages=find_packages(exclude=["*.test*"]),
38 entry_points={
39 "console_scripts": [
40 "nmigen-rpc = nmigen.rpc:main",
41 ]
42 },
43 project_urls={
44 #"Documentation": "https://nmigen.readthedocs.io/",
45 "Source Code": "https://github.com/nmigen/nmigen",
46 "Bug Tracker": "https://github.com/nmigen/nmigen/issues",
47 },
48 )