A template for your awesome C++/Python scientific computing software project
Project description
ditalini
Philip Mocz (2024) Flatiron Institute
A modern template for your awesome C++ scientific computing software app/library with wrappers for Python. This repository sets up a project for a standalone C++ library and app, that is also wrapped into a Python package using nanobind and scikit-build-core. The package is set up to be publishable at PyPI.
Installation
The project can be installed in a few different ways.
Get the Python Package
Obtain the package with:
pip install ditalini
The package can then be used in your Python script
import ditalini
Build with pip
The project can also be built locally. Clone this repository and then do:
pip install .
Build with CMake
The repository can also be build with CMake. Clone this repository and then do:
mkdir build
cd build
cmake ..
make
Documentation can be generated with
make doc
Documentation
CI
The .github/workflows
directory contains this projects' continuous integration workflows
for GitHub Actions.
The python-package
workflow will automatically install Python dependencies, run tests,
and lint with a variety of Python versions on pushes.
The python-publish
workflow will automatically upload this repository to PyPI when a release is created. The user must set a secret PYPI_API_TOKEN
variable in Github.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.