MAL Language Server
mal-language-server is a language server for MAL.
General
The project uses uv as the main project manager and ruff for linting/formatting. ruff can be installed via uv as native via uv tool install ruff or use it as the dev-dependency its specified as via uv run ruff <command>.
Before running the project or editing files, uv must download the required packages. For
that, use uv sync.
Running
To run the server, use the command uv run malls -- <options>.
There are two main ways of interacting with the server, via files or TCP. This can be configured via the start-up options. Obviously, they are mutually exclusive, meaning only one can be used per server instance.
-
Files: for this option, run
uv run malls --stdio, which defaults to standard input and output. To configure what files are used to read from/write to, runuv run malls --stdio -o OUT_FILE_PATH -i IN_FILE_PATH. -
TCP: for this option, run
uv run malls --tcp, which starts the server onlocalhostwith port8080. To use another host or port, add those options withuv run malls --tcp --host HOST -p PORT.
Other start-up arguments, namely related to logging, can be found using uv run malls -h
Installation
NeoVim
- Install the server via pip, for example locally:
pip install /folder/path/of/pyproject
[!NOTE] Use
-eto install it in editable/development mode, which updates the installation live. - Configure your NeoVim LSP client, for example :
init.luavim.lsp.config['malls'] = { cmd = { "malls", "--stdio" }, filetypes = { 'mal' }, } vim.lsp.enable('malls')
[!NOTE] Tested for NeoVim v0.11.1
CI/CD
Packages are published via UV on ubuntu to PyPI on tags pushed to the repository.
Tests are ran with pytest and pytest-xdist on ubuntu and macos. Additionally formatting and linting checks are ran with ruff.
Metadata
Release files for mal-language-server 0.1.0
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 |
|---|---|---|---|---|
| mal_language_server-0.1.0.tar.gz | 84.2 kB | With provenance | Details for mal_language_server-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mal_language_server-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for mal_language_server-0.1.0-py3-none-any.whl |
Total release size: 128.9 kB
Release files / mal_language_server-0.1.0.tar.gz
| Download URL | mal_language_server-0.1.0.tar.gz |
|---|---|
| Size | 84.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a02fab0392718cc197988a87be3a60f1062fd15a49511c858e0373ba0ba3a8db
|
|
BLAKE2b-256 checksum How to use checksums |
2b3fdb36a58ed6da1b649d122b0ef3d30a58ea9481bc3f0dfc600f1771363b7b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 2, 2025.
Transparency logRelease files / mal_language_server-0.1.0-py3-none-any.whl
| Download URL | mal_language_server-0.1.0-py3-none-any.whl |
|---|---|
| Size | 44.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b5f46a699841f1910bab9f7743ba4dfd474259cd58ee522de11bd1d519735b4
|
|
BLAKE2b-256 checksum How to use checksums |
a28248b5bbd37130ece06a7cd8102ffc725a90a754d3903d024417e1f662dd4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 2, 2025.
Transparency logSecurity for mal-language-server 0.1.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.
Attestation for mal_language_server-0.1.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 2, 2025.
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.