From 3135d1940cf194d7435b293c224620f7bda3750b Mon Sep 17 00:00:00 2001 From: Danilo Lessa Bernardineli Date: Wed, 20 Dec 2023 09:25:38 -0300 Subject: [PATCH 1/2] change to v0.5.0 (#331) --- CHANGELOG.md | 28 +++++++++++++++++++--------- README.md | 6 +++--- cadCAD/__init__.py | 2 +- setup.py | 2 +- 4 files changed, 24 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b28e7f6..1f4469a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,18 +1,28 @@ # Changelog: +### 0.5.0 - December 18 2023 -### February 15, 2023 -* **Fixes:** - - Package has been cleaned-up for working with Python 3.10 -### 0.4.29.1 +#### New User Features + +- Added toggle for enabling users to deactivate deepcopying. This is done by passing an additional object on the `ExecutionContext`, eg. `ExecutionContext(mode, additional_objs={'deepcopy_off': True})` + +#### New Submodules + +- A collection of type annotations for encapsuling `cadCAD` projects is now implemented through the `cadCAD.types` submodules +- Added `cadCAD.tools` as a submodule, which is originated from the `cadCAD_tools` Python package. This submodule contains several helper functions for making the simulation experience more straightforward as well as a collection of performance profiling tools. +- Added `cadCAD.diagram` as a submodule, which is originated from the `cadCAD_diagram` Python package. This submodule contains functions for programatically generating block diagrams from existing models. +- More informative error messages when policies and SUFs are wrongly implemented. (Issues #288 and #258) + +#### Backend Improvements + +- Merged repo with the `cadCAD_legacy_devel`, which includes performance improvements. In particular, simulations will start up faster due to code optimizations. +- `cadCAD` now uses `pytest` as the testing framework. This was made possible by isolating the existing tests and wrapping them into functions. -#### Changes -- Parallel executor uses the context manager handling the Process Pool lifetime +#### Fixes -### 0.4.29 +- cadCAD is now Python 3.10+ compatible (Issue #306 and #301) +- Proper support for `ExecutionMode.single_mode` (Issue #253 and #254) -- Merged repo with the `cadCAD_tweaked`, which includes performance improvements -- Python 3.10 compatible ### September 28, 2021 #### New Features: * **ver. ≥ `0.4.28`:** diff --git a/README.md b/README.md index e5151fa8..ea165f20 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ / ___/ __` / __ / / / /| | / / / / / /__/ /_/ / /_/ / /___/ ___ |/ /_/ / \___/\__,_/\__,_/\____/_/ |_/_____/ -by cadCAD ver. 0.4.28 +by cadCAD ver. 0.5.0 ====================================== Complex Adaptive Dynamics o i e @@ -20,7 +20,7 @@ through simulation, with support for Monte Carlo methods, A/B testing and parame # Getting Started -#### Change Log: [ver. 0.4.28](CHANGELOG.md) +#### Change Log: [ver. 0.5.0](CHANGELOG.md) [Previous Stable Release (No Longer Supported)](https://github.com/cadCAD-org/cadCAD/tree/b9cc6b2e4af15d6361d60d6ec059246ab8fbf6da) @@ -47,7 +47,7 @@ $ ## 1. Installation: Requires [>= Python 3.6.13](https://www.python.org/downloads/) -**Option A:** Install Using **[pip](https://pypi.org/project/cadCAD/0.4.28/)** +**Option A:** Install Using **[pip](https://pypi.org/project/cadCAD/)** ```bash pip3 install cadCAD ``` diff --git a/cadCAD/__init__.py b/cadCAD/__init__.py index fbfbaf52..8a276188 100644 --- a/cadCAD/__init__.py +++ b/cadCAD/__init__.py @@ -2,7 +2,7 @@ from cadCAD.configuration import Experiment name = "cadCAD" -version = "0.4.28" +version = "0.5.0" experiment = Experiment() configs = experiment.configs diff --git a/setup.py b/setup.py index eef999fa..785f3aee 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,7 @@ """ name = "cadCAD" -version = "0.4.29" +version = "0.5.0" setup(name=name, version=version, From 47e26b8bdbf13e699391f84e4e4d66e68f9719d2 Mon Sep 17 00:00:00 2001 From: Emanuel Lima Date: Wed, 20 Dec 2023 10:14:57 -0300 Subject: [PATCH 2/2] Add PyPI publish workflow (#333) Signed-off-by: Emanuel Lima --- .github/workflows/cadcad-publish.yml | 42 ++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/cadcad-publish.yml diff --git a/.github/workflows/cadcad-publish.yml b/.github/workflows/cadcad-publish.yml new file mode 100644 index 00000000..03d8bdbd --- /dev/null +++ b/.github/workflows/cadcad-publish.yml @@ -0,0 +1,42 @@ +# This workflow will publish the cadCAD library to PyPI when a release is created + +name: cadCAD Publish + +on: + release: + types: [published] + +jobs: + pypi-publish: + name: Upload release to PyPI + + if: startsWith(github.ref, 'refs/tags/') + + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/cadCAD + + permissions: + id-token: write + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Build cadCAD + run: | + python setup.py bdist_wheel + + - name: Publish package + uses: pypa/gh-action-pypi-publish@release/v1