Skip to main content

A template for your awesome C++/Python scientific computing software project

Project description

ditalini

PyPI Version Status Python Package Status Readthedocs Status

Philip Mocz (2024) Flatiron Institute

A modern template for your awesome C++ scientific computing software library/app 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 automatically published at PyPI with each version release. Documentation is automatically generated at readthedocs.

Installation

The project can be installed in a few different ways.

Get the Python Package

Obtain the published version of the package with:

pip install ditalini

Use the package in your own Python script, e.g.:

import ditalini

sim = ditalini.Simulation(42)

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 built with CMake. Clone this repository and then do:

mkdir build
cd build
cmake ..
make

Documentation

Documentation is automatically generated and hosted at readthedocs with each push. First, Doxygen creates documentation for the C++ Library. Then, Sphinx with the Breathe extension creates a final documentation for the entire project (C++ library and Python package). To build the documentation on your own, you can type make doxygen and make sphinx in the build/ directory.

CI

The .github/workflows directory contains this projects' continuous integration workflows for GitHub Actions.

The python-package workflow will automatically install Python dependencies and run tests 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.

Source Distribution

ditalini-0.1.4.tar.gz (52.3 kB view details)

Uploaded Source

File details

Details for the file ditalini-0.1.4.tar.gz.

File metadata

  • Download URL: ditalini-0.1.4.tar.gz
  • Upload date:
  • Size: 52.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ditalini-0.1.4.tar.gz
Algorithm Hash digest
SHA256 979d5df352590d1901505c561ecaa4fd9ed82ae4e33fcab3d1c3f85458aa62f0
MD5 28f6814e82043deef1682148d3677c56
BLAKE2b-256 cb2c7d6db5fc684b8507505c443d63e7d15eacdb1eec6a2626d67d26f444a8b9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page