Skip to content

Commit 91d1b3d

Browse files
justinchubyCopilot
andcommitted
Trim public component surface and export build_from_gguf
Tighten the public API ahead of the first release. components.__all__ leaked 37 model-specific classes (vision towers, per-model attention/projector variants, codec/SSM blocks) that are implementation details of individual models, not reusable building blocks. Drop them from the public contract while keeping them importable internally via redundant-alias re-exports (`X as X`), so existing `from mobius.components import ...` call sites in model files are unaffected. components.__all__ shrinks from 112 to 75 names. Also export build_from_gguf at the top level: it was documented as public but never added to mobius.__all__ or re-exported. The gguf third-party import stays lazy, so `import mobius` remains safe without the optional gguf package installed. Config export policy (base-only vs export-all) is intentionally left to the config-redesign track. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Justin Chu <11205048+justinchuby@users.noreply.github.com>
1 parent 8d492d9 commit 91d1b3d

2 files changed

Lines changed: 90 additions & 73 deletions

File tree

src/mobius/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"build",
3535
"build_context",
3636
"build_diffusers_pipeline",
37+
"build_from_gguf",
3738
"build_from_module",
3839
"components",
3940
"ep_capabilities",
@@ -87,4 +88,5 @@
8788
registry,
8889
)
8990
from mobius._weight_loading import apply_weights
91+
from mobius.integrations.gguf import build_from_gguf
9092
from mobius.tasks import CausalLMTask, ModelTask

src/mobius/components/__init__.py

