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 theaixdtoolboxsrc: for all source code. It can be structure following the next structuressrc/aixd: source code ofaixdtoolbox
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 runningpip install kaleido==0.1.0.post1.
Release files for aixd 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aixd-1.0.1.tar.gz | 155.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aixd-1.0.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 325.4 kB
Release files / aixd-1.0.1.tar.gz
| Download URL | aixd-1.0.1.tar.gz |
|---|---|
| Size | 155.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2b8b43b95ac1475f4ba3cf913e35e0253c780d593896667269edc1c1dbf4a248
|
|
BLAKE2b-256 checksum How to use checksums |
79bd03540648c23b6eeb1e358732b9b4a22e97fb9eabff15e70c67c7ae2daa9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / aixd-1.0.1-py2.py3-none-any.whl
| Download URL | aixd-1.0.1-py2.py3-none-any.whl |
|---|---|
| Size | 170.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
51f94c2941ee46341f7b446e4929d8f11e5ef3943842bd2a1bcca14f7d3096ec
|
|
BLAKE2b-256 checksum How to use checksums |
b19e0f239c3e41877587e51835e8350e252ae73efc6276937bd8d937fcbd083a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|