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
29 changes: 0 additions & 29 deletions .github/workflows/conda.yml

This file was deleted.

65 changes: 19 additions & 46 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,52 +8,25 @@ concurrency:
cancel-in-progress: true

jobs:
test-cppyythonizations:
runs-on: ${{ matrix.on }}
defaults:
run:
shell: bash -el {0}
test:
runs-on: "${{ matrix.on }}"
strategy:
matrix:
python: ["3.8", "3.9", "3.10", "3.11"]
on:
- ubuntu-22.04
- macos-13
target:
- check
include:
- python: "3.11"
on: ubuntu-22.04
target: check-valgrind
environment: [ python-39, python-310, python-311, python-312, dev ]
on: [ ubuntu-24.04, macos-13 ] # we do not test macos-14 yet since we don't have osx-arm64 in our pyproject.toml
steps:
- uses: actions/checkout@v2
with: { submodules: recursive }
- uses: conda-incubator/setup-miniconda@v2
with: { miniforge-variant: "Mambaforge", miniforge-version: "latest", python-version: "${{matrix.python}}" }
- name: install dependencies
run: |
mamba env update --quiet -n test -f environment.yml
conda list
- name: install valgrind and libc debug symbols
run: |
sudo apt update
sudo apt install libc6-dbg

mamba install -y valgrind
pip install pytest-valgrind
if: ${{ matrix.target == 'check-valgrind' }}
# Work around https://github.com/conda-forge/cppyy-feedstock/issues/78
- name: Fix cppyy dependencies on macOS
run: |
mamba install -y libcxx=16
if: ${{ matrix.on == 'macos-13' }}
- name: make check
run: |
pytest --isolate --doctest-modules -vv
if: ${{ matrix.target == 'check' }}
- name: make check-valgrind
run: |
PYTHONMALLOC=malloc valgrind --show-leak-kinds=definite --log-file=/tmp/valgrind-output python -m pytest -vv --doctest-modules --isolate --valgrind --valgrind-log=/tmp/valgrind-output
if: ${{ matrix.target == 'check-valgrind' }}
- uses: flatsurf/actions/show-logs@main
if: ${{ always() }}
- uses: actions/checkout@v4
with: { submodules: recursive }
- uses: prefix-dev/setup-pixi@v0.8.4
with:
pixi-version: v0.39.5
environments: ${{ matrix.environment }}
- run: |
pixi run -e ${{ matrix.environment }} test
- run: |
sudo apt update
sudo apt install -y libc6-dbg
pixi run -e ${{ matrix.environment }} test-valgrind
if: ${{ matrix.environment == 'dev' && matrix.on == 'ubuntu-24.04' }}
- uses: flatsurf/actions/show-logs@main
if: ${{ always() }}
73 changes: 0 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,6 @@ A collection of [Pythonizations](https://cppyy.readthedocs.io/en/latest/pythoniz
These mostly work around known limitations of cppyy or provide some
reusable extensions such as Python pickling of C++ classes.

## Current Release Info

We release this package very frequently, typically with most pushes to the master branch.

| Name | Downloads | Version | Platforms |
| --- | --- | --- | --- |
| [![Nightly Build](https://img.shields.io/badge/recipe-cppyythonizations-green.svg)](https://anaconda.org/flatsurf/cppyythonizations) | [![Conda Downloads](https://img.shields.io/conda/dn/flatsurf/cppyythonizations.svg)](https://anaconda.org/flatsurf/cppyythonizations) | [![Conda Version](https://img.shields.io/conda/vn/flatsurf/cppyythonizations.svg)](https://anaconda.org/flatsurf/cppyythonizations) | [![Conda Platforms](https://img.shields.io/conda/pn/flatsurf/cppyythonizations.svg)](https://anaconda.org/flatsurf/cppyythonizations) |

## Install with Conda

You can install this package with conda. Download and install [Miniconda](https://conda.io/miniconda.html), then run
Expand All @@ -29,71 +21,6 @@ conda activate cppyy
pip install cppyythonizations
```

## Build from the Source Code Repository

We are following a standard autoconf setup, which is a bit odd in the Python
world. You can build this library with the following:

```
git clone --recurse-submodules https://github.com/flatsurf/cppyythonizations.git
cd cppyythonizations
./bootstrap
./configure
make
make check # to run our test suite
make install # to install into /usr/local
```

Note that this is a pure Python library, so essentially all this does is setup
a `setup.py` file and run it.


## Build from the Source Code Repository with Conda Dependencies

To build this package, you need a fairly recent C++ compiler and probably some
packages that might not be readily available on your system. If you don't want
to use your distribution's packages, you can provide these dependencies with
conda. Download and install [Miniconda](https://conda.io/miniconda.html), then
run

```
git clone --recurse-submodules https://github.com/flatsurf/cppyythonizations.git
cd cppyythonizations
conda create -n cppyythonizations-build
conda env update -n cppyythonizations-build -f environment.yml
conda activate cppyythonizations-build
./bootstrap
./configure
make
```

## Build from the Source Code Repository with Conda

The conda recipe in `recipe/` is built automatically as part of our Continuous
Integration. If you want to build the recipe manually, something like the
following should work:

```
git clone --recurse-submodules https://github.com/flatsurf/cppyythonizations.git
cd cppyythonizations
conda activate root
conda config --add channels conda-forge
conda config --add channels flatsurf
conda install conda-build conda-forge-ci-setup=2
export FEEDSTOCK_ROOT=`pwd`
export RECIPE_ROOT=${FEEDSTOCK_ROOT}/recipe
export CI_SUPPORT=${FEEDSTOCK_ROOT}/.ci_support
export CONFIG=linux_
make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CI_SUPPORT}/${CONFIG}.yaml"
conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml"
```

You can then try out the package that you just built with:
```
conda create -n cppyythonizations-test --use-local cppyythonizations
conda activate cppyythonizations-test
```

## Maintainers

* [@saraedum](https://github.com/saraedum)
Expand Down
20 changes: 0 additions & 20 deletions environment.yml

This file was deleted.

Loading