Skip to content

Conversation

@axzakari
Copy link
Collaborator

This commit implements the full pyT5 package as specified in specs_pyT5.md, a Python interface for Tripoli-5 Monte-Carlo code for PWR reactor modeling.

Key features implemented:

  • Complete object-oriented architecture with 11 core classes
  • Nuclear data management (NuclearData)
  • Material and cell definition (Material, MaterialLibrary, Cell, CellLibrary)
  • Geometry classes (PinCell, Assembly, Colorset, Core, Reflector)
  • Source and media (NeutronSource, NeutronMedia)
  • Visualization and scoring (Visualization, Score, ScoreLibrary)
  • Simulation control and execution (Simulation)
  • Remote computing support (RemoteCompute)
  • Results retrieval and analysis (Results)

Best practices implemented:

  • Modern src-layout package structure
  • Comprehensive type hints throughout (mypy compliant)
  • Full docstrings for all classes and methods
  • Complete test suite with pytest (fixtures and unit tests)
  • Linting configuration (ruff, mypy)
  • CI/CD workflow with GitHub Actions
  • Comprehensive README with usage examples
  • Example scripts for pin cells and assemblies
  • Documentation structure

Package configuration:

  • pyproject.toml with all metadata and dependencies
  • .gitignore for Python projects
  • MIT License
  • MANIFEST.in for package data
  • py.typed marker for type checking support

The package is fully installable, testable, and follows Python packaging best practices.

This commit implements the full pyT5 package as specified in specs_pyT5.md,
a Python interface for Tripoli-5 Monte-Carlo code for PWR reactor modeling.

Key features implemented:
- Complete object-oriented architecture with 11 core classes
- Nuclear data management (NuclearData)
- Material and cell definition (Material, MaterialLibrary, Cell, CellLibrary)
- Geometry classes (PinCell, Assembly, Colorset, Core, Reflector)
- Source and media (NeutronSource, NeutronMedia)
- Visualization and scoring (Visualization, Score, ScoreLibrary)
- Simulation control and execution (Simulation)
- Remote computing support (RemoteCompute)
- Results retrieval and analysis (Results)

Best practices implemented:
- Modern src-layout package structure
- Comprehensive type hints throughout (mypy compliant)
- Full docstrings for all classes and methods
- Complete test suite with pytest (fixtures and unit tests)
- Linting configuration (ruff, mypy)
- CI/CD workflow with GitHub Actions
- Comprehensive README with usage examples
- Example scripts for pin cells and assemblies
- Documentation structure

Package configuration:
- pyproject.toml with all metadata and dependencies
- .gitignore for Python projects
- MIT License
- MANIFEST.in for package data
- py.typed marker for type checking support

The package is fully installable, testable, and follows Python
packaging best practices.
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.

3 participants