From 76614fba0c16c176fca0db1eae351b910084e9e7 Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Thu, 9 Oct 2025 16:31:30 +0200 Subject: [PATCH 01/12] sync requirements.txt and pyproject.toml --- pyproject.toml | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7b122c9ca..d0da6d416 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,34 +4,12 @@ build-backend = "setuptools.build_meta" [project] name = "cdisc-rules-engine" -dynamic = ["version"] +dynamic = ["version", "dependencies"] description = "Open source offering of the cdisc rules engine" readme = "PYPI.md" requires-python = ">=3.12, <3.13" license = { text = "MIT" } authors = [{ name = "cdisc-org", email = "info@cdisc.org" }] -dependencies = [ - "business_rules_enhanced==1.4.8", - "cdisc-library-client==0.1.6", - "importlib-metadata==8.5.0", - "jsonpath-ng==1.6.1", - "jsonschema==4.18.5", - "numpy~=1.23.2", - "odmlib==0.1.4", - "openpyxl==3.1.5", - "pandas==1.5.2", - "python-dotenv==0.20.0", - "pyyaml==6.0.2", - "redis==4.0.2", - "requests~=2.32.3", - "cachetools==6.1.0", - "Pympler==1.1", - "psutil==6.1.1", - "pyreadstat==1.2.7", - "fastparquet==2024.2.0", - "dask[dataframe]==2024.2.0", - "dask[array]==2024.2.0", -] [project.urls] "Homepage" = "https://github.com/cdisc-org/cdisc-rules-engine" @@ -49,3 +27,4 @@ py-modules = ["version"] [tool.setuptools.dynamic] version = { attr = "version.__version__" } +dependencies = {file = ["requirements.txt"]} \ No newline at end of file From e657f359b19ed1f6c73159e14aaf2bcc47c51e79 Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Fri, 10 Oct 2025 16:26:38 +0200 Subject: [PATCH 02/12] extract dev dependencies into requirements-dev.txt --- README.md | 1 + requirements.txt | 8 +------- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index e4e3e9797..f30d9ddf8 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,7 @@ NOTE: if you have multiple versions of python on your machine, you can call pyth - Install the requirements. `python -m pip install -r requirements.txt` # From the root directory +`python -m pip install -r requirements-dev.txt` # From the root directory (this will install dev dependencies like black, flake8, pytest etc.) ### **Running The Tests** diff --git a/requirements.txt b/requirements.txt index 54a15b968..c8466b3e2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,6 @@ -black==24.10.0 business_rules_enhanced==1.4.8 cdisc-library-client==0.1.6 click==8.1.7 -flake8==6.1.0 importlib-metadata==8.5.0 jsonpath-ng==1.6.1 jsonschema==4.18.5 @@ -10,11 +8,7 @@ numpy~=1.26.0 odmlib==0.1.4 openpyxl==3.1.5 pandas==2.1.4 -pre-commit==2.20.0 pyinstaller==6.11.0 -pytest==7.4.0 -pytest-asyncio==0.21.0 -pytest-cov==6.0.0 python-dotenv==1.0.0 pyyaml==6.0.2 redis==4.5.0 @@ -26,4 +20,4 @@ psutil==6.1.1 dask[dataframe]==2024.6.0 dask[array]==2024.6.0 pyreadstat==1.2.7 -fastparquet==2024.2.0 +fastparquet==2024.2.0 \ No newline at end of file From b8b5d3ebfcdffd85684720c4bc1a829b0383b4f6 Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Fri, 10 Oct 2025 16:26:38 +0200 Subject: [PATCH 03/12] extract dev dependencies into requirements-dev.txt --- .github/workflows/test_unit.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test_unit.yml b/.github/workflows/test_unit.yml index 54bc21e1a..50a8e0d82 100644 --- a/.github/workflows/test_unit.yml +++ b/.github/workflows/test_unit.yml @@ -14,6 +14,7 @@ jobs: - name: Install requirements run: | pip install -r requirements.txt + pip install -r requirements-dev.txt - name: Running Tests run: | python -m pytest tests/unit/ --cov=cdisc_rules_engine --cov-fail-under=75 From dd6fa506c304f00ecd3fd90020475374709300fc Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Fri, 10 Oct 2025 16:34:26 +0200 Subject: [PATCH 04/12] extract dev dependencies into requirements-dev.txt --- requirements-dev.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 requirements-dev.txt diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 000000000..cac745315 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,6 @@ +black==24.10.0 +flake8==6.1.0 +pre-commit==2.20.0 +pytest==7.4.0 +pytest-asyncio==0.21.0 +pytest-cov==6.0.0 \ No newline at end of file From 8cfa0123c5f6d2b5f86e0036e98be5cfc4236bb4 Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Fri, 10 Oct 2025 16:57:05 +0200 Subject: [PATCH 05/12] install dependencies from requirements-dev.txt in the lint pipeline --- .github/workflows/lint_format.yml | 3 +-- core.py | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint_format.yml b/.github/workflows/lint_format.yml index 7582e7511..6cb3d1141 100644 --- a/.github/workflows/lint_format.yml +++ b/.github/workflows/lint_format.yml @@ -34,8 +34,7 @@ jobs: python-version: "3.12" - name: Install linters run: | - pip install flake8==6.1.0 - pip install black==24.10.0 + pip install -r requirements-dev.txt - name: Run flake8 run: | flake8 ${{needs.get_changed_files.outputs.py}} --count --select=E9,F63,F7,F82 --show-source --statistics diff --git a/core.py b/core.py index 138d80214..40976faae 100644 --- a/core.py +++ b/core.py @@ -751,3 +751,6 @@ def test_validate(): if __name__ == "__main__": freeze_support() cli() + + + From 74dbd7e6ca933c45dccabcf1fd047a835fd6b777 Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Fri, 10 Oct 2025 17:00:52 +0200 Subject: [PATCH 06/12] install dependencies from requirements-dev.txt in the lint pipeline --- core.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/core.py b/core.py index 40976faae..138d80214 100644 --- a/core.py +++ b/core.py @@ -751,6 +751,3 @@ def test_validate(): if __name__ == "__main__": freeze_support() cli() - - - From d70671012047d72a81c1555d02807f8305ead7e7 Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Fri, 10 Oct 2025 17:02:06 +0200 Subject: [PATCH 07/12] install dependencies from requirements-dev.txt in the lint pipeline --- .github/workflows/lint_format.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint_format.yml b/.github/workflows/lint_format.yml index 6cb3d1141..644be249d 100644 --- a/.github/workflows/lint_format.yml +++ b/.github/workflows/lint_format.yml @@ -34,7 +34,7 @@ jobs: python-version: "3.12" - name: Install linters run: | - pip install -r requirements-dev.txt + pip install black flake8 -c requirements-dev.txt - name: Run flake8 run: | flake8 ${{needs.get_changed_files.outputs.py}} --count --select=E9,F63,F7,F82 --show-source --statistics From c804f1b0adba0915d46640c2b840883413932962 Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Fri, 10 Oct 2025 17:04:16 +0200 Subject: [PATCH 08/12] update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f30d9ddf8..5662f9683 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ In the terminal, navigate to the directory you intend to install CORE rules engi This project uses the `black` code formatter, `flake8` linter for python and `prettier` for JSON, YAML and MD. It also uses `pre-commit` to run `black`, `flake8` and `prettier` when you commit. -Both dependencies are added to _requirements.txt_. +Both dependencies are added to _requirements-dev.txt_. **Required** From 290df47cbce7bd53da2697db11d284b259be47db Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Fri, 10 Oct 2025 17:04:58 +0200 Subject: [PATCH 09/12] update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5662f9683..3b628127d 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,7 @@ NOTE: if you have multiple versions of python on your machine, you can call pyth - Install the requirements. `python -m pip install -r requirements.txt` # From the root directory + `python -m pip install -r requirements-dev.txt` # From the root directory (this will install dev dependencies like black, flake8, pytest etc.) ### **Running The Tests** From 3fde8af0e04ae48f7717aec5dbcef9a10a5ab011 Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Fri, 10 Oct 2025 17:09:44 +0200 Subject: [PATCH 10/12] add -r requirements.txt to dev requirements --- requirements-dev.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements-dev.txt b/requirements-dev.txt index cac745315..ac709f651 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,3 +1,4 @@ +-r requirements.txt black==24.10.0 flake8==6.1.0 pre-commit==2.20.0 From 9de92a912bcee43fab5020131761625108c46cd2 Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Fri, 10 Oct 2025 17:12:11 +0200 Subject: [PATCH 11/12] add -r requirements.txt to dev requirements --- .github/workflows/test_unit.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test_unit.yml b/.github/workflows/test_unit.yml index 50a8e0d82..358be8b09 100644 --- a/.github/workflows/test_unit.yml +++ b/.github/workflows/test_unit.yml @@ -13,7 +13,6 @@ jobs: python-version: "3.12" - name: Install requirements run: | - pip install -r requirements.txt pip install -r requirements-dev.txt - name: Running Tests run: | From a35137b2fba2fd928a5efe3dfa6fb20407241b50 Mon Sep 17 00:00:00 2001 From: alexfurmenkov Date: Mon, 13 Oct 2025 15:33:31 +0200 Subject: [PATCH 12/12] remove excess step from readme --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 3b628127d..8c301c887 100644 --- a/README.md +++ b/README.md @@ -101,9 +101,7 @@ NOTE: if you have multiple versions of python on your machine, you can call pyth - Install the requirements. -`python -m pip install -r requirements.txt` # From the root directory - -`python -m pip install -r requirements-dev.txt` # From the root directory (this will install dev dependencies like black, flake8, pytest etc.) +`python -m pip install -r requirements-dev.txt` # From the root directory ### **Running The Tests**