Skip to main content

High-performance molecular simulation toolkit with Python bindings

Project description

FBTK: Forblaze Toolkit

PyPI - Version Documentation

High-performance molecular analysis and building tools powered by Rust. Designed as a "Transparent Accelerator" for Python (ASE/RDKit) workflows with a smart, object-oriented interface.

Features

  • 🚀 High Performance: Core logic written in Rust with parallel processing (Rayon).
  • 🏗️ Intelligent Builder:
    • Optimized Initial Packing: Grid-based placement with uniform density.
    • Polymer Synthesis: Automatic chain generation with leaving atom support.
    • Built-in 3D Generation: 3D coordinate generation from SMILES handled by internal VSEPR + UFF engine.
    • Fast Structural Relaxation: O(N) Cell-list optimization with the FIRE algorithm.
  • 🔍 Advanced Analysis:
    • Parallel RDF, MSD, COM (Center of Mass), Angles, Dihedrals.
    • O(N) Neighbor List search.
  • 📏 Robust Physics: Correct handling of PBC, Triclinic cells, and Minimum Image Convention (MIC).

Installation

Python Library (Recommended)

pip install fbtk

Requirements: Python 3.8+ and NumPy.

Standalone CLI (No Python Required)

For non-Python environments, pre-compiled standalone binaries for Linux, Windows, and macOS are available on the GitHub Releases page.

  • Download the archive for your platform (e.g., fbtk-cli-v0.9.1-linux-x86_64.tar.gz).
  • Requirements: None. These are self-contained binaries.

Usage

1. System Building

Build and relax a complex molecular system with just a few lines of code.

import fbtk

# 1. Setup Builder
builder = fbtk.Builder(density=0.8)
builder.add_molecule_smiles("ethanol", count=50, smiles="CCO")

# 2. Build and Relax
system = builder.build()
system.relax(steps=500)

# 3. Export to ASE
atoms = system.to_ase()
atoms.write("system.xyz")

2. RDF Analysis

Fast analysis of large trajectories using smart selection queries.

from ase.io import read
import fbtk

# Load trajectory (ASE list of Atoms)
traj = read('simulation.lammpstrj', index=':')

# Compute RDF using a simple query string
r, g_r = fbtk.compute_rdf(traj, query="O-H", r_max=10.0)

3. Command Line Interface (CLI)

FBTK provides standalone CLI tools for batch processing.

fbtk-build: Build from Recipe

# Run building and relaxation from a YAML recipe
fbtk-build --recipe recipe.yaml --relax --output system.mol2

Example recipe.yaml:

system:
  density: 0.8
  cell_shape: [20.0, 20.0, 20.0]
components:
  - name: "ethanol"
    role: "molecule"
    input:
      smiles: "CCO"
    count: 50

fbtk-analyze: Analyze Trajectory

# Compute RDF for a LAMMPS trajectory
fbtk-analyze rdf --input traj.lammpstrj --query "type 1 with type 2"

Selection Query Syntax

FBTK supports intuitive strings to select atoms for analysis:

  • Element: "O", "H", "element C"
  • Pairs (RDF): "O-H", "C - C"
  • Index Range: "index 0:100" (start:end)
  • Residue: "resname STY"

Author

Forblaze Project
Website: https://forblaze-works.com/

Project details


Download files

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

Source Distribution

