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.0a1.tar.gz (7.8 MB view details)

Uploaded Source

Built Distribution

zndraw-0.2.0a1-py3-none-any.whl (8.4 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for zndraw-0.2.0a1.tar.gz
Algorithm Hash digest
SHA256 ce48864eb641f11238f9c1a67838a992a89cec316d202da5baafa75bc6eed35f
MD5 5174d61761d11a7c0444b5aef9f0affc
BLAKE2b-256 99e4b98698534793f46e46a605c882a737dbb3ab1411d0680bafc73980ffc298

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zndraw-0.2.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 926430c676ac4c06e222d911f5d99763e6180506da145b7d6d273cba5dbba8df
MD5 f3aefdce22270e1b68dacc12f557a3e1
BLAKE2b-256 00f9fb38cfa4c86e70b93ccc9170e94958c3ce4de0908ff6c9a4c92e3ede50f1

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