Skip to content
Merged
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
43 changes: 43 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
1 change: 1 addition & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

<p align="center">
<img src="docs/images/biosim-codeentropy_logo_light.png#gh-light-mode-only" alt="CodeEntropy logo" width="300"/>
<img src="docs/images/biosim-codeentropy_logo_dark.png#gh-dark-mode-only" alt="CodeEntropy logo" width="300"/>
<img src="docs/_static/logos/biosim-codeentropy_logo_light.png#gh-light-mode-only" alt="CodeEntropy logo" width="300"/>
<img src="docs/_static/logos/biosim-codeentropy_logo_dark.png#gh-dark-mode-only" alt="CodeEntropy logo" width="300"/>
</p>

See [CodeEntropy’s documentation](https://codeentropy.readthedocs.io/en/latest/) for more information.
Expand Down
47 changes: 47 additions & 0 deletions conda-recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -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"
9 changes: 8 additions & 1 deletion docs/developer_guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
26 changes: 25 additions & 1 deletion docs/getting_started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
-----------

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down