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.0.10.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

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

crisscross_kit-1.0.10-py3-none-any.whl (3.2 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for crisscross_kit-1.0.10.tar.gz
Algorithm Hash digest
SHA256 083492d681a77b67e3df38a34669d7476e703c3a5ba2b4b860ecda82ac7b6afb
MD5 8e83f1ab3719e5f2b72699c88c802c50
BLAKE2b-256 e38963b07be5c3fe32d59290f093abd22e7de3ab02289c1cf4dfcd35f058fd5d

See more details on using hashes here.

File details

Details for the file crisscross_kit-1.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for crisscross_kit-1.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 be9477caabe729dd97e86b9185154afd37da68f7c90cea36d1a3a5fb4a33febe
MD5 72e039d8c1dde5bbdcd5f6e51264d253
BLAKE2b-256 9daa3a6213433c8ba942d6a3ac5a2fb6b3b0146b20b640e3333726464a4cd0da

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