diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 892367cf..3209f56b 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -146,3 +146,46 @@ jobs:
env:
FLIT_USERNAME: __token__
FLIT_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
+
+ conda:
+ name: publish conda to anaconda.org
+ needs: [tag, release]
+ runs-on: ubuntu-24.04
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ ref: main
+
+ - name: Set version in conda recipe
+ run: |
+ sed -i -E "s/^{% set version = \".*\" %}$/{% set version = \"${{ github.event.inputs.version }}\" %}/" conda-recipe/meta.yaml
+
+ - name: Setup Conda
+ uses: conda-incubator/setup-miniconda@v3
+ with:
+ miniforge-variant: Miniforge3
+ python-version: "3.12"
+ auto-activate-base: false
+
+ - name: Install build tools
+ shell: bash -l {0}
+ run: |
+ conda install -y conda-build anaconda-client
+ conda config --add channels conda-forge
+ conda config --set channel_priority strict
+ conda config --set anaconda_upload no
+
+ - name: Build package
+ shell: bash -l {0}
+ run: |
+ conda build conda-recipe
+
+ - name: Upload to Anaconda
+ shell: bash -l {0}
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
+ run: |
+ PKG_PATH=$(conda build conda-recipe --output)
+ anaconda -t "$ANACONDA_API_TOKEN" upload "$PKG_PATH" --user CCPBioSim --force
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index eb249f5f..42aeb0f2 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -12,6 +12,7 @@ repos:
- id: check-added-large-files
- id: check-merge-conflict
- id: check-yaml
+ exclude: ^conda-recipe/meta\.yaml$
- id: check-toml
- id: check-case-conflict
- id: check-ast
diff --git a/README.md b/README.md
index 00a9a818..db32d17b 100644
--- a/README.md
+++ b/README.md
@@ -13,8 +13,8 @@ CodeEntropy
CodeEntropy is a Python package for computing the configurational entropy of macromolecular systems using forces sampled from molecular dynamics (MD) simulations. It implements the multiscale cell correlation method to provide accurate and efficient entropy estimates, supporting a wide range of applications in molecular simulation and statistical mechanics.
-
-
+
+
See [CodeEntropy’s documentation](https://codeentropy.readthedocs.io/en/latest/) for more information.
diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml
new file mode 100644
index 00000000..f87d6100
--- /dev/null
+++ b/conda-recipe/meta.yaml
@@ -0,0 +1,47 @@
+{% set name = "CodeEntropy" %}
+{% set version = "0.0.0" %}
+
+package:
+ name: {{ name }}
+ version: {{ version }}
+
+source:
+ path: ..
+
+build:
+ noarch: python
+ script: python -m pip install . -vv --no-deps
+ entry_points:
+ - CodeEntropy=CodeEntropy.cli:main
+
+requirements:
+ host:
+ - python >=3.12
+ - pip
+ - flit-core >=3.4,<4
+ run:
+ - python >=3.11
+ - numpy >=2.3,<3.0
+ - mdanalysis >=2.10,<3.0
+ - pandas >=3.0,<3.1
+ - psutil >=7.1,<8.0
+ - pyyaml >=6.0,<7.0
+ - python-json-logger >=4.0,<5.0
+ - rich >=14.2,<15.0
+ - art >=6.5,<7.0
+ - networkx >=3.6,<3.7
+ - matplotlib >=3.10,<3.11
+ - waterentropy >=2,<2.1
+ - requests >=2.32,<3.0
+
+test:
+ imports:
+ - CodeEntropy
+ commands:
+ - CodeEntropy --help
+
+about:
+ home: https://ccpbiosim.github.io/CodeEntropy/
+ license: MIT
+ license_file: LICENSE
+ summary: "Entropy analysis tools for macromolecular systems and MD simulation"
diff --git a/docs/developer_guide.rst b/docs/developer_guide.rst
index d747b563..cb867ae6 100644
--- a/docs/developer_guide.rst
+++ b/docs/developer_guide.rst
@@ -9,12 +9,19 @@ the continuous integration workflows.
Getting Started for Developers
------------------------------
-Create a virtual environment::
+Create a development environment using either venv or Conda.
+
+Using venv::
python -m venv codeentropy-dev
source codeentropy-dev/bin/activate # Linux/macOS
codeentropy-dev\Scripts\activate # Windows
+Using Conda::
+
+ conda create -n codeentropy-dev python=3.14
+ conda activate codeentropy-dev
+
Clone the repository::
git clone https://github.com/CCPBioSim/CodeEntropy.git
diff --git a/docs/getting_started.rst b/docs/getting_started.rst
index 2f300213..51f7b207 100644
--- a/docs/getting_started.rst
+++ b/docs/getting_started.rst
@@ -23,13 +23,37 @@ Requirements
Installation
------------
-To install the released version:
+CodeEntropy can be installed using either pip or Conda.
+
+Install with pip
+^^^^^^^^^^^^^^^^
+
+To install the released version from PyPI:
.. code-block:: bash
pip install CodeEntropy
+Install with Conda
+^^^^^^^^^^^^^^^^^^
+
+CodeEntropy is also available via the CCPBioSim Anaconda channel.
+
+Create a dedicated environment:
+
+.. code-block:: bash
+
+ conda create -n codeentropy python=3.14
+ conda activate codeentropy
+
+Install CodeEntropy:
+
+.. code-block:: bash
+
+ conda install -c conda-forge -c CCPBioSim CodeEntropy
+
+
Input Files
-----------
diff --git a/pyproject.toml b/pyproject.toml
index 0e2a903a..4aac93b0 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -35,7 +35,7 @@ classifiers = [
"Development Status :: 5 - Production/Stable"
]
keywords = ["entropy", "macromolecular systems", "MD simulation"]
-requires-python = ">=3.11"
+requires-python = ">=3.12"
dependencies = [
"numpy>=2.3,<3.0",
"mdanalysis>=2.10,<3.0",