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

Uploaded Source

Built Distribution

zndraw-0.2.0a7-py3-none-any.whl (17.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: zndraw-0.2.0a7.tar.gz
  • Upload date:
  • Size: 15.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.12 Windows/10

File hashes

Hashes for zndraw-0.2.0a7.tar.gz
Algorithm Hash digest
SHA256 a24b437ccd65626295db6aadcf32c911c1182a805151f3bbaba1cb21b581dd39
MD5 2c54d99569d45b85472fac724c805234
BLAKE2b-256 1258d77830ff7b64ccb18d63ff976b85dcf6e22823810a98e41c574c305152eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zndraw-0.2.0a7-py3-none-any.whl
  • Upload date:
  • Size: 17.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.12 Windows/10

File hashes

Hashes for zndraw-0.2.0a7-py3-none-any.whl
Algorithm Hash digest
SHA256 d4dee4b3ee882db4c51dd7f31e5681847ae8dabd42df7c61e7cca05d5bb226e6
MD5 7a08c930369d0b20a045ed31b61e92bc
BLAKE2b-256 3ba48f7f99e06cc6ba46c07c0bef456535d42c9c794079f1f46285133a9ea46b

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