Skip to main content
Pre-release

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)

Source distribution for mflux-web 0.0.1a1
File Size Uploaded
mflux_web-0.0.1a1.tar.gz 3.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mflux-web 0.0.1a1
File Interpreter ABI Platform
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}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page