ATLAS
ASCII Terminal LAttice and Structure — a mini-VESTA that lives in your terminal.
ATLAS renders 3D crystal/molecular structures directly in the terminal with
colors, perspective and Braille sub-pixel graphics (2×4 dots per character).
No dependencies beyond the Python standard library (curses).
Features
- 3D structure rendering in pure ASCII/ANSI + Braille sub-pixel mode (element colors, depth shading, element labels)
- Mouse: drag to rotate, right-drag to zoom, Shift-drag to pan, click an atom for coordinates & bonding info
- World axes (x/y/z) and lattice basis (a/b/c) indicators
- VESTA-style bond settings: add/remove/edit per-element-pair rules with min/max bond lengths, applied live
- VESTA-style boundary: fractional x/y/z ranges to display multiple unit cells (with periodic images and inter-cell bonds)
- Auto-rotation animation
- Formats: XYZ / extxyz (with
Lattice), VASP POSCAR/CONTCAR, CIF (minimal)
Install
pip install atlas-lattice
From source:
git clone https://github.com/ooteki-teo/atlas.git
cd atlas
pip install .
Usage
atlas # built-in SrTiO3 demo
atlas POSCAR
atlas caffeine.xyz
python -m atlas_lattice structure.cif
Tips: shrink your terminal font size (⌘- / Ctrl-) for more "pixels".
Key bindings
| Key | Action |
|---|---|
| left-drag | rotate (Shift-drag: pan) |
| right-drag | zoom (alternative to scroll wheel) |
| left-click | select atom, show coordinates / bonding |
wheel / + / - / PgUp / PgDn |
zoom (wheel zooms towards cursor) |
space |
auto-rotation on/off |
b / c / x |
toggle bonds / cell frame / axes |
B |
bond settings dialog (element pairs + length ranges) |
v |
boundary dialog (fractional min/max per axis) |
g |
toggle Braille high-resolution mode |
r |
reset view |
| arrow keys | rotate |
q / Ctrl-C |
quit (Esc only closes dialogs) |
Examples
Example structures (VASP/CIF) are in examples/.
中文简介
ATLAS 是一个纯终端的晶体/分子结构查看器("终端版 mini-VESTA"),
支持鼠标旋转缩放、成键规则设置(元素对 + 键长范围)、
多晶胞显示(Boundary 分数坐标范围)、Braille 高分辨率渲染,
仅依赖 Python 标准库。安装:pip install atlas-lattice,使用:atlas POSCAR。
License
Metadata
Release files for atlas-lattice 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| atlas_lattice-0.1.0.tar.gz | 19.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| atlas_lattice-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.6 kB
Release files / atlas_lattice-0.1.0.tar.gz
| Download URL | atlas_lattice-0.1.0.tar.gz |
|---|---|
| Size | 19.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
feadfd7d53e8109f6d46537ce0d6c76f4090b3a7f5602054f5223c637524b430
|
|
BLAKE2b-256 checksum How to use checksums |
3558ccdc38d14c51d1dc1d29ee9316ee90ec047281597a1c0599eddee08e396e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.0
|
Release files / atlas_lattice-0.1.0-py3-none-any.whl
| Download URL | atlas_lattice-0.1.0-py3-none-any.whl |
|---|---|
| Size | 18.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b894b3d348a7a27b8670f9075552c474681f19a05960054955ac6d068bba4e6
|
|
BLAKE2b-256 checksum How to use checksums |
974f4ff4b2483a09da5577f4ef4535f3d2a69df225ae9cd8b456d6488c5d352f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.0
|