diff --git a/CHANGELOG.md b/CHANGELOG.md index baccaf8ce..c50a10c6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.9.51 - 2024-04-17 +### Changed +- Use scikit-build-core for building, which enables support for Python 3.12 on Windows. + ## 0.9.50 - 2024-02-07 ### Added - `Polygon.perimeter`. diff --git a/README.md b/README.md index 4111b712e..00057aff6 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # GDSTK [![Boost Software License - Version 1.0](https://img.shields.io/github/license/heitzmann/gdstk.svg)](https://www.boost.org/LICENSE_1_0.txt) -[![Tests Runner](https://github.com/heitzmann/gdstk/actions/workflows/testing.yml/badge.svg)](https://github.com/heitzmann/gdstk/actions/workflows/testing.yml) -[![Publish Docs](https://github.com/heitzmann/gdstk/actions/workflows/docs.yml/badge.svg)](https://github.com/heitzmann/gdstk/actions/workflows/docs.yml) -[![PyPI Packages](https://github.com/heitzmann/gdstk/actions/workflows/pypi-packages.yml/badge.svg)](https://github.com/heitzmann/gdstk/actions/workflows/pypi-packages.yml) +[![Tests Runner](https://github.com/heitzmann/gdstk/actions/workflows/run-tests.yml/badge.svg)](https://github.com/heitzmann/gdstk/actions/workflows/run-tests.yml) +[![Publish Docs](https://github.com/heitzmann/gdstk/actions/workflows/publish-docs.yml/badge.svg)](https://github.com/heitzmann/gdstk/actions/workflows/publish-docs.yml) +[![Package Builder](https://github.com/heitzmann/gdstk/actions/workflows/publish-packages.yml/badge.svg)](https://github.com/heitzmann/gdstk/actions/workflows/publish-packages.yml) [![Downloads](https://img.shields.io/github/downloads/heitzmann/gdstk/total.svg)](https://github.com/heitzmann/gdstk/releases) Gdstk (GDSII Tool Kit) is a C++ library for creation and manipulation of GDSII and OASIS files. @@ -38,7 +38,7 @@ cmake -S . -B build cmake --build build --target install ``` -The library depends on [zlib](https://zlib.net/). +The library depends on [zlib](https://zlib.net/) and [qhull](http://www.qhull.org/) ### Python wrapper @@ -62,42 +62,21 @@ pip install --user gdstk Or download and install the available wheels manually. -#### Conda - -Windows users are suggested to install via [Conda](https://www.anaconda.com/) using the available [conda-forge recipe](https://github.com/conda-forge/gdstk-feedstock). -The recipe works on MacOS and Linux as well. +#### From source -To install in a new Conda environment: +Installation from source requires the `build` module (plus CMake and Ninja, for faster compilation): ```sh -# Create a new conda environment named gdstk -conda create -n gdstk -c conda-forge --strict-channel-priority -# Activate the new environment -conda activate gdstk -# Install gdstk -conda install gdstk +pip install --user build ``` -To use an existing environment, make sure it is configured to prioritize the conda-forge channel: +With that, simply build the wheel package using: ```sh -# Configure the conda-forge channel -conda config --env --add channels conda-forge -conda config --env --set channel_priority strict -# Install gdstk -conda install gdstk +python -m build -w ``` -#### From source - -The module must be linked against zlib. -The included CMakeLists.txt file can be used as a guide. - -Installation from source should follow the usual method (there is no need to compile the static library beforehand): - -```sh -python setup.py install -``` +This will create a _dist_ directory containing the compiled _.whl_ package that can be installed with ``pip``. ## Support diff --git a/include/gdstk/gdstk.hpp b/include/gdstk/gdstk.hpp index 34c2014df..0de44ff45 100644 --- a/include/gdstk/gdstk.hpp +++ b/include/gdstk/gdstk.hpp @@ -11,7 +11,7 @@ LICENSE file or #define __STDC_FORMAT_MACROS 1 #define _USE_MATH_DEFINES -#define GDSTK_VERSION "0.9.50" +#define GDSTK_VERSION "0.9.51" // If GDSTK_CUSTOM_ALLOCATOR is defined, the user must supply implementations // for the following dynamic memory management functions: diff --git a/pyproject.toml b/pyproject.toml index e9c40af0a..2c5aa964f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ build-backend = "scikit_build_core.build" [project] name = "gdstk" -version = "0.9.50" +version = "0.9.51" authors = [{name = "Lucas H. Gabrielli", email = "heitzmann@gmail.com"}] description = "Python module for creation and manipulation of GDSII files." readme = "README.md"