Skip to main content

pyzdd

testing pre-commit.ci status MIT License PyPI - Python Version PyPI version PyPI - Downloads

Python wrapper to TdZdd

Installation

pyzdd works with Python3.8+ and can be installed via PyPI:

pip install pyzdd

or in local:

git clone git@github.com:lan496/pyzdd.git
cd pyzdd
pip install -e .

How to cite pyzdd

If you use this package in your research, please cite TdZDD as follows.

@techreport{Iwashita13,
  author = {Hiroaki Iwashita and Shinichi Minato},
  memo = {Efficient Top-Down {ZDD} Construction Techniques Using Recursive Specifications},
  year = {2013},
  number = {TCS-TRA-1369,
  INSTITUTION = {Graduate School of Information Science and Technology, Hokkaido University}
}

The citation for the isomorphism-elimination DD is as follows.

@inproceedings{Horiyama2018,
  memo ={Isomorphism Elimination by Zero-Suppressed Binary Decision Diagrams},
  author={Takashi Horiyama and Masahiro Miyasaka and Riku Sasaki},
  booktitle={the Canadian Conference on Computational Geometry},
  pages={360--366},
  address={Winnipeg, Manitoba, Canada}
  year={2018},
  url={http://www.cs.umanitoba.ca/~cccg2018/papers/session7B-p2.pdf}
}

Development

Installation

./clean.sh && pip install -e ".[dev]"
pre-commit install

Testing

cd xtal_tdzdd/test
cmake -S . -B build
cmake --build build -j 32
cd build && ctest -vv

Building Python wheels in local

# Linux build
cibuildwheel --platform linux

# MacOS build
cibuildwheel --platform macos

Write Custom Specification

  1. Write a TdZdd-specification in src/spec/*.hpp
  2. Let the new specification class be A, wrap the following classes and methods in src/wrapper.cpp
    • tdzdd::DdSpecBase<A, 2>
    • tdzdd::DdSpec<A, T, 2>
    • A
    • tdzdd::DdStructure<2>::zddSubset<A>
  3. import _pyzdd.A in pyzdd/__init__.py

References

Metadata

Release files for pyzdd 0.3.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 pyzdd 0.3.0
File Size Uploaded
pyzdd-0.3.0.tar.gz 49.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyzdd 0.3.0
File
pyzdd-0.3.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
pyzdd-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
pyzdd-0.3.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
pyzdd-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
pyzdd-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
pyzdd-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
pyzdd-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
pyzdd-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details

Total release size: 2.9 MB

Release files / pyzdd-0.3.0.tar.gz

Download URL pyzdd-0.3.0.tar.gz
Size 49.3 kB
Tags Source
SHA-256 checksum
How to use checksums
67fff997a9f324dd406e513078b556059a2c82f20fc4e4073c0c76c22514bb1e
BLAKE2b-256 checksum
How to use checksums
703329a1639faddcec58705e6024c162ae09a67601ea93f0f1fbbb2dcf45ce4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / pyzdd-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyzdd-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 239.0 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ec3a6b07b4dedb2200eff58e2805b0cff4046bfca8f8a3169bc1f25168ab7fd0
BLAKE2b-256 checksum
How to use checksums
1717082911408d37f06787d500ed5a6344e9c492389df2f15058cea7cc7f6e4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / pyzdd-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL pyzdd-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 477.0 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
0cdd469faa5092eedf5a0fb28490d94e29a4cbefb7eafc578a8a806ce8dfdd7a
BLAKE2b-256 checksum
How to use checksums
9bfb54a5cb0c5dc4ca27fdc12361841010d5294e63df28ada86fc415de8729f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / pyzdd-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyzdd-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 239.0 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
40b48822fed60cdea054a8f5ddb6e2bc6530cf7c8265c9c233c8abd4b97a87af
BLAKE2b-256 checksum
How to use checksums
176ab1e163d414a9982f88cd3b934df9644c2eaad6c88abee12979500360d59e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / pyzdd-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL pyzdd-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 477.0 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
659ecdbd2c1a8099f23e92a09e7aff908179d1ba2c4d170c88fea3d0a56d436f
BLAKE2b-256 checksum
How to use checksums
d7eaae65aa398bb7d46bc3eb3c5c9650864a48c55d45e37490d9232cd985c5cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / pyzdd-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyzdd-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 239.3 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d08262d0294e5c978997f3d05eb927a7311e37b8e42bc28ad36f02f7e3778822
BLAKE2b-256 checksum
How to use checksums
4af7c52996aa4b20d3560242327cb641c951cfc81f6c46b9b913bbdef80c20e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / pyzdd-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl

Download URL pyzdd-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl
Size 477.1 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5989c236b00e135e056239370711747ef4e0829fa2e026ec3c07ea9e415e0ef5
BLAKE2b-256 checksum
How to use checksums
94ffdac312bd46f42f401f508a4b5af46a1b77535fe580468f55c6f6c0d29639
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / pyzdd-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyzdd-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 238.8 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
adc6c3698f23a81137224d0575bb3c6a33cce670c5bec0296f6c42444a114ebb
BLAKE2b-256 checksum
How to use checksums
b3e9a55f27ceeacf5ae45e9ec7f0e0e1b7b8e3456ff44e9b945e1698a86a1d15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / pyzdd-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl

Download URL pyzdd-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl
Size 477.1 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
551c50413cbdf10c8f83a5553fcaf92033bfd92f39828711bf719c10b6803605
BLAKE2b-256 checksum
How to use checksums
ff1bd1f506c87bee9d2307a332f2d0ccf63affee3874f939cbe40920f44165b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.3.0 This release

9 release files

0.2.8

9 release files

0.2.6

9 release files

0.2.5

5 release files

0.2.4

4 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