Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release_pypi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
python-version: "3.12"

- name: Install dependencies
run: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ jobs:
strategy:
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
steps:
- uses: actions/checkout@v3

Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -162,4 +162,7 @@ cython_debug/
#.idea/

# VS-Code
.vscode
.vscode

CEMS devtools
.cemsbox
49 changes: 28 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,20 @@ To install simply run:
$ pip install plxscripting
```

Or for a particular version (e.g. 1.0.2):
Or for a particular version (e.g. 1.0.10):

```
$ pip install plxscripting==1.0.2
$ pip install plxscripting==1.0.10
```

Or, with [uv](https://docs.astral.sh/uv/):

```
$ uv add plxscripting
```

Version 1.0.10 and later require Python 3.12 or newer.

# Compatibility tables between Plaxis program version and repo version

Each version of this repository is compatible with one (or more) versions of
Expand All @@ -30,6 +38,7 @@ the PLAXIS program you need to use.
| :----------------: | :------------------------------------: |
| 1.0.2 | PLAXIS 2D CONNECT Edition V22 Update 2 |
| 1.0.4 | PLAXIS 2D 2023.2 , PLAXIS 3D 2023.2 |
| 1.0.10 | PLAXIS 2D 2025.1 , PLAXIS 3D 2025.1 |


# Contribution
Expand All @@ -55,37 +64,35 @@ The contribution of this repository restricts itself to:

## Environment

We recommend developing in Python3.9 with a clean virtual environment (using `virtualenv` or `conda`),
installing the requirements from the requirements.txt file:
We use [uv](https://docs.astral.sh/uv/) to manage the development environment
and dependencies. Python 3.12 or newer is required.

Example using `virtualenv` and `pip` to install the dependencies in a new environment .env on Linux:
Create a virtual environment in `.venv` and install the package in editable
mode together with the test dependencies:

```bash
python -m venv .env
source .env/bin/activate
python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install -e .
uv sync --extra test
```

## Requirements

Requirements are autogenerated by the `pip-compile` command with python 3.9

Install pip-tools with:
Run the tests with:

```bash
pip install pip-tools
uv run pytest
```

Generate requirements.txt file with:
## Requirements

Dependencies are declared in `pyproject.toml` and pinned in the `uv.lock` lock
file (replacing the former `pip-tools`/`requirements.txt` setup).

Add a dependency with:

```bash
pip-compile --extra=test --output-file=requirements.txt pyproject.toml
uv add <package>
```

Update the requirements within the defined ranges with:
Update the lock file within the defined ranges with:

```bash
pip-compile --upgrade --extra=test --output-file=requirements.txt pyproject.toml
```
uv lock --upgrade
```
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ build-backend = "setuptools.build_meta"

[project]
name = "plxscripting"
version = "1.0.4"
version = "1.0.10"
description = "Python files required to interact with PLAXIS API"
requires-python = ">=3.9"
requires-python = ">=3.12"
dependencies = [
"requests>=2.28,<3.0",
"pycryptodome>=3.11.0,<4.0",
Expand All @@ -21,4 +21,4 @@ keywords = ["plxscripting", "PLAXIS", "CEMS"]
repository = "https://github.com/cemsbv/plxscripting"

[project.optional-dependencies]
test = ["coveralls", "pytest"]
test = ["coveralls", "pytest"]
120 changes: 0 additions & 120 deletions requirements.txt

This file was deleted.

Loading
Loading