Lines changed: 88 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
"CausalConvNd",
1212
"CausalDepthwiseConv1d",
1313
"CausalTransConv1d",
14-
"CodecDecoderTransformerModel",
15-
"CodecEncoderTransformerModel",
1614
"ConformerEncoder",
1715
"Conv1d",
1816
"Conv2d",
@@ -22,7 +20,6 @@
2220
"DecoderBlock",
2321
"DecoderLayer",
2422
"DecoderResidualUnit",
25-
"DeepSeekMLA",
2623
"DiffusionFFN",
2724
"DiffusionSelfAttention",
2825
"Embedding",
@@ -34,59 +31,28 @@
3431
"GatedDeltaNet",
3532
"GatedMLP",
3633
"GatedRMSNorm",
37-
"Gemma3MultiModalProjector",
38-
"Gemma4AudioEncoder",
3934
"ClippableLinear",
4035
"GroupNorm",
4136
"GQAContext",
4237
"INT64_MAX",
4338
"InputMixer",
44-
"JambaSelectiveScan",
4539
"LayerNorm",
4640
"LayerNormNoAffine",
4741
"LayerNormNoBias",
4842
"OffsetLayerNorm",
4943
"LayerScale",
50-
"LightningAttention",
5144
"Linear",
5245
"LinearMultiModalProjector",
5346
"LoRALinear",
5447
"MLP",
55-
"Mistral3MultiModalProjector",
5648
"MLPMultiModalProjector",
57-
"Mamba2Block",
58-
"MambaBlock",
5949
"MoELayer",
6050
"OffsetRMSNorm",
6151
"PatchEmbed",
6252
"PatchEmbedding",
63-
"PixtralVisionTower",
6453
"PostGatedRMSNorm",
6554
"PostNormDecoderLayer",
66-
"QFormer",
67-
"QFormerAttention",
68-
"QFormerLayer",
6955
"QuantizedLinear",
70-
"Qwen25VLPatchEmbed",
71-
"Qwen25VLPatchMerger",
72-
"Qwen25VLVisionAttention",
73-
"Qwen25VLVisionBlock",
74-
"Qwen25VLVisionModel",
75-
"Qwen25VLVisionRotaryEmbedding",
76-
"Qwen2VLVisionBlock",
77-
"Qwen2VLVisionModel",
78-
"Qwen35Attention",
79-
"Qwen3ASRAudioAttention",
80-
"Qwen3ASRAudioEncoderLayer",
81-
"Qwen3VLPatchEmbed",
82-
"Qwen3VLPatchMerger",
83-
"Qwen3VLVisionAttention",
84-
"Qwen3VLVisionBlock",
85-
"Qwen3VLVisionModel",
86-
"Qwen3VLVisionRotaryEmbedding",
87-
"SANMAttention",
88-
"SANMEncoderLayer",
89-
"SANMFFN",
9056
"RMSNorm",
9157
"SelectiveScan",
9258
"SiLU",
@@ -103,9 +69,6 @@
10369
"VisionEncoder",
10470
"VisionEncoderLayer",
10571
"VisionModel",
106-
"WhisperAttention",
107-
"WhisperDecoderLayer",
108-
"WhisperEncoderLayer",
10972
"apply_rms_norm",
11073
"create_attention_bias",
11174
"create_decoder_layer",
@@ -120,9 +83,11 @@
12083
from mobius.components._attention import (
12184
Attention,
12285
GQAContext,
123-
Qwen35Attention,
12486
StaticCacheState,
12587
)
88+
from mobius.components._attention import (
89+
Qwen35Attention as Qwen35Attention,
90+
)
12691
from mobius.components._audio import ConformerEncoder
12792
from mobius.components._codec_conv import (
12893
CausalConv1d,
@@ -135,8 +100,10 @@
135100
SnakeBeta,
136101
)
137102
from mobius.components._codec_transformer import (
138-
CodecDecoderTransformerModel,
139-
CodecEncoderTransformerModel,
103+
CodecDecoderTransformerModel as CodecDecoderTransformerModel,
104+
)
105+
from mobius.components._codec_transformer import (
106+
CodecEncoderTransformerModel as CodecEncoderTransformerModel,
140107
)
141108
from mobius.components._codec_vq import SplitResidualVectorQuantizer
142109
from mobius.components._common import (
@@ -164,7 +131,7 @@
164131
PostNormDecoderLayer,
165132
create_decoder_layer,
166133
)
167-
from mobius.components._deepseek_mla import DeepSeekMLA
134+
from mobius.components._deepseek_mla import DeepSeekMLA as DeepSeekMLA
168135
from mobius.components._diffusion import (
169136
AdaLayerNormOutput,
170137
AdaLayerNormZero,
@@ -183,10 +150,12 @@
183150
EncoderDecoderAttention,
184151
)
185152
from mobius.components._gated_deltanet import GatedDeltaNet
186-
from mobius.components._gemma4_audio import ClippableLinear, Gemma4AudioEncoder
187-
from mobius.components._lightning_attention import LightningAttention
153+
from mobius.components._gemma4_audio import ClippableLinear
154+
from mobius.components._gemma4_audio import Gemma4AudioEncoder as Gemma4AudioEncoder
155+
from mobius.components._lightning_attention import LightningAttention as LightningAttention
188156
from mobius.components._lora import LoRALinear
189-
from mobius.components._mamba_block import Mamba2Block, MambaBlock
157+
from mobius.components._mamba_block import Mamba2Block as Mamba2Block
158+
from mobius.components._mamba_block import MambaBlock as MambaBlock
190159
from mobius.components._mlp import FCMLP, MLP, FusedGateUpMLP, GatedMLP
191160
from mobius.components._moe import (
192161
MoELayer,
@@ -196,45 +165,79 @@
196165
TopKGate,
197166
)
198167
from mobius.components._multimodal import (
199-
Gemma3MultiModalProjector,
168+
Gemma3MultiModalProjector as Gemma3MultiModalProjector,
169+
)
170+
from mobius.components._multimodal import (
200171
InputMixer,
201172
LinearMultiModalProjector,
202173
MLPMultiModalProjector,
203174
)
204175
from mobius.components._pixtral_vision import (
205-
Mistral3MultiModalProjector,
206-
PixtralVisionTower,
176+
Mistral3MultiModalProjector as Mistral3MultiModalProjector,
177+
)
178+
from mobius.components._pixtral_vision import (
179+
PixtralVisionTower as PixtralVisionTower,
180+
)
181+
from mobius.components._qformer import (
182+
QFormer as QFormer,
207183
)
208184
from mobius.components._qformer import (
209-
QFormer,
210-
QFormerAttention,
211-
QFormerLayer,
185+
QFormerAttention as QFormerAttention,
186+
)
187+
from mobius.components._qformer import (
188+
QFormerLayer as QFormerLayer,
212189
)
213190
from mobius.components._quantized_linear import (
214191
QuantizedLinear,
215192
make_quantized_linear_factory,
216193
)
217194
from mobius.components._qwen3_asr_audio import (
218-
Qwen3ASRAudioAttention,
219-
Qwen3ASRAudioEncoderLayer,
195+
Qwen3ASRAudioAttention as Qwen3ASRAudioAttention,
196+
)
197+
from mobius.components._qwen3_asr_audio import (
198+
Qwen3ASRAudioEncoderLayer as Qwen3ASRAudioEncoderLayer,
199+
)
200+
from mobius.components._qwen3_vl_vision import (
201+
Qwen3VLPatchEmbed as Qwen3VLPatchEmbed,
202+
)
203+
from mobius.components._qwen3_vl_vision import (
204+
Qwen3VLPatchMerger as Qwen3VLPatchMerger,
205+
)
206+
from mobius.components._qwen3_vl_vision import (
207+
Qwen3VLVisionAttention as Qwen3VLVisionAttention,
208+
)
209+
from mobius.components._qwen3_vl_vision import (
210+
Qwen3VLVisionBlock as Qwen3VLVisionBlock,
220211
)
221212
from mobius.components._qwen3_vl_vision import (
222-
Qwen3VLPatchEmbed,
223-
Qwen3VLPatchMerger,
224-
Qwen3VLVisionAttention,
225-
Qwen3VLVisionBlock,
226-
Qwen3VLVisionModel,
227-
Qwen3VLVisionRotaryEmbedding,
213+
Qwen3VLVisionModel as Qwen3VLVisionModel,
214+
)
215+
from mobius.components._qwen3_vl_vision import (
216+
Qwen3VLVisionRotaryEmbedding as Qwen3VLVisionRotaryEmbedding,
217+
)
218+
from mobius.components._qwen25_vl_vision import (
219+
Qwen2VLVisionBlock as Qwen2VLVisionBlock,
220+
)
221+
from mobius.components._qwen25_vl_vision import (
222+
Qwen2VLVisionModel as Qwen2VLVisionModel,
223+
)
224+
from mobius.components._qwen25_vl_vision import (
225+
Qwen25VLPatchEmbed as Qwen25VLPatchEmbed,
226+
)
227+
from mobius.components._qwen25_vl_vision import (
228+
Qwen25VLPatchMerger as Qwen25VLPatchMerger,
229+
)
230+
from mobius.components._qwen25_vl_vision import (
231+
Qwen25VLVisionAttention as Qwen25VLVisionAttention,
232+
)
233+
from mobius.components._qwen25_vl_vision import (
234+
Qwen25VLVisionBlock as Qwen25VLVisionBlock,
235+
)
236+
from mobius.components._qwen25_vl_vision import (
237+
Qwen25VLVisionModel as Qwen25VLVisionModel,
228238
)
229239
from mobius.components._qwen25_vl_vision import (
230-
Qwen2VLVisionBlock,
231-
Qwen2VLVisionModel,
232-
Qwen25VLPatchEmbed,
233-
Qwen25VLPatchMerger,
234-
Qwen25VLVisionAttention,
235-
Qwen25VLVisionBlock,
236-
Qwen25VLVisionModel,
237-
Qwen25VLVisionRotaryEmbedding,
240+
Qwen25VLVisionRotaryEmbedding as Qwen25VLVisionRotaryEmbedding,
238241
)
239242
from mobius.components._rms_norm import (
240243
GatedRMSNorm,
@@ -245,12 +248,18 @@
245248
)
246249
from mobius.components._rotary_embedding import initialize_rope
247250
from mobius.components._sanm_attention import (
248-
SANMFFN,
249-
SANMAttention,
250-
SANMEncoderLayer,
251+
SANMFFN as SANMFFN,
252+
)
253+
from mobius.components._sanm_attention import (
254+
SANMAttention as SANMAttention,
255+
)
256+
from mobius.components._sanm_attention import (
257+
SANMEncoderLayer as SANMEncoderLayer,
258+
)
259+
from mobius.components._ssm import (
260+
JambaSelectiveScan as JambaSelectiveScan,
251261
)
252262
from mobius.components._ssm import (
253-
JambaSelectiveScan,
254263
SelectiveScan,
255264
)
256265
from mobius.components._vision import (
@@ -262,7 +271,13 @@
262271
)
263272
from mobius.components._whisper import (
264273
Conv1d,
265-
WhisperAttention,
266-
WhisperDecoderLayer,
267-
WhisperEncoderLayer,
274+
)
275+
from mobius.components._whisper import (
276+
WhisperAttention as WhisperAttention,
277+
)
278+
from mobius.components._whisper import (
279+
WhisperDecoderLayer as WhisperDecoderLayer,
280+
)
281+
from mobius.components._whisper import (
282+
WhisperEncoderLayer as WhisperEncoderLayer,
268283
)

0 commit comments

Comments
 (0)