Spglib

Documentation for Spglib.

See the Index for the complete list of documented functions and types.

The code, which is hosted on GitHub, is tested using various continuous integration services for its validity.

This repository is created and maintained by @singularitti, and contributions are highly welcome.

Package features

Spglib.jl is a Julia wrapper of the C library Spglib. See this page. It is used for finding and handling crystal symmetries.

There was a package LibSymspg.jl thanks to @unkcpz. However, it is no longer actively maintained.

This package:

  • enables the finding and handling of crystal symmetries;
  • includes new naming conventions, input types, and return types of functions.

Installation

The package can be installed with the Julia package manager. From the Julia REPL, type ] to enter the Pkg mode and run:

pkg> add Spglib

Or, equivalently, via Pkg.jl:

julia> import Pkg; Pkg.add("Spglib")   Resolving package versions...
   Installed CrystallographyCore ─ v0.3.3
   Installed Spglib ────────────── v1.2.0
    Updating `~/work/Spglib.jl/Spglib.jl/docs/Project.toml`
 [80545937] ↓ CrystallographyCore v1.0.0 ⇒ v0.3.3 [loaded: v1.0.0]
  [f761d5c5] ~ Spglib v1.2.0 `~/.julia/dev/Spglib` ⇒ v1.2.0 [loaded: `/home/runner/work/Spglib.jl/Spglib.jl/src/Spglib.jl` (v1.2.0) expected `/home/runner/.julia/packages/Spglib/wDTw4/src/Spglib.jl` (v1.2.0)]
    Updating `~/work/Spglib.jl/Spglib.jl/docs/Manifest.toml`
  [187b0558] - ConstructionBase v1.6.0
 [80545937] ↓ CrystallographyCore v1.0.0 ⇒ v0.3.3 [loaded: v1.0.0]
  [f761d5c5] ~ Spglib v1.2.0 `~/.julia/dev/Spglib` ⇒ v1.2.0 [loaded: `/home/runner/work/Spglib.jl/Spglib.jl/src/Spglib.jl` (v1.2.0) expected `/home/runner/.julia/packages/Spglib/wDTw4/src/Spglib.jl` (v1.2.0)]
        Info Packages marked with  have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m`
Precompiling packages...
    741.7 msCrystallographyCore
    847.0 msSpglib
  2 dependencies successfully precompiled in 2 seconds. 62 already precompiled.
  2 dependencies precompiled but different versions are currently loaded. Restart julia to access the new versions. Otherwise, loading dependents of these packages may trigger further precompilation to work with the unexpected versions.

Documentation

  • STABLEdocumentation of the most recently tagged version.
  • DEVdocumentation of the in-development version.

Project status

The package is developed for and tested against Julia v1.6 and above on Linux, macOS, and Windows.

Questions and contributions

You can post usage questions on our discussion page.

We welcome contributions, feature requests, and suggestions. If you encounter any problems, please open an issue. The Contributing page has a few guidelines that should be followed when opening pull requests and contributing code.

Manual outline

Library outline

Index