Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

LayOpt

pre-commit.ci status Actions Status Documentation Status

GitHub Discussion

Coverage

LayOpt is a Python package for topology optimisation of fail-safe trusses developed by the Integrated Civil and Infrastructure Research Centre at The University of Sheffield. For more detailed information about the software please see our website.

Installation

Virtual Environment

It is recommended that you use a Python Virtual Environment to install LayOpt. There are many options available but a good choice, used in the development of LayOpt, is uv. Create a directory for your work and after installing uv create a virtual environment.

# Create a directory
mkdir LayOpt
# Change directory
cd LayOpt
# Create a virtual Environment
uv venv

PyPI

Layopt is available on PyPI. Ideally you should use a Python Virtual Environment (see above).

# Plain virtual environment
pip install layopt
# uv virtual environment
uv pip install layopt

Pre-releases

If you wish to try pre-releases, denoted by suffixes of the form a# for alpha releases, b# for beta and rc# for release candidates you should include the specific version when calling pip. For example to install the 0.1.0a1 (first alpha release of version 0.1.0) you would use...

# Plain virtual environment
pip install layopt==0.1.0a1
# uv virtual environment
uv pip install layopt==0.1.0a1

GitHub

You can use pip to install the package directly from GitHub. This allows you to install a specific branch or commit to test out new functionality that is under development. In your Virtual Environment run...

# Install from HEAD of main branch
pip install git@https://github.com/ICAIR-Sheffield/LayOpt
# Install a specific <branch>
pip install git@https://github.com/ICAIR-Sheffield/LayOpt.git@<branch>

Development

Contributions are welcome. If you are considering contributing to the development of LayOpt and are not a collaborator of the repository then you should fork to your account first and then clone from there.

To find out how to contribute please see our Contributing page

Documentation

We use the Material for Mkdocs static site generator to build a website. This is deployed on GitHub Pages.

Citing

To cite this software please refer to the CITATION.cff included in this repository.

Publications

  • Fairclough H.E., He L., Asfaha T.B., Rigby S. (2023) Adaptive topology optimization of fail-safe truss structures Structural and Multidisciplinary Optimization 66(7)148 doi:10.1007/s00158-023-03585-x
  • He L., Gilbert M., Song X. (2019) A Python script for adaptive layout optimization of trusses Structural and Multidisciplinary Optimization 60(2) 835-847 doi:10.1007/s00158-019-02226-6

Metadata

Release files for LayOpt 0.0.1a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for LayOpt 0.0.1a1
File Size Uploaded
layopt-0.0.1a1.tar.gz 876.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for LayOpt 0.0.1a1
File Interpreter ABI Platform
layopt-0.0.1a1-py3-none-any.whl Python 3 none any Details

Total release size: 919.7 kB

Release files / layopt-0.0.1a1.tar.gz

Download URL layopt-0.0.1a1.tar.gz
Size 876.4 kB
Tags Source
SHA-256 checksum
How to use checksums
23bcbf83feb208ac29e5a9e3fd1f875b977adb5bb56fc22706c9796b172f2cb8
BLAKE2b-256 checksum
How to use checksums
16ed245db95e3f8c059de4c49e43be6426604b9ebdfcea7c51f79bbd7300431f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Release files / layopt-0.0.1a1-py3-none-any.whl

Download URL layopt-0.0.1a1-py3-none-any.whl
Size 43.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7f0f32c1e5d4974ffa2a0dba37511d4f1958fd83a1f65f930bcf0a51b724bcbc
BLAKE2b-256 checksum
How to use checksums
3b3396f577dbb4cba748dbd42c98acd060f5706b74c8c1c7dfe7d7179bf5a71b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.1a1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page