Skip to main content

No project description provided

Project description

zincware PyPI version 'Threejs

ZnDraw

Install via pip install zndraw or pip install zndraw[webview] to open zndraw in a dedicated window.

CLI

You can use ZnDraw with the CLI zndraw atoms.xyz. For a full list of arguments use zndraw --help.

ZnDraw is designed to work with your Python scripts. To interface you can inherit from zndraw.examples.UpdateScene or follow this base class:

import abc
from pydantic import BaseModel

class UpdateScene(BaseModel, abc.ABC):
    @abc.abstractmethod
    def run(self, atom_ids: list[int], atoms: ase.Atoms, **kwargs) -> list[ase.Atoms]:
        pass

The run method expects as inputs

  • atom_ids: list[int], the ids of the currently selected atoms
  • atoms: ase.Atoms, the configuration as ase.Atoms file where atom_ids where selected.
  • kwargs: dict could be additional information from the scene

and as an output:

  • list[ase.Atoms], a list of ase Atoms objects to display.

You can define the parameters using pydantic.Field which will be displayed in the UI.

class MyUpdateCls(UpdateScene):
    steps: int = Field(100, le=1000, ge=1)
    x: float = Field(0.5, le=5, ge=0)
    symbol: str = Field("same")

To add your method click on the + on the right side of the window. Your should be able to add your method from the working directory via module.MyUpdateCls as long as it can be imported via from module import MyUpdateCls.

ZnDraw UI

ZnDraw UI2

ZnDraw UI3

Development

ZnDraw is developed using https://python-poetry.org/. Furthermore, the javascript packages have to be installed using https://www.npmjs.com/.

cd zndraw/static/
npm install

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

zndraw-0.2.0a3.tar.gz (10.1 MB view details)

Uploaded Source

Built Distribution

zndraw-0.2.0a3-py3-none-any.whl (10.8 MB view details)

Uploaded Python 3

File details

Details for the file zndraw-0.2.0a3.tar.gz.

File metadata

  • Download URL: zndraw-0.2.0a3.tar.gz
  • Upload date:
  • Size: 10.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.10.8 Linux/5.19.0-43-generic

File hashes

Hashes for zndraw-0.2.0a3.tar.gz
Algorithm Hash digest
SHA256 5c4d3d393e34379d1a64337aad96314282a240ce257eec25bdfff2d56801a64e
MD5 38ba7f7f2c5c75739b3a1ed9a41b0ad4
BLAKE2b-256 6af5af882eae4866557a1b68590bf7de0cf70bb1f2698ca916bb161094d27f35

See more details on using hashes here.

File details

Details for the file zndraw-0.2.0a3-py3-none-any.whl.

File metadata

  • Download URL: zndraw-0.2.0a3-py3-none-any.whl
  • Upload date:
  • Size: 10.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.10.8 Linux/5.19.0-43-generic

File hashes

Hashes for zndraw-0.2.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b830473abfa249473e5580047239983a21a617ca127f4f44663ebd487bb3710
MD5 0ee42b095beb67c563d4b03ad520903c
BLAKE2b-256 cc92319e7f8b7ad5ffa63d1e2224d541b13b87a712d6448fe536c4e12751c635

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