A package for working with Wyckoff positions in crystallography
Project description
Wyckoff
A Python package for working with Wyckoff positions in crystallography.
Installation
pip install wyckoff
OR
uv add wyckoff
Usage
from wyckoff import wyckoff_positions, wyckoff_database
# Get Wyckoff positions for a specific space group
positions = wyckoff_positions(1) # Space group 1
print(positions)
# Get the entire database
database = wyckoff_database()
print(list(database.keys())[:5]) # Print first 5 space group numbers
Info
If spacegroup variations are available, and functions are called without specifying the variabtion then first variation will be returned.
Following variation types are included in the database:
- Unique axis settings: Suffixes like "-b" and "-c" typically indicate which crystallographic axis is chosen as the unique axis, especially in monoclinic and orthorhombic systems. For example:
- "3-b" means space group 3 with b-axis as the unique axis
- "3-c" means space group 3 with c-axis as the unique axis
Example:
positions = wyckoff_positions("3-b") # Space group 3 with b-axis as the unique axis
print(positions)
- Origin choice: Suffixes like "-1" and "-2" usually indicate different origin choices for the same space group:
- "48-1" is space group 48 with origin choice 1
- "48-2" is space group 48 with origin choice 2
Example:
positions = wyckoff_positions("48-1") # Space group 48 with origin choice 1
print(positions)
- Cell choices: Some suffixes may represent different conventional cell choices (hexagonal vs. rhombohedral settings in trigonal groups, for example).
Example:
positions = wyckoff_positions("148-hexagonal") # Space group 148 with hexagonal cell
print(positions)
Data Source
This package is based on crystallographic data from bilbao crystallographic server.
The inspiration for this package was drawn from the doped project:
S. R. Kavanagh et al. doped: Python toolkit for robust and repeatable charged defect supercell calculations. Journal of Open Source Software 9 (96), 6433, 2024.
Where they implemented a similar approach for handling wyckoff positions but they have custom data format.
License
MIT
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wyckoff-0.1.1.tar.gz.
File metadata
- Download URL: wyckoff-0.1.1.tar.gz
- Upload date:
- Size: 39.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c4d601020c15935cb660bbc4baad198645d56084917a092ebcb25321126483b
|
|
| MD5 |
73d8580d60bf90cbb1c155c06b03cc6e
|
|
| BLAKE2b-256 |
0302f19edf2ef6247c712cad5a1de6a81c3fa2308a1ef3acbd353c2a9ad1fd6b
|
File details
Details for the file wyckoff-0.1.1-py3-none-any.whl.
File metadata
- Download URL: wyckoff-0.1.1-py3-none-any.whl
- Upload date:
- Size: 39.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5213517c287050e8f5f211431856742aa8ee045f4a4717c9cad3634be7144efb
|
|
| MD5 |
14b8a0b9d52513b3ae8387f0dfe77a1d
|
|
| BLAKE2b-256 |
662d2e5f42c86ef5779a0b1f09d40eb7e20420dcd6cf6ce3bf0c958627905cd8
|