Skip to main content

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.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bsm-frontend 1.3.0
File Size Uploaded Provenance Actions
bsm_frontend-1.3.0.tar.gz 2.5 MB With provenance Details for bsm_frontend-1.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for bsm-frontend 1.3.0
File Interpreter ABI Platform Actions
bsm_frontend-1.3.0-py3-none-any.whl Python 3 none any Details for bsm_frontend-1.3.0-py3-none-any.whl

Total release size: 5.1 MB

Release files / bsm_frontend-1.3.0.tar.gz

Download URL bsm_frontend-1.3.0.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
58b879f2cd6e74c6cf628ad5a2b0ad1eb22237b1e539ecd84836a07e86407fd1
BLAKE2b-256 checksum
How to use checksums
9f4595222aa5824df05715c9c154e569b86deab619adb7b570c34fd1ec23aa10
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 log

Release files / bsm_frontend-1.3.0-py3-none-any.whl

Download URL bsm_frontend-1.3.0-py3-none-any.whl
Size 2.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
71ce8373047fad60baec11220d8a4455d64fc6b8c7476592f5156965426c7793
BLAKE2b-256 checksum
How to use checksums
6365f739061a006c6adab465e150939864c5c9af7c4bc8639e7fa677b1f71070
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 log

Security for bsm-frontend 1.3.0

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.

Select from 2 files

Attestation for bsm_frontend-1.3.0.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 log

A 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.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files Full provenance

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