ditalini
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.
Metadata
Release files for ditalini 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ditalini-0.1.4.tar.gz | 52.3 kB | Details |
Release files / ditalini-0.1.4.tar.gz
| Download URL | ditalini-0.1.4.tar.gz |
|---|---|
| Size | 52.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
979d5df352590d1901505c561ecaa4fd9ed82ae4e33fcab3d1c3f85458aa62f0
|
|
BLAKE2b-256 checksum How to use checksums |
cb2c7d6db5fc684b8507505c443d63e7d15eacdb1eec6a2626d67d26f444a8b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|