-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
78 lines (70 loc) · 3.62 KB
/
Copy pathpyproject.toml
File metadata and controls
78 lines (70 loc) · 3.62 KB
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
[build-system]
requires = ["scikit-build-core>=1.0"]
build-backend = "scikit_build_core.build"
[project]
name = "OpenSceneGraph"
dynamic = ["version"]
description = "Modern Python bindings for OpenSceneGraph"
readme = "README.md"
requires-python = ">=3.9"
license = "MIT"
[project.urls]
# Standard PEP 621 metadata, readable via `pip show`/`importlib.metadata` with no network access --
# the canonical answer to "where's the real source" for anyone (or any agent) working against a
# pip-installed wheel with no source checkout.
Repository = "https://github.com/AlphaPixel/OpenSceneGraph.py"
[project.scripts]
# Runs one of the curated OpenSceneGraph.examples modules standalone (no Qt
# required), e.g. `pyosg mrt` or `pyosg blur -- model.gltf`. Equivalent to
# `python -m OpenSceneGraph.examples <name> ...`, which also works.
pyosg = "OpenSceneGraph.examples.__main__:main"
[project.entry-points."aipython.skills"]
# aipython reads this package's OpenSceneGraph/aipython/*.md resources without
# requiring a source checkout or importing the native bindings.
OpenSceneGraph = "OpenSceneGraph"
[tool.scikit-build]
# Distribution builds always use the project-pinned OSG rather than inheriting
# an arbitrary system installation.
# OpenSceneGraph 3.6.5 still declares pre-3.5 policy compatibility. CMake 4
# requires this explicit compatibility floor while configuring that pinned
# third-party source.
cmake.args = [
"-DPYOSG_FETCH_OSG=ON",
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5",
]
[tool.scikit-build.sdist]
# scikit-build-core's sdist step packages the raw filesystem, filtered by every .gitignore it
# finds anywhere in the tree -- including ones vendored deep inside third-party deps. These paths
# are confirmed (by a real cmake --build, not just configure) to be unreferenced by osgx's build
# graph with its forced-OFF feature flags (KTX_FEATURE_TESTS, etc.), and account for ~330MB of a
# clean-clone sdist that would otherwise be ~350MB.
exclude = [
"etc/osgx/ext/KTX-Software/tests",
"etc/osgx/ext/KTX-Software/external/basis_universal/webgl",
"etc/osgx/ext/KTX-Software/external/basis_universal/test_files",
"etc/osgx/ext/KTX-Software/external/basis_universal/shader_deblocking",
"etc/osgx/ext/KTX-Software/external/basis_universal/python",
"etc/osgx/ext/KTX-Software/external/astc-encoder/Test",
"etc/osgx/ext/KTX-Software/external/astc-encoder/Docs",
"etc/osgx/ext/tinygltf/attic",
]
# The exclude/gitignore walk above also hides these git-tracked files as collateral damage from
# vendored .gitignore rules elsewhere in the tree (astc-encoder's own `.gitignore` has a bare
# `/*.txt` that matches its CMakeLists.txt/LICENSE.txt; trimming KTX-Software/tests/ above removes
# tests/CMakeLists.txt, which KTX-Software's top-level CMakeLists.txt add_subdirectory()s
# unconditionally). Without these, sdist configure fails even on an unmodified sdist with none of
# the excludes above applied -- this is a pre-existing packaging bug, not something the trimming
# introduces. sdist.include is checked before exclude/gitignore filtering, so listing them here
# forces them back in.
include = [
"etc/osgx/ext/KTX-Software/external/astc-encoder/CMakeLists.txt",
"etc/osgx/ext/KTX-Software/external/astc-encoder/LICENSE.txt",
"etc/osgx/ext/KTX-Software/tests/CMakeLists.txt",
]
# Pulls the single version of record out of CMakeLists.txt's `project(... VERSION x.y.z ...)`
# call, so PROJECT_VERSION/PYOSG_VERSION and the wheel's metadata version can never drift apart.
[[tool.dynamic-metadata]]
provider = "scikit_build_core.metadata.regex"
field = "version"
input = "CMakeLists.txt"
regex = 'project\([^)]*VERSION\s+(?P<value>[0-9.]+)'