Skip to main content

AI-eXtended Design (AIXD)

Project description

AI-eXtended Design (AIXD)

Introduction

In the current repository we collect the code for the general methodology for AI-augmented generative design. This methodology allows to invert the standard paradigm of parametric modelling, where the designer needs to tweak and tune the input parameters, iteratively or through trial and error, for achieving some desired performance values.

Instead, this method allows to, by just specifying the requirements' values, obtain a range of designs that closely approximate those. Besides, the present methodology allows the user to explore the design space, understand how different parameters relate to each other, areas of feasible and unfeasible designs, etc.

Documentation

A detailed documentation of the aixd library is provided here. The documentation includes detailed installation instructions, API references, a user guide, application examples and more.

Installation

Requirements

  • Python >= 3.9

The aixd library can be installed using uv, pip or conda. The recommended way is to use uv for its automatic PyTorch backend selection, but you can also use pip or conda if you prefer.

Note: It is recommended to use virtual environments to manage the dependencies of your projects.

Using conda

Create a new environment and install aixd:

conda create -n venv python=3.9
conda activate venv
conda install -c conda-forge aixd

Using pip

Create a virtual environment:

python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

Install aixd:

pip install aixd

Using uv

Create a virtual environment:

uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

Install aixd with automatic PyTorch backend selection:

uv pip install aixd --torch-backend=auto

The --torch-backend flag automatically detects your CUDA driver, AMD ROCm driver, or Intel GPU and selects the most suitable PyTorch version. If no compatible GPU is found, the CPU version will be installed. For more information, refer to the uv documentation.

Latest development version

Install the latest version using pip from the git repository:

pip install --upgrade git+https://gitlab.datascience.ch/ai-augmented-design/aixd.git

Examples

The aixd toolbox includes a variety of example applications to showcase its features and usage. These examples are located in the examples folder and cover different design tasks, each with self-contained Jupyter notebooks and detailed explanations.

For more information about each example, refer to the corresponding README.md file within each example folder.

To run the examples, ensure you have downloaded the examples folder and installed the aixd library with all example dependencies:

pip install "aixd[examples]"

Development

If you are going to develop on this repository, perform an installation from source:

git clone https://gitlab.datascience.ch/ai-augmented-design/aixd.git
cd aixd

Create and activate a python virtual environment. Install all dependencies including the examples and development tools.

Using conda:

conda env create -f environment.yml

Or using pip:

pip install -e ".[examples, dev]"

Or using uv (recommended for proper torch backend selection):

uv pip install -e ".[examples, dev]" --torch-backend=auto

Check the contribution guidelines for more details.

Folders and structure

The structure we follow on the current repo is as follows:

  • examples : all example applications of the aixd toolbox
  • src : for all source code. It can be structure following the next structures
    • src/aixd : source code of aixd toolbox

Known issues

  • Plotly image export can cause a hang of the system. This is due to a bug in Kaleido (the library used by Plotly for image export) reported in here. A workaround is to downgrade Kaleido to version 0.1.0.post1, which can be done by running pip install kaleido==0.1.0.post1.

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

aixd-1.0.1.tar.gz (155.1 kB view details)

Uploaded Source

Built Distribution

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

aixd-1.0.1-py2.py3-none-any.whl (170.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file aixd-1.0.1.tar.gz.

File metadata

  • Download URL: aixd-1.0.1.tar.gz
  • Upload date:
  • Size: 155.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for aixd-1.0.1.tar.gz
Algorithm Hash digest
SHA256 2b8b43b95ac1475f4ba3cf913e35e0253c780d593896667269edc1c1dbf4a248
MD5 b4952d9f7c6bfba1eb4a8692b37fdcd5
BLAKE2b-256 79bd03540648c23b6eeb1e358732b9b4a22e97fb9eabff15e70c67c7ae2daa9c

See more details on using hashes here.

File details

Details for the file aixd-1.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: aixd-1.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 170.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for aixd-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 51f94c2941ee46341f7b446e4929d8f11e5ef3943842bd2a1bcca14f7d3096ec
MD5 6f9138b2372da14217426f04e934a9e2
BLAKE2b-256 b19e0f239c3e41877587e51835e8350e252ae73efc6276937bd8d937fcbd083a

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