Skip to main content

Install apbs with pip

Project description

pip install apbs-binary (Unofficial binary distribution of APBS)

image PyPI - Downloads image image

Install and use APBS with ease in Python.

pip install apbs-binary
from apbs_binary import APBS_BIN_PATH, MULTIVALUE_BIN_PATH, apbs, multivalue, process_run

# Run apbs
print(APBS_BIN_PATH)
apbs("--help")

# Run multivalue
print(MULTIVALUE_BIN_PATH)
multivalue()

The other tools are also available, but not all of them have the function wrappers. Use as apbs_binary.process_run("analysis", "--help") for example.

Supported platforms:

  • Linux x86_64 (Ubuntu 20.04 +)
  • MacOS x86_64 (11.6+), arm64 (12.0+)

[!NOTE] Installing the package does NOT put the binary in $PATH.
Instead, the API will tell you where it is located.

👨‍💻️ Maintenance Notes

Releasing a new version with CI (recommended)

Go to Github Actions and run the Build and Release workflow.

Version rule:

3.4.1.2:

  • 3.4.1 is the APBS version
  • the last digit (.2) is the patch/build number. It increases as we rebuild the wheels with different configurations or update the python API.

Running locally

This section describes how it works.

To run it locally, first install the dependencies:

pip install uv --user --break-system-packages
uv tool install wheel
uv tool install build
uv tool install huggingface_hub

# Mac
brew install gnu-sed

Download the built binaries into data/:

huggingface-cli download --repo-type dataset --local-dir data Deargen/py-apbs-binary

Build four wheels on all platforms. Basically it will put the binaries in the src/apbs_binary/bin/ folder and then build the wheels in a temp directory, outputting the wheels to dist/.

# first arg: APBS version to find in `data/` (i.e. data/apbs-3.4.1/APBS-3.4.1.Linux)
# second arg: wheel version
bash build_python.sh 3.4.1 3.4.1.2

Test the wheel

uv venv
source .venv/bin/activate
uv pip install -r requirements_test.txt
uv pip install build_python/dist/*.whl    # choose the wheel for your platform only.
pytest

Notes

  • The official 3.4.1 binary is not static and depends on python39.dll, libpython3.9.so.1.0, etc. on Windows and Mac (Linux seems fine)
  • brew install brewsci/bio/apbs is not static either and depends on libmetis.dylib.
  • In this repository, we use the brew-created binary for macOS and the official binary for Linux. We don't support Windows yet.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

apbs_binary-3.4.1-py3-none-manylinux_2_28_x86_64.whl (9.7 MB view details)

Uploaded Python 3 manylinux: glibc 2.28+ x86-64

apbs_binary-3.4.1-py3-none-macosx_12_0_arm64.whl (812.4 kB view details)

Uploaded Python 3 macOS 12.0+ ARM64

apbs_binary-3.4.1-py3-none-macosx_10_15_x86_64.whl (943.3 kB view details)

Uploaded Python 3 macOS 10.15+ x86-64

File details

Details for the file apbs_binary-3.4.1-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apbs_binary-3.4.1-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0c0a6cb7014d3959f12a645e5afa013b1ee5df3be9fa28295b86f5e8e0329c72
MD5 0249d23454790a8ce254b1607b2fbbd1
BLAKE2b-256 8f006192bf9020fddd9547f1acce3e618c87a0fbae06e86f3ef9bbe5527394cc

See more details on using hashes here.

File details

Details for the file apbs_binary-3.4.1-py3-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for apbs_binary-3.4.1-py3-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 ef18b93ccd292b47ad5e4a2b7323d842cbe37a6ce1e9c9344f5bd78269be72e8
MD5 8491571dc69b6b6294ff1e69dc59b0a6
BLAKE2b-256 b96302b4a082da5c822177729ef3f1d903275f86d4336baea55edc3dbce29e9e

See more details on using hashes here.

File details

Details for the file apbs_binary-3.4.1-py3-none-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for apbs_binary-3.4.1-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 fe87a8874b60e7c52f386200788f64a67a36d07c96443b0d065a3ffb9efb4712
MD5 af2c7bf284b074e1fb0e5e1cf94a5929
BLAKE2b-256 00dd0d6b09c985284115d43d42762c289496262ffc6e88a302d6fd1842002dbf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page