File size: 1,752 Bytes
35cdf53 | 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 | #!/usr/bin/env python3
"""Package metadata helpers for the split AlphaFold3 module."""
ALPHAFOLD3_PACKAGE_DATA = {
"flax_model.alphafold3": [
"*.so",
"*.pyd",
"*.dll",
"*.dylib",
"README.md",
"test_data/**/*",
"**/*.pyi",
],
"flax_model.alphafold3.constants.converters": [
"*.pickle",
],
}
ALPHAFOLD3_MANIFEST_RULES = [
"include flax_model/alphafold3/*.so",
"include flax_model/alphafold3/*.pyd",
"include flax_model/alphafold3/*.dll",
"include flax_model/alphafold3/*.dylib",
"recursive-include flax_model/alphafold3/constants/converters *.pickle",
"include flax_model/alphafold3/README.md",
"recursive-include flax_model/alphafold3/test_data *",
]
def get_package_data():
return ALPHAFOLD3_PACKAGE_DATA
def get_manifest_rules():
return ALPHAFOLD3_MANIFEST_RULES
_build_done = False
def build_hook(project_root, env, python_executable, subprocess_module):
del project_root, env, python_executable, subprocess_module
global _build_done
if _build_done:
return
from flax_model.alphafold3 import _build as af3_build
print("[AF3] local build hook triggered")
try:
print(
"[AF3] "
f"should_build={af3_build.should_build()} "
f"artifacts_exist={af3_build.artifacts_exist()} "
f"force_rebuild={af3_build.force_rebuild()}"
)
af3_build.build_if_needed()
print("[AF3] local build hook finished")
except af3_build.AF3BuildError as exc:
print(f"[AF3] local build skipped or failed: {exc}")
if af3_build.is_strict():
raise
_build_done = True
def get_build_hook():
return build_hook
|