Skip to main content

Struqture

Struqture is a Rust (struqture) and Python (struqture-py) library by HQS Quantum Simulations to represent quantum mechanical operators, Hamiltonians and open quantum systems. The library supports building spin objects, bosonic objects, fermionic objects and mixed system objects that contain arbitrary many spin, bosonic and fermionic subsystems.

Struqture has been developed to create and exchange definitions of operators, Hamiltonians and open systems. A special focus is the use as input to quantum computing simulation software.

struqture

To best support this use case, struqture has a number of design goals:

  • Support for arbitrary spin, bosonic, fermionic and mixed systems
  • Full serialisation support to json and other formats
  • Preventing construction of unphysical objects by using well defined types for all objects in struqture
  • Support of symbolic values in operators, Hamiltonians and open systems

Following these design goals, we prioritize using distinctive types to construct objects over a less verbose syntax. Similarly the support of symbolic expression leads to a trade-off in speed compared to an implementation using only floating point values. Struqture is designed to also support the construction and (de)serialisation of large operators but for the use in numeric algorithms we recommend transforming Operators and Hamiltonians into a sparse matrix form.

Documentation

We recommend users to start with the user documentation for stuqture and struqture-py. The user documentation is intended to give a high level overview of the design and usage of struqture. For a full list of the available data types and functions see the API-Documentation of struqture and struqture-py.

Migration guide: from struqture 1.x to struqture 2.x

The Migration Guide should be used as a reference for anyone wanting to migrate existing code which uses struqture 1.0 or above to struqture 2.0.

Installation

Python

You can install struqture_py from PyPi. For x86 Linux, Windows and macOS systems pre-built wheels are available. On other platforms a local Rust toolchain is required to compile the Python source distribution.

pip install struqture-py

Rust

You can use struqture in your Rust project by adding

struqture = { version = "1.2" }

to your Cargo.toml file.

This project has been partly supported by PlanQK and is partially supported by QSolid and PhoQuant.

Contributing

We welcome contributions to the project. If you want to contribute code, please have a look at CONTRIBUTE.md for our code contribution guidelines.

Metadata

Release files for struqture-py 2.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for struqture-py 2.6.0
File Size Uploaded
struqture_py-2.6.0.tar.gz 445.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for struqture-py 2.6.0
File
struqture_py-2.6.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
struqture_py-2.6.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
struqture_py-2.6.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
struqture_py-2.6.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64 Details
struqture_py-2.6.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
struqture_py-2.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
struqture_py-2.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
struqture_py-2.6.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64 Details
struqture_py-2.6.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
struqture_py-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
struqture_py-2.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
struqture_py-2.6.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.12 CPython 3.12 macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64 Details
struqture_py-2.6.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
struqture_py-2.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
struqture_py-2.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
struqture_py-2.6.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.11 CPython 3.11 macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64 Details
struqture_py-2.6.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
struqture_py-2.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
struqture_py-2.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
struqture_py-2.6.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64 Details

Total release size: 56.0 MB

Release files / struqture_py-2.6.0.tar.gz

Download URL struqture_py-2.6.0.tar.gz
Size 445.5 kB
Tags Source
SHA-256 checksum
How to use checksums
cccef72548c8eb5d94af7cc51fcda6fd75811230e5383dabf82492ecc1eeeb85
BLAKE2b-256 checksum
How to use checksums
7905d5ea1d62e2b03c9d0280df5f065bf8a4322b9e8230dd60680ba14b04b491
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp314-cp314-win_amd64.whl

Download URL struqture_py-2.6.0-cp314-cp314-win_amd64.whl
Size 2.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
818f5d9caf98fa498700448711907c5c2f61f3bbc65898303e58cb77f47417cd
BLAKE2b-256 checksum
How to use checksums
81c47e8c3f9e4ea420076dfaa5f3468bd30e0f0b507557802cf4be07ae4e2268
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL struqture_py-2.6.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
32a10ebb5f007426a8e152559ee5dc5fbb55134c794cef45c31ce744603e913e
BLAKE2b-256 checksum
How to use checksums
a2bb87061f8d81dfa91d1c231ffb6d775dea95151884a47e49ee92a170406c9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL struqture_py-2.6.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.1 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
ee8a49e519366b4c56072a8d0bb0c58b1f34dc0adb0a2e71b5084acb8659c244
BLAKE2b-256 checksum
How to use checksums
c662eead3c182d30ebbe504bee9dd98bee02766477327dc8f8ee693f16f3925e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL struqture_py-2.6.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 4.3 MB
Tags CPython 3.14 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
45e5f7e2f4a6c11f94749e1b44ea72c1da003766a4f8adfd0d394bd7f6a2d22e
BLAKE2b-256 checksum
How to use checksums
409b5bede74c0f25a4f613883330cafa7f91cb5938c23032b96369f5a503ba6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp313-cp313-win_amd64.whl

