Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions _version.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
commit_id: COMMIT_ID
__commit_id__: COMMIT_ID

__version__ = version = '0.1.dev140+ge3e4fd1c6.d20260301'
__version_tuple__ = version_tuple = (0, 1, 'dev140', 'ge3e4fd1c6.d20260301')
__version__ = version = '0.1.dev161+g47a99b31a.d20260304'
__version_tuple__ = version_tuple = (0, 1, 'dev161', 'g47a99b31a.d20260304')

__commit_id__ = commit_id = 'ge3e4fd1c6'
__commit_id__ = commit_id = 'g47a99b31a'
112 changes: 91 additions & 21 deletions negate/__init__.py
Original file line number Diff line number Diff line change
@@ -1,29 +1,99 @@
# SPDX-License-Identifier: MPL-2.0 AND LicenseRef-Commons-Clause-License-Condition-1.0
# <!-- // /* d a r k s h a p e s */ -->
# ruff: noqa

from datasets import logging as ds_logging, disable_progress_bars as ds_disable_progress_bars
from huggingface_hub import logging as hf_logging
from huggingface_hub.utils.tqdm import disable_progress_bars as hf_disable_progress_bars
from transformers import logging as tf_logging
from diffusers.utils import logging as df_logging
from timm.utils.log import setup_default_logging

from __future__ import annotations

import importlib
import logging
import warnings
from typing import Any

__all__ = [
"Blurb",
"InferContext",
"Spec",
"build_train_call",
"chart_decompositions",
"compute_weighted_certainty",
"configure_runtime_logging",
"end_processing",
"infer_origin",
"load_metadata",
"load_spec",
"pretrain",
"root_folder",
"run_training_statistics",
"save_features",
"save_train_result",
"train_model",
"training_loop",
]

_ATTR_SOURCES = {
"Blurb": ("negate.io.blurb", "Blurb"),
"InferContext": ("negate.inference", "InferContext"),
"Spec": ("negate.io.spec", "Spec"),
"build_train_call": ("negate.train", "build_train_call"),
"chart_decompositions": ("negate.metrics.track", "chart_decompositions"),
"compute_weighted_certainty": ("negate.metrics.heuristics", "compute_weighted_certainty"),
"end_processing": ("negate.io.save", "end_processing"),
"infer_origin": ("negate.inference", "infer_origin"),
"load_metadata": ("negate.io.spec", "load_metadata"),
"load_spec": ("negate.io.spec", "load_spec"),
"pretrain": ("negate.train", "pretrain"),
"root_folder": ("negate.io.config", "root_folder"),
"run_training_statistics": ("negate.metrics.track", "run_training_statistics"),
"save_features": ("negate.io.save", "save_features"),
"save_train_result": ("negate.io.save", "save_train_result"),
"train_model": ("negate.train", "train_model"),
"training_loop": ("negate.train", "training_loop"),
}

_LOGGING_CONFIGURED = False


def configure_runtime_logging() -> None:
"""Apply quiet logging defaults for third-party ML stacks."""

global _LOGGING_CONFIGURED
if _LOGGING_CONFIGURED:
return

warnings.filterwarnings("ignore", category=UserWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning)

try:
from datasets import logging as ds_logging, disable_progress_bars as ds_disable_progress_bars
from diffusers.utils import logging as df_logging
from huggingface_hub import logging as hf_logging
from huggingface_hub.utils.tqdm import disable_progress_bars as hf_disable_progress_bars
from timm.utils.log import setup_default_logging
from transformers import logging as tf_logging
except Exception:
# Keep startup resilient when optional deps are absent.
_LOGGING_CONFIGURED = True
return

setup_default_logging(logging.ERROR)
for logger in [df_logging, ds_logging, hf_logging, tf_logging]:
logger.set_verbosity_error()

warnings.filterwarnings("ignore", category=UserWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning)
setup_default_logging(logging.ERROR)
for logger in [df_logging, ds_logging, hf_logging, tf_logging]:
logger.set_verbosity_error()
ds_disable_progress_bars()
hf_disable_progress_bars()
_LOGGING_CONFIGURED = True


def __getattr__(name: str) -> Any:
source = _ATTR_SOURCES.get(name)
if source is None:
raise AttributeError(name)

module_name, attr_name = source
module = importlib.import_module(module_name)
value = getattr(module, attr_name)
globals()[name] = value
return value


from negate.io.blurb import Blurb
from negate.io.config import root_folder
from negate.io.spec import Spec, load_spec, load_metadata
from negate.metrics.track import chart_decompositions, run_training_statistics
from negate.train import build_train_call, pretrain, train_model, training_loop
from negate.io.save import save_train_result, end_processing, save_features
from negate.metrics.heuristics import compute_weighted_certainty
from negate.inference import infer_origin, InferContext
def __dir__() -> list[str]:
return sorted(set(globals()) | set(__all__))
Loading