beautiful-atoms

Python module for drawing and rendering beautiful atoms and molecules using Blender.

https://github.com/beautiful-atoms/beautiful-atoms

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Keywords

3d ase atomic atoms blender crystal molecule protein pymatgen python rendering ribbon-diagram
Last synced: 6 months ago · JSON representation ·

Repository

Python module for drawing and rendering beautiful atoms and molecules using Blender.

Basic Info
Statistics
  • Stars: 165
  • Watchers: 3
  • Forks: 28
  • Open Issues: 39
  • Releases: 6
Topics
3d ase atomic atoms blender crystal molecule protein pymatgen python rendering ribbon-diagram
Created over 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Beautiful Atoms

Build beautiful_atoms main image Unit test codecov

Batoms is a Python package for editing and rendering atoms and molecule objects using Blender. A Python interface that allows for automating workflows.

Features:

  • Model: space-filling, ball-stick, polyhedral, cavity and so on.
  • Supported File type: cif, xyz, cube, pdb, json, VASP-out and so on.
  • Supported structure: ASE and Pymatgen
  • Volumetric data (Isosurface)
  • Ribbon diagram for protein
  • Site occupancy
  • Animation
  • GUI
  • Support periodic boundary conditions
  • Support fetch structures from MaterialProject, Pubchem and RSCB
  • Flexible: Python script, run interactively or in the background.
  • High quality rendering: 3D models
  • Free, Open Source: Easy to download and install.
  • Cross-platform: (Linux, Windows, macOS)

How to use

⚠️ Need Blender 4.2.0 or later.

Please visit the documentation for more information.

View and edit structure in Jupyter Notebook

Another package, weas-widget, allows users to visualize and edit with atomistic structures in Jupyter Notebook.

How to contribute

Extension

One can build the extension locally by following the steps below.

Download wheels for ase and scikit-image: pip download ase scikit-image --dest ./batoms/wheels --only-binary=:all: --python-version=3.11 --platform=manylinux_2_17_x86_64 pip download ase scikit-image --dest ./batoms/wheels --only-binary=:all: --python-version=3.11 --platform=win_amd64 pip download ase scikit-image --dest ./batoms/wheels --only-binary=:all: --python-version=3.11 --platform=macosx_12_0_arm64

Update the wheels in the batoms/blender_manifest.toml file.

console python scripts/update_wheels.py

Build the extension. blender --command extension build --source-dir batoms --output-dir .

Editor

We recommend using Visual Studio Code with the Blender extension.

In order to develop it inside VSCode, you need at least update the wheel file in the batoms/blender_manifest.toml file using the steps above.

Test

To run the tests, run:

```console

install pytest

~/apps/blender-4.3.2-linux-x64/4.3/python/bin/python3.11 -m pip install pytest

run all tests

~/apps/blender-4.3.2-linux-x64/blender -b -P scripts/run_tests.py -- -vv tests

run a specific test

~/apps/blender-4.3.2-linux-x64/blender -b -P scripts/runtests.py -- -vv tests/testbatoms.py ```

Pre-commit

To install the pre-commit hooks, run:

console $ pre-commit install

Contact

Owner

  • Name: Beautiful Atoms
  • Login: beautiful-atoms
  • Kind: organization

The development team of Beautiful Atoms

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Wang"
  given-names: "Xing"
  orcid: "https://orcid.org/0000-0003-3356-9108"
- family-names: "Tian"
  given-names: "Tian"
  orcid: "https://orcid.org/0000-0003-0634-0455"
- family-names: "Aschauer"
  given-names: "Ulrich"
  orcid: "https://orcid.org/0000-0002-1165-6377"
title: "Beautiful Atoms: A python library for the manipulation and visualization of atomistic structure using blender"
version: 2.1.0
# doi: 10.5281/zenodo.1234
date-released: 2022-06-11
url: "https://github.com/beautiful-atoms/beautiful-atoms"

GitHub Events

Total
  • Issues event: 9
  • Watch event: 25
  • Delete event: 6
  • Issue comment event: 19
  • Push event: 57
  • Pull request event: 13
  • Fork event: 3
  • Create event: 6
Last Year
  • Issues event: 9
  • Watch event: 25
  • Delete event: 6
  • Issue comment event: 19
  • Push event: 57
  • Pull request event: 13
  • Fork event: 3
  • Create event: 6

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 789
  • Total Committers: 4
  • Avg Commits per committer: 197.25
  • Development Distribution Score (DDS): 0.376
Past Year
  • Commits: 8
  • Committers: 1
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
superstar54 x****1@g****m 492
T.Tian a****a@g****m 295
uliaschauer u****r@g****m 1
Andrew S. Rosen a****3@g****m 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 56
  • Total pull requests: 100
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Total issue authors: 19
  • Total pull request authors: 4
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.94
  • Merged pull requests: 90
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 13
  • Average time to close issues: about 8 hours
  • Average time to close pull requests: 2 days
  • Issue authors: 6
  • Pull request authors: 1
  • Average comments per issue: 1.17
  • Average comments per pull request: 1.69
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • superstar54 (26)
  • alchem0x2A (12)
  • YukeLi-chem (2)
  • lycheehoo (2)
  • lwjjie (1)
  • liuyun88 (1)
  • b-mazur (1)
  • tsthakur (1)
  • exenGT (1)
  • yinkaaiwu (1)
  • juozasmiskinis (1)
  • jkshenton (1)
  • buhrmann (1)
  • Fromeworld (1)
  • CieloMist (1)
Pull Request Authors
  • superstar54 (90)
  • alchem0x2A (18)
  • elinscott (2)
  • Andrew-S-Rosen (1)
Top Labels
Issue Labels
enhancement (20) bug (10) documentation (5) priority:medium (1)
Pull Request Labels
enhancement (17) bug (6)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 69 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 5
  • Total maintainers: 1
pypi.org: batoms

A Python package for creating, editing and rendering atoms and molecules structures using Blender.

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 69 Last month
Rankings
Stargazers count: 7.2%
Forks count: 8.5%
Dependent packages count: 10.1%
Average: 12.0%
Downloads: 12.6%
Dependent repos count: 21.6%
Maintainers (1)
Last synced: 7 months ago

Dependencies

.github/workflows/batoms_plugin_test.yaml actions
  • actions/checkout v2 composite
.github/workflows/build_blender_env_image.yml actions
  • actions/checkout v2 composite
  • akhilerm/tag-push-action v2.0.0 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
  • docker/setup-qemu-action v1 composite
.github/workflows/build_main_image.yml actions
  • actions/checkout v2 composite
  • akhilerm/tag-push-action v2.0.0 composite
  • docker/build-push-action v3 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
  • docker/setup-qemu-action v1 composite
  • olegtarasov/get-tag v2.1 composite
.github/workflows/test_install_script.yaml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
setup.py pypi
  • ase *
  • bpy *
test-requirements.txt pypi
  • pyfakefs * test
  • pytest * test