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.2.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.2.0-cp313-cp313-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.13Windows x86-64

crisscross_kit-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

crisscross_kit-1.2.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.2.0-cp313-cp313-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

crisscross_kit-1.2.0-cp312-cp312-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.12Windows x86-64

crisscross_kit-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

crisscross_kit-1.2.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.2.0-cp312-cp312-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

crisscross_kit-1.2.0-cp311-cp311-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.11Windows x86-64

crisscross_kit-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

crisscross_kit-1.2.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.2.0-cp311-cp311-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

crisscross_kit-1.2.0-cp310-cp310-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.10Windows x86-64

crisscross_kit-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

crisscross_kit-1.2.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.2.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.2.0.tar.gz.

File metadata

  • Download URL: crisscross_kit-1.2.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.2.0.tar.gz
Algorithm Hash digest
SHA256 002106ac0cc4dec3de2d3081fe73c170947228479d8ded127e9d4c94854e15cc
MD5 70d0a7220565178e1152db95fe09ef20
BLAKE2b-256 0cc9d34e77521b6ceb637c32d4f5bf475e1de521f58a992c8c32daabbc1deec8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6b145c6574a34e0c4d98660f7ec5e8325287373d686bfb15826e62a2d9953a6f
MD5 92d453c0cf3301d9ed3c5043998b9d2c
BLAKE2b-256 09141a58da3950d319db7b2ec7e778cc8491ce00af633e3936949f187af7e842

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e757409b2b7ce21b106c908f287d71ae7d06e5a8f17007b43e6c07abe581d342
MD5 27e78e6e0b26369fc704a740275ab62e
BLAKE2b-256 39017dac324d68aef19f185b0b86c24b1e11a77a4d25ec6a1085571f72494974

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.2.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.2.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 716f3642eecbc5760a9a04260e89dd47ac0cb9c2550ee1bfbd899e7a6924f477
MD5 a1e8f3bc7c0c80bbb6c07180693168b6
BLAKE2b-256 2a99dadce772fead4f0b6634f4192ee8786e1117ee5b51d54d192aa4870c5ec9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 320b1ec5b6939c0a14ccecdc990c7af574db9caec0eb21780e7aa31234c30648
MD5 93c33964c934765f613d2cc3e7700736
BLAKE2b-256 b464926f06ab0975aae509bd185a51c11b16e170c7f028fa341756397a6f01df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e9c602b531b053907690a065d114baea5fdc785d8c15ad9f64025587423fa424
MD5 55b1b1a8e62c4b298bf28183ed873304
BLAKE2b-256 783b496267642fb6a46180c3c116548ab50cf76ab28435a2aba7d965872e30d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 248365e53fbd41c1bd2c2dc07c2b8e27ca6fc1566fa82a35c53c993b45d9248b
MD5 0c4c9c35d80793e0b67f4218b555f45c
BLAKE2b-256 cae6705bc90a8056480d86b5ea54590301ccdd0a2fd4fcad43b43ed69b53838c

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.2.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.2.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 920d25fe8089aa28918ad25ab26a8f04dae7d8279b00be6cd57b921578bc086a
MD5 1842eb54d2269f2b8cec2172b04862c9
BLAKE2b-256 5311e292343121d9d9f32c8d0131883fdf66b48b1b15fc2e8d8ed7d90ca7e802

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7ff4c1a6b1f86861c5f24495546c4d2b227d8e4fd18936ff6b1cf7c1f5f509b
MD5 2810d8df6baaafd6c4e76e074caeff95
BLAKE2b-256 b1e29f412d3d8a8dbe23a228c6f6bdc3a526419055da0c017cc6c9251f57ea40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2de436e4d61a3b259f2ce55331f802983017ca3b7b303d173488e94a020e1f7a
MD5 559741fc28939eab497353e6c03dba56
BLAKE2b-256 87d750671dfc5417867e1e4b1f2d76fa113541942cc258de4a39e495bee85f32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dc1d38297e8c873469c6ff7e85e08f54e98f0ca3cd3e3e7a529edfbb1addf0cf
MD5 8216ddfe847af495ef54542a2a8b5d8b
BLAKE2b-256 9c13d65a65c124a8dc5d95fb5dca9bbd4098984dfd12f0f4cb34f589d9d2afbf

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.2.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.2.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1713091a51fef8f9898ce290fee64fa8ef64344ce74a1c8ad4ca7952d2ad0302
MD5 d18c8c175a1945234dcaf24571014f8a
BLAKE2b-256 27fb2904fb7c9c6a3e956af53e994adff69381099618050e189aeb4fb4ff6d8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f01897f8f66bc24845717cd1cb0b5491e6e4497cb8441945b542964bd749654a
MD5 1266be17c8defc8a7daf90d39ac0082c
BLAKE2b-256 4241ee3a8df74d418cfad194f4054a979584071f9ae4a98e7c07de17bdb746d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9e7da6f8c406a2c8ee00a59679fd0a94c327a6f25c98368089cbbeb37b735ce9
MD5 c0f65bab293bcf7cc035672b528f727b
BLAKE2b-256 9b1afc2cb377ca877f239c108b83070847ea847e1e8949a97b13c79af0da74ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4ad309c2cc9752706a88a742c3e2eea523c6746c8a6a8dffd43aa7d74a0cda4c
MD5 7182722170e2bc5692d55bc863ec9006
BLAKE2b-256 4b155d371662a155c15d1678a7bbad23fb34762db7e2593224ef6c75f561c03c

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.2.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.2.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ead4750bc426b4c8410fe322ee2f69b8303ac57d7757cd5771d2cf4a32b083ac
MD5 ec78aad4d24cfb4e5923e22d380683b7
BLAKE2b-256 fffdf35b173c00504f5a4c6591e8da535162c7ba21e7b0462eda08ff45b1dae2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 57cd0f79154528322ac03928789eaac52ab9d2024592f898b13abb52ef790fe6
MD5 da3c394c9e0d0802cc0cc6770fe02488
BLAKE2b-256 80a4967f5b8882fe41208f65f72ae9d2a223ee884e8016f7c0a81d1e8c4e6955

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