Skip to main content

Unified CAD and scripting packages for megastructure design, handle library generation and visualization.

Project description

Crisscross Kit Python Library

#-CAD was developed alongside a Python API (crisscross) that can be used to manipulate megastructures programmatically. They share the same file format and can be used interchangeably. The Python interface provides more flexibility and customizability, at the cost of a steeper learning curve. We have also developed our own custom-made algorithm for creating an orthogonal assembly handle library, which is accessible via the orthoseq_generator package. Both packages are installed together with the below instructions.

Installation and Requirements

  • The Python package was developed using Python 3.11. Other versions of Python should also work, but it is recommended to use 3.10+.
  • To install the python interface, simply run the below in your environment of choice:
pip install crisscross_kit
  • (Optional), if you would like to be able to generate 3D graphics or 3D blender files for further customization, you need to install additional dependencies:
pip install crisscross_kit[3d]
pip install crisscross_kit[blender]
  • To be able to use the orthoseq_generator, you will need to separately download and install NUPACK 4.x after installing the crisscross_kit. Please follow their instructions here for installation.

Developer Installation

  • To install the python interface and allow for changes to the code to be immediately updated in your package, clone this repository and navigate to the crisscross_kit directory. Next, run:
pip install -e .
  • You may also choose to install the package dependencies using other package managers, such as conda. The requirements are hosted in requirements.txt.
    • To install with pip run the following: pip install -r requirements.txt
    • For conda run the following: conda install -c conda-forge --file requirements.txt
    • For PyVista, install the dependencies from requirements_pyvista.txt.
    • For Blender, simply run pip install bpy

Usage Guides and Documentation

The documentation for both the designer library (crisscross) and the orthogonal sequence generator (orthoseq_generator) are provided within separate readmes:

  • For the crisscross library, details are provided here.
  • For the orthogonal sequence generator, details are provided here.

Building for PyPI

  • For developers looking to build the package for PyPI, you can use the following commands from the crisscross_kit directory of the repository:
  • First, make sure the build tools are installed:
pip install build twine setuptools-scm
  • Next, build the package:
python -m build
  • The build command will create a dist folder containing the .whl and .tar.gz files for the package. These can be uploaded to PyPI using:
