-
Notifications
You must be signed in to change notification settings - Fork 52
refactor: slim package refactor into three subpackages #240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: slim package refactor into three subpackages #240
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR restructures the monolithic data_designer package into three distinct subpackages to improve modularity and dependency management.
Changes:
- Reorganized codebase from
src/data_designer/into three packages underpackages/:data-designer-config,data-designer-engine, anddata-designer - Updated copyright year from "2025-2026" to "2026" across all files
- Removed
essentialsmodule in favor of importing directly fromdata_designer.config
Reviewed changes
Copilot reviewed 279 out of 392 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/data-designer-engine/conftest.py | Updated copyright header; added fixture imports for multi-package structure |
| packages/data-designer-engine/pyproject.toml | New package configuration with dependencies on data-designer-config |
| packages/data-designer-engine/tests/test_plugin_manager.py | Updated copyright and reordered imports |
| packages/data-designer-engine/src/data_designer/engine/testing/* | New testing utilities module with fixtures and stubs |
| packages/data-designer-config/conftest.py | Updated to import fixtures from config.testing module |
| packages/data-designer-config/pyproject.toml | New package configuration for lightweight config layer |
| packages/data-designer-config/src/data_designer/config/testing/fixtures.py | Moved StubHuggingFaceSeedReader to engine package; added type hints |
| packages/data-designer-config/src/data_designer/config/init.py | New init file exporting config API |
| packages/data-designer-config/src/data_designer/logging.py | Added init_logging() helper function |
| packages/data-designer-config/src/data_designer/errors.py | New file with base DataDesignerError class |
| docs/notebook_source/*.py | Updated imports from essentials to data_designer.config |
| README.md | Updated example code to use new import pattern |
| Makefile | Updated for multi-package workspace commands |
| AGENTS.md | Updated file paths and import examples |
| .github/workflows/*.yml | Updated to use new package structure |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/data-designer-engine/src/data_designer/engine/testing/fixtures.py
Show resolved
Hide resolved
8e5ed4d to
04f8355
Compare
911cc6f to
b6e375d
Compare
packages/data-designer-engine/src/data_designer/engine/dataset_builders/column_wise_builder.py
Outdated
Show resolved
Hide resolved
mikeknep
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This rocks 🪨 🎸
824d8ed to
177d38d
Compare
* remove old structure * major shuffle * streamline project configs * update make commands * updates to make commands * remove essentials * initialize logger in interface * uv lock * ignore notepad * update workflows * fix e2e project config * generate colab notebooks * resolve default model settings in interface * fix build commands * update perf import make command * cleaning up some slop * update recipes * move conftest files to tests/ * update subpackage readmes * streamline config_logging * use exports * update perf import usage pattern * update for IDE behavior with ruff * remove engine's fixtures file * add note to about lazy imports * update dependencies * update docs * doc fixes * uv lock * updates to catch up with main * clean up makefile * remove package gitignores * define deps only once * isolate tests * add test for protetion rule * create temp dirs for isolated tests * catch up to main * update headers * re apply changes * better result summaries for isolated tests * move exports into top-level init * fix client importlib version syntax * catch up with main
Summary
This PR implements a major architectural refactoring that reorganizes the monolithic
data_designerpackage into three distinct subpackages underpackages/:data-designer-config: User-facing configuration API (column configs, model configs, sampler params, validators)data-designer-engine: Internal generation and processing engine (column generators, dataset builders, models, validators, sampling)data-designer: Public interface layer (DataDesigner class, CLI, results)Key Changes
src/data_designer/topackages/*/src/data_designer/pyproject.tomlwith proper dependenciesExtra Tests
make test-run-tutorialsworks as expectedmake test-run-recipesworks as expectedcloses #207