-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
[priority] highestUrgent. Needs attention ASAPUrgent. Needs attention ASAP
Milestone
Description
This issue outlines the short-term strategy for evolving the EasyDiffraction library towards a cleaner, more stable, and maintainable design. It acts as a checklist of high-level development tasks and priorities. Sub-tasks should be tracked as individual issues linked here.
Goal
- Finalize and stabilize the new API
- Improve developer experience and code quality
- Prepare for integration with EasyScience shared components
- Lay the foundation for a long-term roadmap
Checklist
-
Finalize the new API draft
- Fix all related issues added to the project board
-
Polish the new API design
- Ensure clean, simple, and maintainer-friendly interfaces
- No new features unless necessary for testing structure
- Add:
-
PdfFit
calculator as a cross-check for calculator integration - Single crystal diffraction as a test case for extensibility
-
-
Freeze the API
- Add type annotations
- Add unit tests
- Add complete and clear docstrings
-
Set up CI quality enforcement
- Add static analysis tools (
ruff
,mypy
, etc.) - Block PRs that reduce code quality or test coverage
- Add static analysis tools (
-
Adopt EasyScience organization templates
- Wait for finalized org-wide templates (currently in development)
- Apply to include:
- GitHub workflows
-
pyproject.toml
- Continue using
requirements.txt
until switch is made
-
Improve issue tracking
- Create issues for missing features, bugs, and tasks
-
Organize and prioritize work
- Group issues into categories
- Define milestones
- Assign priority levels
-
Prepare for EasyScience core class integration
- Add strong unit test coverage
- Add functional and performance tests
- Ensure no performance regressions from refactor
-
Create long-term roadmap
- Based on outcomes of this short-term plan
- Define direction for further development, growth, and community usage
Notes
- This issue will remain pinned and act as a living task board.
- Linked sub-issues will provide additional detail and progress tracking.
Metadata
Metadata
Assignees
Labels
[priority] highestUrgent. Needs attention ASAPUrgent. Needs attention ASAP
Projects
Status
No status