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
4 changes: 4 additions & 0 deletions bayesflow/adapters/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
from . import transforms
from .adapter import Adapter

from ..utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=["transforms"])
4 changes: 4 additions & 0 deletions bayesflow/adapters/transforms/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,7 @@
from .standardize import Standardize
from .to_array import ToArray
from .transform import Transform

from ...utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=["transforms"])
4 changes: 4 additions & 0 deletions bayesflow/approximators/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
from .approximator import Approximator
from .continuous_approximator import ContinuousApproximator
from .model_comparison_approximator import ModelComparisonApproximator

from ..utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=[])
4 changes: 4 additions & 0 deletions bayesflow/benchmarks/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
from .simulators import TwoMoons
from .simulators import LotkaVolterra

from ..utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=[])
4 changes: 4 additions & 0 deletions bayesflow/datasets/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,7 @@
from .online_dataset import OnlineDataset
from .disk_dataset import DiskDataset
from .rounds_dataset import RoundsDataset

from ..utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=[])
4 changes: 4 additions & 0 deletions bayesflow/diagnostics/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,7 @@
recovery,
z_score_contraction,
)

from ..utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=[])
4 changes: 4 additions & 0 deletions bayesflow/distributions/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
from .distribution import Distribution
from .diagonal_normal import DiagonalNormal
from .diagonal_student_t import DiagonalStudentT

from ..utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=[])
5 changes: 5 additions & 0 deletions bayesflow/metrics/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
from . import functional
from .maximum_mean_discrepancy import MaximumMeanDiscrepancy
from .root_mean_squard_error import RootMeanSquaredError

from ..utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=["functional"])
4 changes: 4 additions & 0 deletions bayesflow/metrics/functional/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
from .maximum_mean_discrepancy import maximum_mean_discrepancy
from .root_mean_squared_error import root_mean_squared_error

from ...utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=[])
4 changes: 4 additions & 0 deletions bayesflow/networks/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,7 @@
from .lstnet import LSTNet
from .summary_network import SummaryNetwork
from .transformers import SetTransformer, TimeSeriesTransformer, FusionTransformer

from ..utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=[])
4 changes: 4 additions & 0 deletions bayesflow/simulators/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@
from .model_comparison_simulator import ModelComparisonSimulator
from .simulator import Simulator
from .two_moons import TwoMoons

from ..utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=[])
4 changes: 4 additions & 0 deletions bayesflow/types/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
from .shape import Shape
from .tensor import Tensor

from ..utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=[])
4 changes: 4 additions & 0 deletions bayesflow/utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,7 @@
)
from .validators import check_lengths_same
from .workflow_utils import find_inference_network, find_summary_network

from ._docs import _add_imports_to_all

_add_imports_to_all(include_modules=["keras_utils", "logging", "numpy_utils"])
1 change: 1 addition & 0 deletions bayesflow/utils/_docs/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from ._populate_all import _add_imports_to_all
21 changes: 21 additions & 0 deletions bayesflow/utils/_docs/_populate_all.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import inspect


def _add_imports_to_all(include_modules: bool | list[str] = False, exclude: list[str] | None = None):
"""Add all global variables to __all__"""
assert type(include_modules) in [bool, list]
exclude = exclude or []
calling_module = inspect.stack()[1]
local_stack = calling_module[0]
global_vars = local_stack.f_globals
all_vars = global_vars["__all__"] if "__all__" in global_vars else []
included_vars = []
for var_name in set(global_vars.keys()):
if inspect.ismodule(global_vars[var_name]):
if include_modules is True and var_name not in exclude and not var_name.startswith("_"):
included_vars.append(var_name)
elif isinstance(include_modules, list) and var_name in include_modules:
included_vars.append(var_name)
elif var_name not in exclude and not var_name.startswith("_"):
included_vars.append(var_name)
global_vars["__all__"] = list(set(all_vars).union(included_vars))
4 changes: 4 additions & 0 deletions bayesflow/workflows/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
from .basic_workflow import BasicWorkflow

from ..utils._docs import _add_imports_to_all

_add_imports_to_all(include_modules=[])
1 change: 1 addition & 0 deletions docsrc/source/api/bayesflow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
bayesflow.datasets
bayesflow.diagnostics
bayesflow.distributions
bayesflow.experimental
bayesflow.metrics
bayesflow.networks
bayesflow.simulators
Expand Down
2 changes: 1 addition & 1 deletion docsrc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
# do not ignore __all__, use it to determine public members
autosummary_ignore_module_all = False
# include imported members in autosummary
autosummary_imported_members = True
autosummary_imported_members = False
# selects content to insert into the main body of an autoclass directive.
autoclass_content = "both"

Expand Down