Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

reduce-binary

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

reduce-binary

Install reduce with pip

  • 4.14.0.1
  • PyPI
  • Socket score

Maintainers
1

pip install reduce-binary (unofficial)

build

image PyPI - Downloads image image

Install and use reduce with ease in Python.

pip install reduce-binary
import reduce_binary

print(reduce_binary.REDUCE_BIN_PATH)
reduce_binary.run_reduce("-h")  # like subprocess.run(["reduce", "-h"])
reduce_binary.popen_reduce("-h")  # like subprocess.Popen(["reduce", "-h"])

# For no-argument case, pass an empty string
reduce_binary.run_reduce("")  # like subprocess.run(["reduce"])

# Pass a list of arguments
reduce_binary.run_reduce(["-Trim", "input.pdb"])

There exists a wrapper function.

from reduce_binary.helpers import protonate

protonate(
    "input.pdb",
    "output.pdb",
    remove_hydrogen_first=True,
    print_stderr=False,
)

Supported platforms:

  • Linux x86_64
  • MacOS x86_64, arm64 (Intel and Apple Silicon)

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

👨‍💻️ Maintenance Notes

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

Version rule:

e.g.: 4.14.0.2

  • 4.14 is the reduce version
  • the last digit is the build/API version number

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

# Mac
brew install gnu-sed

Build the app at buiid/ (reduce):

# Linux
bash build_reduce_linux.sh v4.14
# Mac (Intel)
MACOSX_DEPLOYMENT_TARGET=10.12 bash build_reduce_mac.sh v4.14
# Mac (Apple Silicon)
MACOSX_DEPLOYMENT_TARGET=11.0 bash build_reduce_mac.sh v4.14

[!NOTE] Linux build uses an old version of ubuntu docker to be compatible with old systems.
It also checks if the glibc dependency is lower than 2.17.
In the future you may need to increase this version in the script.

[!NOTE] The MACOSX_DEPLOYMENT_TARGET is the cmake flag.
https://cmake.org/cmake/help/latest/envvar/MACOSX_DEPLOYMENT_TARGET.html

Build the wheel. It copies the python to build_python/, built binary into it, modifies the version number and builds the wheel in build_python/dist/.:

# One of the following
bash build_python.sh 4.14 manylinux_2_17_x86_64.manylinux2014_x86_64
bash build_python.sh 4.14 macosx_10_12_x86_64
bash build_python.sh 4.14 macosx_11_0_arm64

Test the wheel

uv venv
source .venv/bin/activate
uv pip install -r requirements_test.txt
uv pip install build_python/dist/*.whl
pytest

✅ TODO

  • Cross-compile for Linux
  • Windows build
  • CHANGELOG and publish to releases

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc