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
56 changes: 21 additions & 35 deletions conda-recipes/README.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,33 @@
# conda-forge recipes
# conda-forge recipe

Draft [conda-forge](https://conda-forge.org/) recipes for distributing
ThermoScreening (and its dependency PQAnalysis) through the `conda-forge`
channel. They are kept here for reference and maintenance; the recipes that
conda-forge actually builds live in per-package *feedstock* repositories created
from [`conda-forge/staged-recipes`](https://github.com/conda-forge/staged-recipes).

## Why two recipes

`ThermoScreening` depends on `PQAnalysis`, which is **not yet on conda-forge**.
conda-forge packages may only depend on other conda-forge packages, so
`PQAnalysis` has to land first. Every other dependency (`numpy`, `scipy`,
`pymatgen-core`, `beartype`, `ase`, `rdkit`, and PQAnalysis's own
`multimethod`/`lark`/`tqdm`/`decorator`/`argcomplete`/`rich-argparse`) is
already available on conda-forge.
Draft [conda-forge](https://conda-forge.org/) recipe for distributing
ThermoScreening through the `conda-forge` channel. It is kept here for reference
and maintenance; the recipe conda-forge actually builds lives in the
`thermoscreening` *feedstock* created from
[`conda-forge/staged-recipes`](https://github.com/conda-forge/staged-recipes).

| Recipe | noarch? | Notes |
|--------|---------|-------|
| `pqanalysis/` | no | Ships a compiled Cython extension, so it builds per platform (needs a C compiler). |
| `thermoscreening/` | yes | Pure Python. |

## Submission order
## Dependency: PQAnalysis

1. **PQAnalysis first.** Fork `conda-forge/staged-recipes`, copy
`pqanalysis/` into its `recipes/` directory, and open a PR. Once it is
merged, conda-forge's bot creates `PQAnalysis-feedstock` and publishes the
package (usually within an hour).
2. **ThermoScreening second.** After `pqanalysis` is available on the
`conda-forge` channel, submit `thermoscreening/` the same way. Its
`pqanalysis >=1.3.0` run requirement will then resolve.
`ThermoScreening` depends on `PQAnalysis`, which must be on conda-forge first
(conda-forge packages may only depend on other conda-forge packages). Its recipe
lives in the [PQAnalysis repository](https://github.com/MolarVerse/PQAnalysis)
(`conda-recipes/pqanalysis/`). Every other dependency (`numpy`, `scipy`,
`pymatgen-core`, `beartype`, `ase`, `rdkit`) is already on conda-forge.

staged-recipes can build sibling recipes in dependency order within a single
PR, so submitting both at once can work — but the two-step order above is the
simpler, lower-risk path and lets `pqanalysis` publish before `thermoscreening`
is reviewed.
Both recipes were submitted together to `staged-recipes`, which builds sibling
recipes in dependency order (`pqanalysis` first, then `thermoscreening`).

## Before submitting

- **Maintainer(s):** `extra.recipe-maintainers` lists `galjos`. Add any other
GitHub usernames who should co-maintain the feedstocks.
- **Versions & hashes** are pinned to the current PyPI releases
(PQAnalysis 1.3.0, ThermoScreening 0.1.0). To refresh for a new release,
bump `version` and replace `sha256` with the sdist hash:
GitHub usernames who should co-maintain the feedstock.
- **Versions & hashes** are pinned to the current PyPI release
(ThermoScreening 0.1.0). To refresh for a new release, bump `version` and
replace `sha256` with the sdist hash:

```bash
# prints the sha256 of the PyPI source tarball
Expand All @@ -50,17 +36,17 @@ is reviewed.
print(next(u['digests']['sha256'] for u in d['urls'] if u['packagetype']=='sdist'))"
```

After the feedstocks exist, conda-forge's `regro-cf-autotick-bot` opens
After the feedstock exists, conda-forge's `regro-cf-autotick-bot` opens
version-bump PRs automatically, so this is mainly needed for the initial
submission.

## Local check (optional)

If you have `conda-build` installed you can lint/build a recipe before
If you have `conda-build` installed you can lint/build the recipe before
submitting:

```bash
conda build conda-recipes/pqanalysis
conda smithy recipe-lint conda-recipes/thermoscreening
conda build conda-recipes/thermoscreening -c conda-forge
```

Expand Down
4 changes: 0 additions & 4 deletions conda-recipes/pqanalysis/bld.bat

This file was deleted.

7 changes: 0 additions & 7 deletions conda-recipes/pqanalysis/build.sh

This file was deleted.

82 changes: 0 additions & 82 deletions conda-recipes/pqanalysis/meta.yaml

This file was deleted.

Loading