Download URL struqture_py-2.6.0-cp313-cp313-win_amd64.whl
Size 2.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
31f497bb80adf4879ec3e2bb1d61fdc43cc807b5e601b22173d42762fdbb79a1
BLAKE2b-256 checksum
How to use checksums
3bf2110e3114ba9e2c55e0ff55331aea2036e7d61643afbbbdde62d5a66d65a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL struqture_py-2.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ee7c23a62580083ffe6d510ad92379436c37931fd34ec65e89c72a003077e473
BLAKE2b-256 checksum
How to use checksums
69683ba3ff3e673f7cd0c61d66b2cc80c4271c74df20d3a929d30d132e610bf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL struqture_py-2.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.2 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
b534e600fa0a9cdcb80e9df2c416e8e385eb0425b3dc6cd1ca090221168272f4
BLAKE2b-256 checksum
How to use checksums
005fc069a0ce8c8d16c630d450470a1a315d263075967fe506bd0a6463c4a8bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL struqture_py-2.6.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 4.3 MB
Tags CPython 3.13 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
985ed62895fa5e0ecbfc16d672ce32ff8e3b7932e71de0b638dd7e2d640b74a4
BLAKE2b-256 checksum
How to use checksums
77dfb8958b35b756a498f519f6854558acfc6a7614f998703a94081d77a1582b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp312-cp312-win_amd64.whl

Download URL struqture_py-2.6.0-cp312-cp312-win_amd64.whl
Size 2.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
32817f847feb9616542c2c947554bb4fbf6647350c2ab291e5d59e0283669c95
BLAKE2b-256 checksum
How to use checksums
aefaa62fb2324e7c95a5ad4ca74643f293fb0e06f58c278bd13cd311381ed214
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL struqture_py-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f5d0e28dd2fe0e4dbb9018a0f302354b58551c7090a9ad4a94dfd5f22844d107
BLAKE2b-256 checksum
How to use checksums
a24ad41268154086b4f4a9ac7dca86e6a689e1b32bae62003a95587fe4d9bf2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL struqture_py-2.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.2 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
1b24ce3b348450dab4e4f6a9e564d5dffa9eb0fe56703e59a330a79768b4e1b6
BLAKE2b-256 checksum
How to use checksums
43db7537b920e2ab8e858418fe6a9018b4527d53faa025a63e59906d63a2ba0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL struqture_py-2.6.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 4.3 MB
Tags CPython 3.12 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8a120dedb692e2a91371f4fa41ba8ad47794327a0b2a7a9ef87416d63cc2ee13
BLAKE2b-256 checksum
How to use checksums
20a917dcaa3dbcec9e82a8875dd108c091c5c04c1f27a4e5acd9fc9bfa3e28ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp311-cp311-win_amd64.whl

Download URL struqture_py-2.6.0-cp311-cp311-win_amd64.whl
Size 2.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
68904ba957a8c34415e7ce2d424962cbf53cd16ec0f040f91e7518d7b674f12c
BLAKE2b-256 checksum
How to use checksums
20d422c3a125cb063ea409b26a2a63f868cd9ad829a2dc5f2724c6afa9779519
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL struqture_py-2.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d0075415654033c1cf99729c4e56fceba5d13bebf5d4282321440c649d5f0f6d
BLAKE2b-256 checksum
How to use checksums
3a54041df23714e11584fe62911e33a67fabcb5dd25e50901c5dabc21530be21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL struqture_py-2.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.1 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
d59e6a04706e32c304f7616abee6949903673f3f736167ce88c4b948993e5617
BLAKE2b-256 checksum
How to use checksums
000ce18466aee28eb34383aa6772b441eb78fe47f0eb8747f7ae63490c1151ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL struqture_py-2.6.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 4.2 MB
Tags CPython 3.11 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
794b10f21c48933827a4ad7f50b97c1f910442c31dcce0dd0ec4cfda05bd9618
BLAKE2b-256 checksum
How to use checksums
5e9772f0e82a255fe4088872cf89bde711052edfd856ae6f5e4df74f8ba28038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp310-cp310-win_amd64.whl

Download URL struqture_py-2.6.0-cp310-cp310-win_amd64.whl
Size 2.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
9f64caca7a6fe6990bca1e4971966e7d5671d0711227864b24ed47a1300fbe11
BLAKE2b-256 checksum
How to use checksums
a1475efc981f9b7d1d862eabcd39e31af8a372f6ba36742ed07265d3e8ecabba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL struqture_py-2.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
eaa9cd44c72059bdf8029f0e38ffa6197f52d4712655636f306faf2ed5b1530f
BLAKE2b-256 checksum
How to use checksums
655c251a5acbf23353e44ceed9d4e3d9d819309081d33a31d7260c902000a5b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL struqture_py-2.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.1 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
5e90d024d97a64ace1dbff9d16aa4ff22f05239e72614dc844a0c42b1331c931
BLAKE2b-256 checksum
How to use checksums
6952e9ed022f772094eac36ea7ed5d00f44c634f2b80ffdfbfd9a9d4d45ccf28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / struqture_py-2.6.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL struqture_py-2.6.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 4.2 MB
Tags CPython 3.10 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d3eb99a8ded6e578ed282805746c0c0e0bccebf3bd71064da4ae20b3a5075ae8
BLAKE2b-256 checksum
How to use checksums
a10098a01d5d99f2cc01be06ac29292c9cdc2243e31f77e11f2f472903ca16fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

2.6.0 This release

21 release files

2.5.1

21 release files

2.4.3

17 release files

2.4.2

17 release files

2.4.1

17 release files

2.4.0

17 release files

2.3.2

26 release files

2.3.1

26 release files

2.3.0

25 release files

2.2.4

26 release files

2.2.0

26 release files

2.0.0

26 release files

1.9.2

31 release files

1.9.1

31 release files

1.9.0

31 release files

1.8.0

32 release files

1.7.1

32 release files

1.7.0

32 release files

1.6.2

32 release files

1.5.3

32 release files

1.5.1

33 release files

1.5.0

29 release files

1.4.0

29 release files

1.3.0

35 release files

1.2.0

34 release files

1.1.1

33 release files

1.0.1

28 release files

1.0.0

16 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page