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

Uploaded CPython 3.13Windows x86-64

crisscross_kit-1.2.1-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.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

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

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

crisscross_kit-1.2.1-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.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

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

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

crisscross_kit-1.2.1-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.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

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

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

crisscross_kit-1.2.1-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.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.2.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.2.1.tar.gz.

File metadata

  • Download URL: crisscross_kit-1.2.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.2.1.tar.gz
Algorithm Hash digest
SHA256 97854bdda9ddd3206e9922a859be78eec211a5216e34a9f96beec1b980237036
MD5 0ee82bd8013f9d79ec1f8ae0792faf2c
BLAKE2b-256 b5ddfc03e866928602576cee25534ccca5ddd7cc8c86d60de384fc44ab746d37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 14fcc5d7c1ecf0a086e81fb7e722153522fe2c830b88b41fb390fa683eaf008c
MD5 145e00b83ea24adf0bfb7891fc10cf37
BLAKE2b-256 24a256d77d8584806e64a72a777dc2e28b8b5cb628f40b973546afdc9413cd3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7decc429ada560e34e4a20a27c4fb10749165eb5abbc589e552c51d6f5db0924
MD5 6d1d5d589250ffd4330ea7e9a244e00a
BLAKE2b-256 4375ddc38c3d879a7f5b5b5c0327d4395aab2cb46c813b970614a04706cbd99f

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.2.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.2.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff37d5f1241d4cc6f9c7b2f8f98cb57050828f816155b319b4138294b6838b24
MD5 5a3f1b2f98eb1c683310b42b6b440393
BLAKE2b-256 d4b76250cdeb6dbd71c8fb7158264e5767531d5aa6edd662d25692222d4569c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b32c58fdd234a51fc10ccbd23dd84b05a8cc3e337bc37ab17f5b8cc6cba95830
MD5 8d6f6295940e7dd90c4a36a4c1b391db
BLAKE2b-256 1deca4860c96612ceaa0f9ec6e642cc7eecec702d02dadc0ca0809d75c584aa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 803e9de0951960d53e1433cff60edad3746edcb3c9765398528b8177030aa665
MD5 80ae00f2ba3382247aef81cf364bf661
BLAKE2b-256 31df2db3e8e00f6b9d827d6ff3f8c1cb21a8715fc7682912fd7970fd46f1fabd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c8951a70caccc62d1bf45734b3f1ec292c7144a675d15473ff5c10baecc74965
MD5 0101c78b678e39fb87cd44dcffe95ef2
BLAKE2b-256 fce07d52f8447d0b7ea5d4753ea44d4994bed0698997d3e9f66f3b984672b010

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.2.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.2.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e968ed098b9822efb655b9a7260a63496caded76789663e6c094a43317d26c5f
MD5 c349eab1d613ae5e6ee527ddf8ddd9ef
BLAKE2b-256 1bb08a9e14f3e3fd9d44f580de5e6742a206c73e9bfe239f821aa89424653e64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98a204e6c9d5484f1e2df2ffce45fafb9e874735cdb873e7e771279522b43d7f
MD5 93423a0b64e95859f91fad7fe15d0132
BLAKE2b-256 ed734c499c5b4b8c59ab5b554f1480b8712ea65a23f94dcca30eee9106aead55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e52b1ccfd991d7d099e3cb581ca20f0580546b5c02347bf7b065dbf143e2ea80
MD5 1db794cbfcb38c1e2f1affb4e3026b21
BLAKE2b-256 029e432c35a573135d4a64a593ee0e1655265abb4f9ae72edaebf385c1e07174

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d122b1318b8e397490d279cfdb782ba65ed6882fd044d18e56834cc085582fbb
MD5 1577a27f5f547a8600730c73c10eb57b
BLAKE2b-256 3032fd894ca07bc9722a91c25729b6a134d685ecc0c1241048f9e25796a89f7c

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.2.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.2.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0a7dc79e8dcf35b60d8ee40b3c28505a8fead48e81a36e0d973509c169f14c2
MD5 0db83e3e6b6d9f03c324f6687b5fde5b
BLAKE2b-256 8a03303d506b9fd13b7812683480662bbef57b519e97cfd09a493bf9dc9dbd3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c4bbb44767ce4753ada36482b4bd8ca803c8b0719ee9353f5dcb3777936c1341
MD5 0445226216991de18244d6f4c84c9082
BLAKE2b-256 d27972eb21c6ab9180ddda44273cf5b00260850faa075de3e2851f6d4059ab2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3aec786a363cc93e8eb9041d554524af12a6793fa3b2693141da79290ea0f020
MD5 a09da4c820cf69eaf27d782ebef99a17
BLAKE2b-256 9cde63a313df65c5cd1389ec226ed5398aabc5dddb40e5ac763164da67900194

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0cabbc61fe98fd0dbe1e4851ee9301f9b7dcdff2924916b5c47a7784e1a039cd
MD5 54ea88a5ffbcafb02eeec5ecc1ae51d5
BLAKE2b-256 e91ac324c0118ee84870a4e3586b6093e0ca39adf2907136186695ae280e395c

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.2.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.2.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1cc3fca5f5945e5effeff369f76e2312fb948b74c550d2b74e76737c2e6452eb
MD5 3e457cdac08175159001889cb0b2551b
BLAKE2b-256 0aab7bfdccde341c653f8d0081c9cb05cf502396f57180c762feec071037ae4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crisscross_kit-1.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e725e7dbb92ebbbe2127faaece22fe65c362e48524c3e497bf74222d06cbf13
MD5 8534f15ac6fcbc3ed6fee3917bb11ea7
BLAKE2b-256 d44d0949cb4b61586bf6ece61ade216f13a2101933b62bd6b60320e466f06e59

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