This release is a pre-release and may not be stable for production use.
mflux-web
Install (once published):
pip install mflux-web
Both entry points resolve to the same module object:
import mflux.web
import mflux_web
assert mflux.web is mflux_web
mflux_web owns the implementation and works without installing or importing
mflux. Importing mflux.web registers it as an alias of mflux_web, sharing
all public symbols and module state. Either import order works, and the greeting
prints once per process. Submodules are not automatically aliased; use
mflux.web.<plugin> for third-party plugins. This initial scaffold has no web
server or application API yet.
Namespace ownership
This distribution owns mflux/web/__init__.py and mflux_web/. It deliberately
does not ship mflux/__init__.py or require the inference distribution.
The mflux.web alias adds plugin directories discovered by pkgutil.extend_path
to the shared package path, so other distributions can contribute subpackages
even from separate import paths.
A plugin distribution can ship:
src/
└── mflux/
└── web/
└── anythingelse/
└── __init__.py
With this uv build configuration:
[project]
name = "mflux-web-anythingelse"
version = "0.1.0"
dependencies = ["mflux-web>=0.0.1a1"]
[build-system]
requires = ["uv_build>=0.12.15,<0.13.0"]
build-backend = "uv_build"
[tool.uv.build-backend]
module-name = "mflux.web.anythingelse"
Consumers can then use import mflux.web.anythingelse. Plugins must not ship
mflux/__init__.py or mflux/web/__init__.py; each owns a unique child name.
Integration with the mflux parent
The existing mflux project has a regular mflux/__init__.py. Normal wheel
installations into the same site-packages directory coexist with this package.
For separate editable installs or other split-path layouts, add this to the
mflux project's existing src/mflux/__init__.py, retaining its current setup:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
Without that parent change, an installed regular mflux package can hide an
editable mflux-web checkout. Setting namespace = true in build configuration
does not change Python's runtime import behavior. This repository does not
modify or replace the parent initializer.
Development
Use uv-managed Python 3.14 for development; the library supports Python 3.11–3.15.
uv sync
uv build
uv run python -m unittest discover -s tests -v
The tests build the distributions in a temporary directory and check their contents and imports in isolated subprocesses, including third-party namespace contributions and regular-parent coexistence.
Metadata
Release files for mflux-web 0.0.1a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mflux_web-0.0.1a1.tar.gz | 3.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mflux_web-0.0.1a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.1 kB
Release files / mflux_web-0.0.1a1.tar.gz
| Download URL | mflux_web-0.0.1a1.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b7ebcfa87aba4571129252de9c9a00d96f07d89d85fc0fc3ec2904c9e7fdcd5
|
|
BLAKE2b-256 checksum How to use checksums |
3ea7733e981d630f9745d2be71465f9d24e7c4550878eec67e0b06d418edab9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / mflux_web-0.0.1a1-py3-none-any.whl
| Download URL | mflux_web-0.0.1a1-py3-none-any.whl |
|---|---|
| Size | 3.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ce174963358cec0d26ba5bddd724860ba8f9afc3fcbe883442a3a8a15b646d7
|
|
BLAKE2b-256 checksum How to use checksums |
05711090defaac287d5c9553c5c4531d67b27b6be8b83b00d71afe1f3ec2e519
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|