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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

crisscross_kit-1.1.1-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.1-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.1-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.1.tar.gz.

File metadata

  • Download URL: crisscross_kit-1.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 0769751bf14625818f902675ab3803b48e8d16ebd0961cf77d21cc06ca0b7f21
MD5 84cd2ad20ceeeee764f186feb48802cf
BLAKE2b-256 ac4110069c8bb9c055b0a2889dc291f8610e0c3f8a7c3b97af823947be05aa6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 af86ba54f9b64de56da35802597ff9b78ee064802ed0c927db24117f3f0a2f1a
MD5 5926fcf972c989099b797e55f27e6711
BLAKE2b-256 4471c6b62ef7cc4c924c21f59628392e3dd79443c0a9f84e36da4045e24f71d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 acba47cb00aa68627d3ea036a9e0e13badc56088b480975fc6b9fbfc6aae4c6f
MD5 b245af8f3c5f3e797e8c45793ba2a21f
BLAKE2b-256 0fba9b7def168e9fa5c097d910e52ce713b3e3971f3e3064b9151302f61f7372

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.1-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.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e6e1aa2f38b3c222f48cdfb4b0f5dbbd9fe47fb76535724a89a680271afde863
MD5 67ba87391e805d9ccb4af5fd4c499c1c
BLAKE2b-256 5736cef847d72861aea9fbe0502bca7016a4d694220ba2d010df3917c3f91df1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f9180b59a8f896f8cb80eb9cd000662da0010d97efc7a2471e84bf591878d0ca
MD5 06f4918a8615c30607835a92c6cec662
BLAKE2b-256 e8f3fe509a30a0e0f07ae0c34fb7b5b0af0e36d35efa66752474b3fa20b81f91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f02e5b47bf0f30baf6c5504df00fd66a42998b634a215160d814704d48643e50
MD5 6357f00cf45613022f2bc5e84cad6784
BLAKE2b-256 f0eb42637a8f068001d11d524283b51f81496e8ae3b6857ecaf9201362137ffa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cb0dfe20d76d3fc14a5e82ea84160882ff38585bc6609e5102d2557b4ac4cb9d
MD5 035d8811b4232b57c5cd9b11f0b099a4
BLAKE2b-256 10dfca23be18f9934f4f47f122f85dd9d7efa5fd0828a1c0c99ffba0f80adfd4

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.1-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.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09a140f4ae07d26e558d24c1dca8daae05b0067f523c799fe5d867af1f2fab66
MD5 bca8ae9d5264423cb6c40092f799db5e
BLAKE2b-256 faa1b8b0bef734456a6ddfd13a382ac7b38a6abfa2c57cdf7fdba5f843b8036b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d453f02ae3775685f13fcf34f6dca91e53c2076100ec6f4083877da607f7aa3
MD5 5f9a80e5ff769e31f0fd20fdb1715da2
BLAKE2b-256 742e6d2024bb17a1a42d454f87fe8818d0e1fdc2b822eae1ff24f252bfbbcf79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 54340bb0e4a3f16de9a8d21a063cb0a0673543490bade17ed55026a961889edd
MD5 960b2373931b4c99eabdc97445cf748a
BLAKE2b-256 b9ffb4348ddb800ba459dcc65b62c3946e12289855c70690efa50330eb03dda8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0cc9d8a40fa6fe5b7d87db201f53ecdf17486c5f3ad2f16a4655c730a38f82de
MD5 1075fbf35a103d31ac7fa42acbdbea81
BLAKE2b-256 81f786ee3b4c5e90c84098beca0dc020c3b3acad2981897bb21f88a9a94ba7e5

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.1-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.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f8272ae1369f8c063c5c69766191d923571088c8fe17b84737cf2417367651f
MD5 4a091824c5dcbe01b747d03a15e1eae8
BLAKE2b-256 525e2b3c86ea7b059a1626ca678c9230cea7d8be81a873a1781fbd4da769d7e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7a9d34b7e06088ce8f375c51175727e6439753435506155d1a3cf9326a41d91e
MD5 03f93b3a4d12d2b498854d28b90439ff
BLAKE2b-256 17fff9735d64a1869f56c03c91c5e1e300847aeea30c04b91318e2ea859eb6d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5839f7c63c2ad3b5b83bf578be26f0d9c525c008baafdddb19cbbb6576cb6511
MD5 8f5c31364508660127acfd855deff805
BLAKE2b-256 0f84eda38578040074347fa5c9aa0be5ca63936cf1c270fef313c92b23880001

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4e4f3f6bbe3589593740bbbf24fd76ab162a86ce7e83b78d088c75cc17abfaa1
MD5 007e2d85e93429a4e5d44f53bb79c3b9
BLAKE2b-256 cc0346d4e9a31c64bad43f0e142565e3c115e156775da3f58a87b07f89d3e54a

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.1.1-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.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d11860f815a78e6f22c95dab087295450f6a0f3ab3079e79c7043379d52bddb
MD5 41e13bf2f9b02e00aa16e76e594d8a7a
BLAKE2b-256 f77c272268cfc499a7e9ecb41d366d1567c4eb3475f8ce0518098f7b589b056a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d912d7872f2cdde4ca836b9f907f32e997cd050651b3069f1560b0df571c8141
MD5 35b502f03535957d6b1416eb3296b3a2
BLAKE2b-256 40bf2652e7b9d38619c24fcd5d64fc8bc7d1dab8beb00b3e324ddebf71155c90

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