twine upload dist/*
  • You will need to have a PyPI account and set up your credentials in ~/.pypirc for the upload to work (you will also need to be set as a collaborator on the crisscross_kit project too).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crisscross_kit-1.1.0.tar.gz (2.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

crisscross_kit-1.1.0-cp313-cp313-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.13Windows x86-64

crisscross_kit-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

crisscross_kit-1.1.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

crisscross_kit-1.1.0-cp313-cp313-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

crisscross_kit-1.1.0-cp312-cp312-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.12Windows x86-64

crisscross_kit-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

crisscross_kit-1.1.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

crisscross_kit-1.1.0-cp312-cp312-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

crisscross_kit-1.1.0-cp311-cp311-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.11Windows x86-64

crisscross_kit-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

crisscross_kit-1.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

crisscross_kit-1.1.0-cp311-cp311-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

crisscross_kit-1.1.0-cp310-cp310-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.10Windows x86-64

crisscross_kit-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

crisscross_kit-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

crisscross_kit-1.1.0-cp310-cp310-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file crisscross_kit-1.1.0.tar.gz.

File metadata

  • Download URL: crisscross_kit-1.1.0.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for crisscross_kit-1.1.0.tar.gz
Algorithm Hash digest
SHA256 eb81b90eca75fc67a59b9158ba3d2e35862c070dc9c108b1ca88db3024246e9a
MD5 2638abb0b08840d2d8a3e054c9b86d9f
BLAKE2b-256 211b83e76c1b13a85da8ac4b96b60f5b831534e2eff1bddc7077ef24aaa80679

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ddf65a3b70e3b13df4cffe0e2dab7dc42ec3152191564e639e614a734a8cacd6
MD5 3eacd62c5d8f8c9cf0e303d277e72b94
BLAKE2b-256 2ef8722f467553b197795747f66fdcbb56219247626c6ab5b15476b97a6d3b3f

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5158588688c00de03712f4c17939a59ea47c840cde9f3b86bd8adebe5db93a23
MD5 06b0ad58cd6cac10b9dafe20c9513660
BLAKE2b-256 26691874f3fab1e208993c8d877302bccb4bec233e49a4bea62606caf219edeb

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fbb869b8ce50294ca2d634c563128baf7d7ad9bfaf7b3bfcefd3c365ef97e48f
MD5 bc85295b76c0d8495b049301aec4688d
BLAKE2b-256 25214e09bc130076e4bc6174cdf0a2a2b19f3ee9d8870f05db498297b9993240

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbb8d7fa5b1e101dfa01397f395575cb0ff7cb71f989959b42feb50ed0adab96
MD5 f9589cac22fa93f33f376896f9475620
BLAKE2b-256 7bef646bebc4f2e8131f02416ed06c583d7c77a898bceba3b1086ee0ca8634de

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8126d500acbe7cbbb4e7b4ab2b5261e2c9207f61b04d8832c27e7c92f08c0cc6
MD5 113350cbde8a62e496daac0c81cd9e67
BLAKE2b-256 6a4ddf05158fffa546c101deb3a184bab8bff0888262a22f02bf3e8a21ba4851

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4a5c28512d189c9de70510de201c265797146f801f06d372b7b63da7e34684c4
MD5 9f283cb6a486cb95d10a8d88a6f9ed08
BLAKE2b-256 75f0cf067924448f4167912521c25da9dd3afa887646054d9e6f82e000fdda35

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4acf895e82c349c4c99715da072ee5b7e9349ba8db56f849ab35b4b2e5892992
MD5 207414f5e89504fff83cc029e7354dee
BLAKE2b-256 3f06e89ccbb80ad472e0b76b162af9ef301de5d08c4aede889c3fb5b101f196c

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fc63d3fc83867f94c9a543bafaecbda95bc20c580d9f55553ba004f2c714c86c
MD5 af4dadfda26e9ce1833be616be6ef22d
BLAKE2b-256 0d953c6ecb343984930a99be5bd60932d667be3c84a8af4dbdd925ca554b12ca

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 015fd0cacd647960975e298b729f5964822dd0315de28c252a10bae45ea3c981
MD5 dce77297324af8bcecb487b5e54f79ec
BLAKE2b-256 6ae6d9d34460d8771c66b07f0ea5143f615eb93a41833746ff0fd966de356023

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3ef9066e821dc2245332ef100a864945e43f743acc0b4aa988083b3371924bff
MD5 df3c69f1bbffd164bc95717560eb1205
BLAKE2b-256 83a157ac9970fc133aa3df9810df85020a4883a9f2d963388a046365a8c5af26

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f541b5d9988d13e9b5adcbb42e39535841a09dd752054d6eb9d65eb60fb65aa6
MD5 56cf908a1bceeddc1323863792db444f
BLAKE2b-256 8dec8b7603358cefc2049cb1f06cea319b22bbb25a704049badb52e5d89e9878

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f7f4af7b52c7ec5dcd5fd1a0734e5340f376dfcea0e2bc5eed9ed894c81d775
MD5 08da03704d9fd571f526eb007171ee67
BLAKE2b-256 1785801ecf698e079806c5d05575491623bfd485d33d2e194f6f80d5b9593b48

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2eabf9c2f4638ef911f1d1d8b45cef1e7ed6dabc2d00d56dd24aa4ebe38c7425
MD5 510a134ce14e03d216e8db6cef434ff1
BLAKE2b-256 ac61c121d48f851adcf8c3894c64f698e617f8a6fbde9a25fd5d7834bd39ad0b

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 98a3440fd21b3da33602719f31b600dc53d99cfccd0737c460268a7d43ada57f
MD5 b4db9dbb1ed5379ff9ae1474939fc969
BLAKE2b-256 d56ab445bfcab27cbbc05b5ea659c1d302e42da8cd0dbb0f14d19aeed9318c3b

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 65453b3014e19af26696f8d17adf3e4d3116e6ad0fc73eba6785517d01152452
MD5 e588a00f6607a1eb79b0c0fd734e7393
BLAKE2b-256 3e8c86afbc535d8464cbd5a47cb74df8f1c047af65bcfea60f5d93e277be585b

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5620620e5fd8af63f5aabeb1e8c48c22b49f1786bccba1871b3663b2b1feeafd
MD5 41a0513e2f9b252d3f1b8fd24629649c
BLAKE2b-256 24a07050fc78ebc6200dc3a73331fcb8c103bd5d0cef7d7d6d6fdc878aeb9fbb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page