fbtk-0.9.2.tar.gz (6.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fbtk-0.9.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

fbtk-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

fbtk-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

fbtk-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

fbtk-0.9.2-cp38-abi3-win_arm64.whl (844.6 kB view details)

Uploaded CPython 3.8+Windows ARM64

fbtk-0.9.2-cp38-abi3-win_amd64.whl (881.5 kB view details)

Uploaded CPython 3.8+Windows x86-64

fbtk-0.9.2-cp38-abi3-win32.whl (814.6 kB view details)

Uploaded CPython 3.8+Windows x86

fbtk-0.9.2-cp38-abi3-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

fbtk-0.9.2-cp38-abi3-musllinux_1_2_armv7l.whl (1.4 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARMv7l

fbtk-0.9.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

fbtk-0.9.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ppc64le

fbtk-0.9.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARMv7l

fbtk-0.9.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

fbtk-0.9.2-cp38-abi3-macosx_11_0_arm64.whl (994.8 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

fbtk-0.9.2-cp38-abi3-macosx_10_12_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file fbtk-0.9.2.tar.gz.

File metadata

  • Download URL: fbtk-0.9.2.tar.gz
  • Upload date:
  • Size: 6.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.2.tar.gz
Algorithm Hash digest
SHA256 fb6bba642db2b9d2dd4c0b3967d8ebcbdd57a57e3fed89b6f40bd4aa7f82cf06
MD5 f1ed0ed5138f2535459ba39778403d5b
BLAKE2b-256 c0e00fc1d40f7cbbde217822068af1d6c2f3df317d8e90795ed8e21cb47389e6

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: fbtk-0.9.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: PyPy, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1dac31973f62663912c6b13bf54d86b244587c85401d9685a14bd94b77143662
MD5 60ecbe8a001ea2aab50738c753e69b0d
BLAKE2b-256 f3fbc683fbd91dc1d2ae443fbe3eb67953229ef9d164131f6a65a8e842b8ac47

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

  • Download URL: fbtk-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: PyPy, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 dc52c8b4484358f004b4c5c8c37cd49a9f5afa671682d6ea32fd7abd7618d3c4
MD5 51d0765edf1da6f06c2b76de75b1ab7d
BLAKE2b-256 c97970ad889cbff230f040817be7153a5804204d1e56666641bf1fc8ff854f74

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fbtk-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 476a5d0f5c38e78f1953f113e6472b60faf33b7434cc09511ba4941693b27e13
MD5 f4cee09ed86acc0a7938b0db95cbd9cb
BLAKE2b-256 17c5d70a8b7f3b4645f4187cf576a3993a1d879dfacb53f31289eaa81ba87e75

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fbtk-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a000ca1b965daddf80bd79c62355fa7dc4d0b46ea740e9512392ba3074749513
MD5 59d4db14320cbab88ab42185f76adf8d
BLAKE2b-256 0cef29cbfbae405eb10f34c033d640a51a5ed582239f3322bf04ca7256510b19

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-cp38-abi3-win_arm64.whl.

File metadata

  • Download URL: fbtk-0.9.2-cp38-abi3-win_arm64.whl
  • Upload date:
  • Size: 844.6 kB
  • Tags: CPython 3.8+, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.2-cp38-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 b00f4030ec4d72e6c5a4faac4bf70434c82f7c9c15f3ab9d4b76cd273639477f
MD5 8a3477a53cc10156041433f4b567dce0
BLAKE2b-256 c8ed2ece7e4b43099e2dbc316d652d56e54a66bfec9f0b48ed74c40e8dc8cc3d

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: fbtk-0.9.2-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 881.5 kB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.12.0

File hashes

Hashes for fbtk-0.9.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b2e40471bd77f4de05fe11d7ae198676309df6067d59bc958a33fe033417db7d
MD5 ddb2b8620e36db58d5ec15de21d5cf86
BLAKE2b-256 8d238e96ca4f21168c2b091551156bc7036158ee28e027d330dbc87f7bf95d56

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-cp38-abi3-win32.whl.

File metadata

  • Download URL: fbtk-0.9.2-cp38-abi3-win32.whl
  • Upload date:
  • Size: 814.6 kB
  • Tags: CPython 3.8+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.2-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 8ed9b7b86ab181a4929abe8c9166a241ea48eb3e38fcdc40c17339e2061491d0
MD5 d73de97c200462d4d8e73c88409a0b44
BLAKE2b-256 2bf5156b3666a1ba0fb50b2dc502decf95b21dd98a46219885a2ec6f4805866d

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: fbtk-0.9.2-cp38-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.2-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4a80468e6b257a5d643449ba56fabc0f60c2714312c92541f4ab6919a42a0870
MD5 0e369cb6801b68a25e590433c5fd61fc
BLAKE2b-256 edef02459ce768abffc38fece1c78ba71df299d057454a7898d47d667ba612fc

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-cp38-abi3-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: fbtk-0.9.2-cp38-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.2-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 780c106bc4c6543e2d361349f19c5f8c3584bddb1a0e846e5c154c14d36fcd70
MD5 48c66295c1e1ab6ae37d1e7097f73f93
BLAKE2b-256 e03896f21c8327f4becf6bdcab69fb0264d5cefa24d5eef58688e18f199a23fc

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: fbtk-0.9.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67046c0d5e67230b991ce890d429b2414e1868b96eacad50119b88a1e2627a9d
MD5 fdceba12dd079575013d53d2e284a722
BLAKE2b-256 d21e4afc57d7f9f5cd1ed05bcb32834886ec997aac03c6dc1a60be93cfcc7ec6

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

  • Download URL: fbtk-0.9.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 68b9c224560cce9929114addee5630908b8d3ad09bb8c5454abbb8b2926156a5
MD5 7c6fca0538cc9639ba1bd330c6708286
BLAKE2b-256 91d8117a5130719cd1b42a460afdd5d793911205f93ee4f0e30b8f73536e3f35

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

  • Download URL: fbtk-0.9.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 9bb6c344aa7bd1ecf6f80690cc1ac42ca14113d96901a0403a6db231e584de9f
MD5 45d5d81d7f8efb443b11105ab27fcd71
BLAKE2b-256 aaa291fa5a7012c21c780d0b07b9fc3ab6a4b698f6e9e1d6495c0e18abc1149f

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: fbtk-0.9.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4099f7f9f3067f7ff4baf4aada268f7b30f0456d49e22b052e96f187e6ab7c64
MD5 c706739006ce9d11fb5672c19571e1f8
BLAKE2b-256 a6eff65f195395c1ae6e1288705ba6a1a9ebc548908066a3a33897bcad48cb10

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fbtk-0.9.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f259045ebe788077fd966e055d255f870be25f286c36efd68f238113c4e3beb5
MD5 ad0d283b712371188bf16c2eec927569
BLAKE2b-256 7e171d8202d745bbab5823734b9791361e142c3912945305fbb7fbc1f297a95d

See more details on using hashes here.

File details

Details for the file fbtk-0.9.2-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fbtk-0.9.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 047997eebd3bb99d96590b519d4743eba0ba9e06b2670966261a9bbb76316e9b
MD5 c6e7a7e0e0bb952b44035e8be2fca79b
BLAKE2b-256 eef43739b23b3812683041d103cee2cb22b38c1ccb2c3fa3e16d2016ba698e89

See more details on using hashes here.

Supported by

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