Tools for soil liquefaction analysis
Project description
Liquepy
Python tools for solving problems related to soil liquefaction
Features
- Triggering:
Calculate liquefaction factor of safety according to Boulanger and Idriss (2014)
Calculate expected lateral strain and volumetric strain according to Zhang et al (2002)
- Settlement:
Calculate foundation settlement on liquefiable deposit according to Karamitros et al. (2013) or Bray et al. (2018)
- Element tests:
Calculate the dissipated energy required to liquefy
- Site response analysis
Perform equivalent linear site response analysis using the pysra package
Installation
pip install liquepy
Optional modules (sra, fig, spatial) require large third-party dependencies and therefore do not import unless dependencies are satisfied.
to install all dependencies for these optional modules run (example for installing sra dependencies)
pip install liquepy[sra]
Contributors
How do I get set up?
Run pip install -r requirements.txt
Code suggestions
Implementations of published liquefaction methods should be written as calc_<property>_<first_author>[_et_al]_<date>() for two authors include both.
Plotting and visualisation should be not included in computation objects. Instead plotting functions or objects should receive computation objects as inputs.
Formatting
Follow pep8 formatting standard (except for line character limit not strictly observed)
Docstrings written in numpy format
Tabulated data stored as comma separated or semi-colon separated files (not xlsx or xls)
Testing
Tests are run with pytest
Locally run: pytest on the command line.
Tests are run on every push using travis, see the .travis.yml file
To test the docs:
Install the check docs package: Run pip install collective.checkdocs
Run the check docs package and fix the errors: Run python setup.py checkdocs
Deployment
To deploy the package to pypi.com you need to:
Push to the pypi branch. This executes the tests on circleci.com
Create a git tag and push to github, run: trigger_deploy.py or manually:
git tag 0.5.2 -m "version 0.5.2" git push --tags origin pypi
Python 3.10+ and numpy 2.x are required. See pyproject.toml for full dependency and build requirements.
Code style and formatting are enforced with black and isort via pre-commit hooks. To set up development tools:
pip install -r requirements.txt
pip install .[test,maps,sra,fig]
pip install pre-commit
pre-commit install
All code contributions should include complete docstrings and type annotations for public APIs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file liquepy-0.6.34.tar.gz.
File metadata
- Download URL: liquepy-0.6.34.tar.gz
- Upload date:
- Size: 84.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b37825ab2bfb4409fdd2940247b2aa547c34ce533fddf08beef9a7d10b72e663
|
|
| MD5 |
5ab01476b85a835a2f8e3a83bacd761f
|
|
| BLAKE2b-256 |
8a54c8d6963aaf1145d89d0a469750b8614b7b8b323c81d602980c53dc2d1d3e
|
Provenance
The following attestation bundles were made for liquepy-0.6.34.tar.gz:
Publisher:
release.yaml on eng-tools/liquepy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
liquepy-0.6.34.tar.gz -
Subject digest:
b37825ab2bfb4409fdd2940247b2aa547c34ce533fddf08beef9a7d10b72e663 - Sigstore transparency entry: 814131100
- Sigstore integration time:
-
Permalink:
eng-tools/liquepy@197a1c83686b620188d66efca631ed3aeaabaeb8 -
Branch / Tag:
refs/tags/0.6.34 - Owner: https://github.com/eng-tools
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@197a1c83686b620188d66efca631ed3aeaabaeb8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file liquepy-0.6.34-py3-none-any.whl.
File metadata
- Download URL: liquepy-0.6.34-py3-none-any.whl
- Upload date:
- Size: 80.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f64a573e37ec8893e83c7f351f1951c1a07713b23d6e2c91226bc3f0f7a0a322
|
|
| MD5 |
e2ebaa9a155a6f61fbb834a28a5d3bab
|
|
| BLAKE2b-256 |
d4233becc3361b021c76ae62aa2e370b2305507b2c39c2626da72165ab123652
|
Provenance
The following attestation bundles were made for liquepy-0.6.34-py3-none-any.whl:
Publisher:
release.yaml on eng-tools/liquepy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
liquepy-0.6.34-py3-none-any.whl -
Subject digest:
f64a573e37ec8893e83c7f351f1951c1a07713b23d6e2c91226bc3f0f7a0a322 - Sigstore transparency entry: 814131102
- Sigstore integration time:
-
Permalink:
eng-tools/liquepy@197a1c83686b620188d66efca631ed3aeaabaeb8 -
Branch / Tag:
refs/tags/0.6.34 - Owner: https://github.com/eng-tools
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@197a1c83686b620188d66efca631ed3aeaabaeb8 -
Trigger Event:
push
-
Statement type: