[build-system]
requires = ["setuptools>=42", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "easy3d"
version = "@Easy3D_VERSION_STRING@"
description = "Python bindings for the Easy3D library"
authors = [
{ name = "Liangliang Nan", email = "liangliang.nan@gmail.com" }
]
license = "GPL-3.0-or-later"
license-files = ["easy3d/LICENSE"]
readme = { file = "README.md", content-type = "text/markdown" }
urls = { Homepage = "https://github.com/LiangliangNan/Easy3D" }
classifiers = [
"Programming Language :: Python :: 3",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS",
]
requires-python = ">=3.8" # Specifies Python version requirement
dependencies = [
"numpy",
]
# Include all non-Python files in the distribution
[tool.setuptools]
include-package-data = true
# Specify where to find Python packages
[tool.setuptools.packages.find]
where = ["."] # Look for packages in the root directory
include = ["easy3d*"] # Include the `easy3d` package and its submodules
# Include specific files and directories in the distribution
[tool.setuptools.package-data]
easy3d = [
"*.so*", # Include .so files (Linux and macOS). Linux may have .so.1, .so.2, etc.
"*.dylib", # Include .dylib files (macOS)
"*.pyd", # Include .pyd files (Windows)
"*.dll", # Include .dll files (Windows)
"resources/**/*", # Include all files in the `resources` directory and its subdirectories
"LICENSE",
"README.md",
]
# Exclude specific files (e.g., .DS_Store, runtime_dependencies.txt)
[tool.setuptools.exclude-package-data]
easy3d = [
"**/.DS_Store",
]