SainsburyWellcomeCentre / aeon_mecha

Project Aeon's main library for interfacing with acquired data. Contains modules for raw data file io, data querying, data processing, data qc, database ingestion, and building computational data pipelines.
BSD 3-Clause "New" or "Revised" License
6 stars 6 forks source link

Ensure all aeon submodules included in wheel #376

Closed glopesdev closed 3 months ago

glopesdev commented 4 months ago

As explained in the package discovery docs for setuptools each submodule needs to be either explicitly added, or the find feature should be used to automatically discover all relevant packages.

This PR replaces the setuptools declaration in pyproject.toml to automatically include all submodules inside the aeon folder when building the wheel, e.g. when installing the repo from pip in non-editable mode.

We can consider whether we want to further split the package into different sub-wheels or features for the datajoint pipeline, or other optional functionality, but this can be done in a separate discussion / PR.

Fixes #375