AlphaFold3 / tests /check_import_boundaries.py
OneScience's picture
Upload folder using huggingface_hub (part 2)
3e62986 verified
Raw
History Blame Contribute Delete
1.12 kB
from pathlib import Path
import re
import sys
PROJECT_ROOT = Path(__file__).resolve().parents[1]
LOCAL_ROOTS = (
PROJECT_ROOT / "flax_model",
PROJECT_ROOT / "model",
PROJECT_ROOT / "scripts",
)
def _python_files(root: Path):
return [
path
for path in root.rglob("*.py")
if "__pycache__" not in path.parts
]
def _check_no_onescience_model_imports():
pattern = re.compile(
r"onescience\.(flax_models|models)\.",
re.MULTILINE,
)
offenders = []
for root in LOCAL_ROOTS:
for path in _python_files(root):
text = path.read_text(encoding="utf-8", errors="ignore")
if pattern.search(text):
offenders.append(str(path.relative_to(PROJECT_ROOT)))
return offenders
def main():
offenders = _check_no_onescience_model_imports()
if offenders:
print("Forbidden onescience model imports:")
for offender in offenders:
print(f" {offender}")
return 1
print("Import boundary checks passed")
return 0
if __name__ == "__main__":
sys.exit(main())