Repository: slacgismo/solar-data-tools (language: python)

Issue:
conda installation of solar-data-tools 1.0.1 not working
Hello ! I am Aramis and I have been experiencing some trouble trying to install solar-data-tools using conda. Bennet told me to open a GitHub issue. The pipy installation works fine though.

# Expected Behavior
The `conda create -n pvi-test2 -c slacgismo python=3.10 solar-data-tools=1.0.1` command should create a new conda virtual environment with the 1.0.1 version of solar-data-tools.

# Current Behavior
The attempt to create a virtual environment with the command `conda create -n pvi-test2 -c slacgismo python=3.10 solar-data-tools=1.0.1` resulted in an `UnsatisfiableError` due to conflicts in package specifications. The exact error is:

> UnsatisfiableError: The following specifications were found to be incompatible with each other:
> 
> Output in format: Requested package -> Available versions
> 
> Package python conflicts for:
> solar-data-tools=1.0.1 -> python
> python=3.10
> solar-data-tools=1.0.1 -> numpy[version='>=1.22'] -> python[version='>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.11,<3.12.0a0|>=3.9,<3.10.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0|>=3.7.1,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|>=3.6']

# Steps to Reproduce
Run the command: `conda create -n pvi-test2 -c slacgismo python=3.10 solar-data-tools=1.0.1` from a clean base environment.

# Context (Environment)
- Operating System: Mac OS Ventura 13.2.1
- Conda Version: conda 23.9.0
- Python Version: python 3.10

# Detailed Description
I attempted to create a virtual environment using conda with the command `conda create -n pvi-test2 -c slacgismo python=3.10 solar-data-tools`. Unexpectedly this created an environment with the 0.5 version of solar-data-tools. So I ran the command `conda create -n pvi-test2 -c slacgismo python=3.10 solar-data-tools=1.0.1` which lead to the UnsatisfiableError mentioned above.




Discussion / hints:

Fix patch:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c6c7f406..9480311e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -40,10 +40,9 @@ jobs:
           - name: Checkout Repository
             uses: actions/checkout@v3
 
-          - name: Install Python
-            uses: actions/setup-python@v3
+          - uses: actions/setup-python@v4
             with:
-              python-version: "3.10"
+              python-version: '3.10' 
 
 # Much better than manual installation, original version Miniconda2-4.7.10-Linux-x86_64.sh is broken
           - name: Install Miniconda
@@ -53,13 +52,12 @@ jobs:
               activate-environment: ""
               miniconda-version: "latest"
 
-          - name: Install the Mamba Dependencies
+          - name: Install the Conda Dependencies
             run: |
               conda config --set always_yes yes --set auto_update_conda false
               conda update conda
-              conda install mamba -n base -c conda-forge
               conda install -n base conda-libmamba-solver
-              mamba install python=3.10 "conda-build=3.21.9" colorama pip ruamel ruamel.yaml rich mamba jsonschema -c conda-forge
+              conda install python=3.10 conda-build colorama pip ruamel ruamel.yaml rich jsonschema -c conda-forge
               pip install -e .
 
 # echo yes before login to prevent anaconda bug breaking automation
@@ -67,11 +65,10 @@ jobs:
 # bash variables cannot be used in github actions, must use actions specific syntax and methods
 # channels need to be specified on build and are saved in the package for installs
           - name: Build the Anaconda Package
-            id: mambabuild
+            id: condabuild
             run: |
-              mamba install anaconda-client
+              conda install anaconda-client
               conda config --set anaconda_upload no --set solver libmamba
-              echo yes | anaconda login --username ${{ secrets.ANACONDA_CLOUD_USERNAME }} --password ${{ secrets.ANACONDA_CLOUD_PASSWORD }}
               git fetch --prune --unshallow --tags
               VERSION_FROM_GIT_TAG=$(git tag --list "v*[0-9]" --sort=version:refname | tail -1 | cut -c 2-) conda build . -c mosek -c anaconda -c pvlib -c slacgismo -c conda-forge --numpy 1.22.0
               echo '::set-output name=gitversion::$(git tag --list "v*[0-9]" --sort=version:refname | tail -1 | cut -c 2-)'
diff --git a/conda_recipe/meta.yaml b/conda_recipe/meta.yaml
index 9d83ad46..fcb7ae2a 100644
--- a/conda_recipe/meta.yaml
+++ b/conda_recipe/meta.yaml
@@ -33,6 +33,7 @@ requirements:
     - haversine
     - boto3
     - Mosek
+    - clarabel
 
   run:
     - scipy
@@ -44,6 +45,7 @@ requirements:
     - pvlib
     - cvxpy
     - python
+    - clarabel
 
 about:
   home: https://github.com/bmeyers/solar-data-tools


Test patch:
diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml
index 32808640..8e06c8be 100644
--- a/.github/workflows/test-build.yml
+++ b/.github/workflows/test-build.yml
@@ -10,10 +10,9 @@ jobs:
           - name: Checkout Repository
             uses: actions/checkout@v3
 
-          - name: Install Python
-            uses: actions/setup-python@v3
+          - uses: actions/setup-python@v4
             with:
-              python-version: '3.10'
+              python-version: '3.10' 
 
           - name: Install Twine
             run: sudo pip install twine
@@ -34,10 +33,9 @@ jobs:
           - name: Checkout Repository
             uses: actions/checkout@v3
 
-          - name: Install Python
-            uses: actions/setup-python@v3
+          - uses: actions/setup-python@v4
             with:
-              python-version: "3.10"
+              python-version: '3.10' 
 
 # Much better than manual installation, original version Miniconda2-4.7.10-Linux-x86_64.sh is broken
           - name: Install Miniconda
@@ -47,13 +45,12 @@ jobs:
               activate-environment: ""
               miniconda-version: "latest"
 
-          - name: Install the Mamba Dependencies
+          - name: Install the Conda Dependencies
             run: |
               conda config --set always_yes yes --set auto_update_conda false
               conda update conda
-              conda install mamba -n base -c conda-forge
               conda install -n base conda-libmamba-solver
-              mamba install python=3.10 "conda-build=3.21.9" colorama pip ruamel ruamel.yaml rich mamba jsonschema -c conda-forge
+              conda install python=3.10 conda-build colorama pip ruamel ruamel.yaml rich jsonschema -c conda-forge
               pip install -e .
 
 # echo yes before login to prevent anaconda bug breaking automation
@@ -61,9 +58,9 @@ jobs:
 # bash variables cannot be used in github actions, must use actions specific syntax and methods
 # channels need to be specified on build and are saved in the package for installs
           - name: Build the Anaconda Package
-            id: mambabuild
+            id: condabuild
             run: |
-              mamba install anaconda-client
+              conda install anaconda-client
               conda config --set anaconda_upload no --set solver libmamba
               git fetch --prune --unshallow --tags
               VERSION_FROM_GIT_TAG=$(git tag --list "v*[0-9]" --sort=version:refname | tail -1 | cut -c 2-)test conda build . -c mosek -c anaconda -c pvlib -c slacgismo -c conda-forge --numpy 1.22.0