This release is a pre-release and may not be stable for production use.
BSM frontend Python distribution
This package delivers compiled BSM web assets to the Python backend. It exports
bsm_frontend.get_static_dir(), which returns the installed asset directory as a
pathlib.Path.
Install a published release
python -m pip install bsm-frontend
from bsm_frontend import get_static_dir
static_files = get_static_dir()
Installing a wheel does not require Node.js. The package supplies assets; it does not start the BSM backend or a web server.
Build from a checkout
Use Node.js 22.12 or later and Python 3.11 or later. From the repository root, using the Python environment intended for packaging:
python -m pip install build
npm ci
npm run build:python
The build creates frontend/dist/, copies it into
python/src/bsm_frontend/static/, and builds the wheel and source archive under
python/dist/. Generated outputs are not committed. Each packaging run replaces
the copied assets and previous distribution output.
Set PYTHON to select a different Python executable. In PowerShell, for example:
$env:PYTHON = "C:\Path\To\python.exe"
npm run build:python
python/build.sh is a Bash compatibility wrapper that installs npm dependencies
and runs the same build. npm commands are the primary cross-platform interface.
The generated source archive includes compiled assets; from an extracted archive,
python -m build can build a wheel without Node.js.
Install a local build
After a successful repository build, use the wheel under python/dist/.
PowerShell:
python -m pip install --force-reinstall (Get-ChildItem python/dist/*.whl).FullName
Bash:
python -m pip install --force-reinstall python/dist/*.whl
Restart the backend after replacing its installed frontend distribution.
Tests
From the repository root, in a Python development environment:
python -m pip install --editable "./python[dev]"
python -m pytest -c python/pyproject.toml python/tests
The wrapper tests check its Python API. CI additionally builds the distributions, checks their metadata, installs the wheel, and verifies the bundled HTML, JavaScript, manifest, and panorama assets.
Flake8 configuration is in python/.flake8. Run Flake8 from python/ or select
that configuration explicitly when invoking it from another directory.
Releases
Publish a GitHub release with a tag such as frontend-1.3.0b8. The frontend distribution workflow
publishes python/dist/ to PyPI after shared validation, using 1.3.0b8 as the
distribution version. Version discovery recognizes prefixed frontend tags and
historical unprefixed or v-prefixed tags in the parent repository and ignores
SDK tags. Only frontend- releases trigger new Python publications. The same release also
publishes the verified static assets as @bedrock-server-manager/frontend on npm,
using SemVer prerelease spelling. Both archives use the same compiled web build.
The GitHub workflow uses the existing release environment and PyPI
trusted publisher. See the
workspace release guide
for the independent SDK release process.
Metadata
Release files for bsm-frontend 1.3.0b8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| bsm_frontend-1.3.0b8.tar.gz | 2.5 MB | With provenance | Details for bsm_frontend-1.3.0b8.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| bsm_frontend-1.3.0b8-py3-none-any.whl | Python 3 | none | any | Details for bsm_frontend-1.3.0b8-py3-none-any.whl |
Total release size: 5.1 MB
Release files / bsm_frontend-1.3.0b8.tar.gz
| Download URL | bsm_frontend-1.3.0b8.tar.gz |
|---|---|
| Size | 2.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
481e1a130d10b07de4ceb7c97ebc893e9e5c65aa4fefb625659085b10533e1e5
|
|
BLAKE2b-256 checksum How to use checksums |
df9d34bccd66f6c2a453c75be1617d9b18e484df0d827027fb3a28d4ca94a053
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / bsm_frontend-1.3.0b8-py3-none-any.whl
| Download URL | bsm_frontend-1.3.0b8-py3-none-any.whl |
|---|---|
| Size | 2.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c14d17f5940666ac440c5fe0894d812eb9a5d733ebf0ec92256d1c1eedc643c2
|
|
BLAKE2b-256 checksum How to use checksums |
9b5ef6f78922343d487ca6a8997e38ea4b63759da9f73dac2c6b1df958ecd2f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logSecurity for bsm-frontend 1.3.0b8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for bsm_frontend-1.3.0b8.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.