Skip to content

Conversation

@jensens
Copy link
Member

@jensens jensens commented Oct 22, 2025

Summary

Adds support for non-editable (fixed) installations to enable production and Docker deployments, addressing issue #54.

Changes

  • New fixed install mode: Installs packages without -e prefix for production use
  • New editable install mode: Installs packages with -e prefix (replaces direct as default)
  • Deprecate direct mode: Kept as backward-compatible alias for editable with deprecation warning
  • Keep skip mode: Unchanged behavior

Implementation Details

  • Modified config.py to validate new modes and handle deprecation
  • Modified processing.py to conditionally add -e prefix based on install mode
  • Default install mode changed from direct to editable (same behavior, clearer naming)
  • Deprecation warnings logged when direct mode is used (global or per-package)

Documentation

  • Updated README.md with new install mode options
  • Updated CLAUDE.md with examples and explanations
  • Added CHANGES.md entry for version 4.1.2

Test Coverage

  • Added 4 new test configuration files
  • Added 4 new configuration tests for new modes and deprecation
  • Added 2 new processing tests for fixed and mixed modes
  • Updated 1 existing test for new default behavior
  • All 172 tests passing ✓

Test-Driven Development

This PR was implemented using TDD methodology:

  1. ✅ Red phase: Wrote failing tests first
  2. ✅ Green phase: Implemented code to pass tests
  3. ✅ Verification: All tests pass

Backward Compatibility

  • Existing configurations using direct mode continue to work
  • Deprecation warning logged to guide users to migrate to editable
  • No breaking changes

Fixes #54

This change adds support for non-editable installations to enable
production/Docker deployments while maintaining backward compatibility.

Changes:
- Add 'fixed' install mode for non-editable installations (no -e prefix)
- Add 'editable' install mode (with -e prefix) as the new default
- Deprecate 'direct' mode as alias for 'editable' with warning
- Keep 'skip' mode unchanged

Test-Driven Development approach:
- Added 4 new test configuration files
- Added 4 new configuration tests
- Added 2 new processing tests
- Updated 1 existing test for new default
- All 172 tests pass

Fixes #54
@jensens jensens merged commit a785cf1 into main Oct 22, 2025
46 checks passed
@jensens jensens deleted the feature/54-fixed-install-mode branch October 22, 2025 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

non-editable local packages?

2 participants