Skip to content

v0.2.3 - Fix Assets and Examples Packaging

Latest

Choose a tag to compare

@brian-sinquin brian-sinquin released this 25 Nov 00:14
· 5 commits to main since this release

This release fixes the packaging issues from v0.2.0-v0.2.2 by implementing a custom build hook to properly package assets and examples.

What's Fixed

  • Entry point working - datamanip command now works correctly
  • Language files packaged - No more 'Fallback language not found' errors
  • Example workspaces accessible - All 9 tutorial examples included
  • Reliable asset access - Uses importlib.resources with dev mode fallback
  • No restructuring required - Maintains flat src/ structure

Installation

`�ash
pipx install datamanip

or

uvx datamanip
`

Technical Details

Implemented custom setuptools build hook (Option A) to copy �ssets/lang/ and examples/ into the core package during wheel build. This allows use of importlib.resources while maintaining the flat package structure.

Build process:

  1. Custom �uild_py class in setup.py copies assets during wheel creation
  2. package_data declares assets for inclusion
  3. Runtime uses importlib.resources.files('core') for installed mode
  4. Fallback to repo paths for development mode

Files Included

  • Language files: en_US.json, r_FR.json
  • Examples: 9 tutorial workspace files (.dmw)
  • All Python packages and modules

Previous Issues (v0.2.0-v0.2.2)

  • v0.2.0: Entry point broken (module not found)
  • v0.2.1: Entry point still broken
  • v0.2.2: Entry point still broken
  • v0.2.3: All issues resolved