-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
27 lines (22 loc) · 888 Bytes
/
setup.py
File metadata and controls
27 lines (22 loc) · 888 Bytes
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
import os
from setuptools import setup
from setuptools_rust import Binding, RustExtension
module_names = []
for folder, subfolders, files in os.walk('src'):
if folder == 'src':
modules = [f"{f_name[:-3]}" for f_name in files if f_name.endswith('.rs') and f_name != 'lib.rs']
else:
# There's, at most, a single level of nestig in modules
_, folder = folder.split('/')
modules = [f"{folder}.{f_name[:-3]}" for f_name in files if f_name.endswith('.rs') and f_name != 'mod.rs']
module_names.extend(modules)
package_name = "ldk_python"
packages = [f"{package_name}.{m_name}" for m_name in module_names]
setup(
name="ldk-python",
version="1.0",
rust_extensions=[RustExtension("ldk_python.ldk_python", binding=Binding.PyO3)],
packages=packages,
# rust extensions are not zip safe, just like C-extensions.
zip_safe=False,
)