binwheels-neovim
An unofficial Python package to enable pre-built, cross-platform Neovim installation via standard Python package installation.
Usage
# uv
uv tool install binwheels-neovim
# pipx
pipx install binwheels-neovim
After installation, the nvim command will be available in your PATH:
nvim myfile.txt
How does it work?
Python wheels adhere to a naming scheme to indicate platform compatibility. The code in this repository is responsible for downloading (Windows/macOS) or compiling (Linux) an official Neovim release and packaging it into a binwheels-neovim wheel with the same version as the Neovim release it includes, and with platform/architecture tags that match the version of Neovim we have downloaded/compiled. For widest Python interpreter compatibility possible, the py3-none tag is used.
During installation, the contents of a Python wheel are unzipped to the site-packages/ directory in whatever Python environment the wheel is being installed into. This is where the Neovim application files end up: a binwheels_neovim/ directory inside site-packages/. But this doesn't help us, because that location is not on the user's $PATH.
To make nvim accessible on the user's $PATH we will leverage the executable scripts functionality of a Python wheel. This functionality allows you to specify a function in your package that will be installed as an executable command in the user's environment. If your environment is a local .venv/ directory, for example, the script would be installed to .venv/bin/. When using uv tool install or pipx install, the executable is added to a location on the user's $PATH.
Putting it all together: In order to make the nvim binary from this package available on the user's path, we need a Python function that will launch the nvim binary in a cross-platform way, and we need that function to itself be installed as an executable command named nvim. That is accomplished by the following:
- A file at
neovim_pyinstaller/main.py, which contains alaunch_neovim()function that launches thenvimbinary. - The following entry in
pyproject.toml, which ensureslaunch_neovim()is installed as an executable command namednvim:
[project.scripts]
nvim = "binwheels_neovim.main:launch_neovim"
Platform Support
Currently
- Linux (x64)
- macOS (x64, arm64)
- Windows (x64)
Maybe one day
- Linux (arm64)
License
This package is licensed under Apache-2.0. Neovim itself is licensed under Apache-2.0 and Vim license.
Metadata
Release files for binwheels-neovim 0.11.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| binwheels_neovim-0.11.4-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details for binwheels_neovim-0.11.4-py3-none-win_amd64.whl |
| binwheels_neovim-0.11.4-py3-none-manylinux_2_24_x86_64.whl | Python 3 | none | Linux glibc 2.24+ x86-64 | Details for binwheels_neovim-0.11.4-py3-none-manylinux_2_24_x86_64.whl |
| binwheels_neovim-0.11.4-py3-none-macosx_11_0_x86_64.whl | Python 3 | none | macOS 11.0+ x86-64 | Details for binwheels_neovim-0.11.4-py3-none-macosx_11_0_x86_64.whl |
| binwheels_neovim-0.11.4-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details for binwheels_neovim-0.11.4-py3-none-macosx_11_0_arm64.whl |
Total release size: 48.5 MB
Release files / binwheels_neovim-0.11.4-py3-none-win_amd64.whl
| Download URL | binwheels_neovim-0.11.4-py3-none-win_amd64.whl |
|---|---|
| Size | 12.2 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3dd400d88902e10d5cdd24b0d0cd277e616252bee878dc8dda01195ca0634ceb
|
|
BLAKE2b-256 checksum How to use checksums |
4c015ad842c93250790ea0ec9d87a2cfac0b37e419f512a47afabc23e13b3916
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Release files / binwheels_neovim-0.11.4-py3-none-manylinux_2_24_x86_64.whl
| Download URL | binwheels_neovim-0.11.4-py3-none-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | Linux glibc 2.24+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
0b7776ea1bf4a23a3ba3099f7159f67abc0876e0ba1c496b4ec7262c52ff54f4
|
|
BLAKE2b-256 checksum How to use checksums |
065d94c9b35c724250a8d84626a219ece61575c6d3c5ac29666749f566410138
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Release files / binwheels_neovim-0.11.4-py3-none-macosx_11_0_x86_64.whl
| Download URL | binwheels_neovim-0.11.4-py3-none-macosx_11_0_x86_64.whl |
|---|---|
| Size | 10.5 MB |
| Tags | Python 3 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
6f577e7a2ad6d6c853e338fdbaff1aa01e8ba102bd92b048113b0b915034f0ec
|
|
BLAKE2b-256 checksum How to use checksums |
20640fdeeac0f3b4a584a13b65ec2b10bd6f81784fd424559d4a14a940d027a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Release files / binwheels_neovim-0.11.4-py3-none-macosx_11_0_arm64.whl
| Download URL | binwheels_neovim-0.11.4-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 10.1 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e8c6a0af4067ba0ae680e8d46554c426d9627e12f37ef7fe0b689507dbaa7f03
|
|
BLAKE2b-256 checksum How to use checksums |
3131bf97ab75887fe07b3bc72a1fc7c270dc0f294bdc10752e30b8f0f04b83a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Security for binwheels-neovim 0.11.4
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.