# tkcrystal APIリファレンス

> 対象ソース: `tklib2.zip`（解析日: 2026-08-03）。この文書はソースコードを静的解析して生成しています。

## APIの読み方

- **パッケージ公開API**は、原則としてトップレベルの `__all__` に含まれる名前です。
- **モジュールAPI**には、公開名（先頭が `_` でない関数・クラス・メソッド）を列挙しています。
- docstringがないAPIでは、シグネチャとソースパスを一次情報として扱ってください。
- 生成AIは、この文書に存在しない引数・戻り値・メソッドを推測で追加しないでください。

## パッケージ公開API

```python
from tkcrystal import (
    get_atom_inf,
    get_composition_inf_from_formula,
    get_xrd_inf,
    get_available_xray_wavelengths,
    get_crystal_inf,
    get_lattice_inf,
    get_composition_inf,
    get_density_inf,
    get_site_inf,
    get_neighbor_inf,
    get_spg_inf,
    get_symmetry_operations_inf,
    expand_coordinates_spg,
    symmetrize_structure,
)
```

| 名前 | 推奨用途 |
|---|---|
| `get_atom_inf` | トップレベルから安定してimportできる公開API |
| `get_composition_inf_from_formula` | トップレベルから安定してimportできる公開API |
| `get_xrd_inf` | トップレベルから安定してimportできる公開API |
| `get_available_xray_wavelengths` | トップレベルから安定してimportできる公開API |
| `get_crystal_inf` | トップレベルから安定してimportできる公開API |
| `get_lattice_inf` | トップレベルから安定してimportできる公開API |
| `get_composition_inf` | トップレベルから安定してimportできる公開API |
| `get_density_inf` | トップレベルから安定してimportできる公開API |
| `get_site_inf` | トップレベルから安定してimportできる公開API |
| `get_neighbor_inf` | トップレベルから安定してimportできる公開API |
| `get_spg_inf` | トップレベルから安定してimportできる公開API |
| `get_symmetry_operations_inf` | トップレベルから安定してimportできる公開API |
| `expand_coordinates_spg` | トップレベルから安定してimportできる公開API |
| `symmetrize_structure` | トップレベルから安定してimportできる公開API |

## モジュール一覧

| モジュール | ソース | 関数 | クラス |
|---|---|---:|---:|
| `tkcrystal` | `tkcrystal/__init__.py` | 0 | 0 |
| `tkcrystal.atom` | `tkcrystal/atom.py` | 2 | 0 |
| `tkcrystal.backends` | `tkcrystal/backends.py` | 6 | 2 |
| `tkcrystal.diffraction` | `tkcrystal/diffraction.py` | 2 | 0 |
| `tkcrystal.info` | `tkcrystal/info.py` | 6 | 0 |
| `tkcrystal.printer` | `tkcrystal/printer.py` | 3 | 0 |
| `tkcrystal.symmetry` | `tkcrystal/symmetry.py` | 6 | 0 |

## `tkcrystal`

ソース: `tkcrystal/__init__.py`

tkcrystal: simple dictionary wrappers for crystal-structure information.

_このモジュールには静的解析で検出された公開関数・クラス・定数はありません。_

## `tkcrystal.atom`

ソース: `tkcrystal/atom.py`

### function `get_atom_inf`

```python
def get_atom_inf(atom: str | int | Any, *, backend: str = 'pymatgen') -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `get_composition_inf_from_formula`

```python
def get_composition_inf_from_formula(formula: str, *, backend: str = 'pymatgen') -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkcrystal.backends`

ソース: `tkcrystal/backends.py`

### class `BackendError` — bases: `RuntimeError`

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### class `BackendNotAvailableError` — bases: `BackendError`

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `normalize_backend`

```python
def normalize_backend(backend: str | None = 'auto') -> str
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `require_pymatgen`

```python
def require_pymatgen() -> None
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `is_pymatgen_structure`

```python
def is_pymatgen_structure(obj: Any) -> bool
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `dispatch_structure_backend`

```python
def dispatch_structure_backend(structure: Any, backend: str | None = 'auto') -> str
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `safe_float`

```python
def safe_float(x: Any, default = None)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `to_builtin`

```python
def to_builtin(obj: Any) -> Any
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkcrystal.diffraction`

ソース: `tkcrystal/diffraction.py`

### function `get_available_xray_wavelengths`

```python
def get_available_xray_wavelengths(*, backend: str = 'pymatgen') -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `get_xrd_inf`

```python
def get_xrd_inf(structure: Any, *, backend: str = 'auto', wavelength: str | float = 'CuKa1', two_theta_range = (10.0, 80.0), symprec: float = 0.0, max_peaks: int | None = None) -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkcrystal.info`

ソース: `tkcrystal/info.py`

### 公開定数・モジュール変数

| 名前 | 型/値 |
|---|---|
| `AMU_TO_G` | `1.6605390666e-24` |
| `ANG3_TO_CM3` | `1e-24` |

### function `get_lattice_inf`

```python
def get_lattice_inf(structure: Any, *, backend: str = 'auto') -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `get_site_inf`

```python
def get_site_inf(structure: Any, *, backend: str = 'auto', max_sites: int | None = None, include_cartesian = True) -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `get_composition_inf`

```python
def get_composition_inf(structure: Any, *, backend: str = 'auto') -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `get_density_inf`

```python
def get_density_inf(structure: Any, *, backend: str = 'auto') -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `get_crystal_inf`

```python
def get_crystal_inf(structure: Any, *, backend: str = 'auto', include_sites = True, max_sites: int | None = None, include_symmetry = True, symprec: float = 0.001) -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `get_neighbor_inf`

```python
def get_neighbor_inf(structure: Any, *, site_index: int = 0, radius: float = 5.0, backend: str = 'auto') -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkcrystal.printer`

ソース: `tkcrystal/printer.py`

### function `print_inf`

```python
def print_inf(data: dict[str, Any], *, mode: str = 'pprint') -> None
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `crystal_inf_to_text`

```python
def crystal_inf_to_text(data: dict[str, Any]) -> str
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `print_crystal_inf`

```python
def print_crystal_inf(data: dict[str, Any]) -> None
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkcrystal.symmetry`

ソース: `tkcrystal/symmetry.py`

### function `get_spg_inf`

```python
def get_spg_inf(structure: Any, *, backend: str = 'auto', symprec: float = 0.001, angle_tolerance: float = 5.0) -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `classify_symop`

```python
def classify_symop(op: Any, tol: float = 1e-05) -> str
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `format_symop_xyz`

```python
def format_symop_xyz(op: Any) -> str
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `get_symmetry_operations_inf`

```python
def get_symmetry_operations_inf(structure: Any, *, backend: str = 'auto', symprec: float = 0.001, angle_tolerance: float = 5.0, max_ops: int | None = None) -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `symmetrize_structure`

```python
def symmetrize_structure(structure: Any, *, backend: str = 'auto', symprec: float = 0.001, angle_tolerance: float = 5.0, mode: str = 'symmetrized') -> Any
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `expand_coordinates_spg`

```python
def expand_coordinates_spg(ispg: int, xyz: str | list[float] | tuple[float, float, float], *, backend: str = 'pymatgen', rmin: float = 1e-05, max_ops: int | None = None) -> dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_
