Skip to content
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

Reorganize into multi-package monorepo #63

Closed
wants to merge 12 commits into from
Closed

Reorganize into multi-package monorepo #63

wants to merge 12 commits into from

Conversation

GordStephen
Copy link
Collaborator

This splits out functionality into separate packages, PRASCore, PRASFiles, and PRASCapacityCredits, and sets the stage for moving additional packages into the repo as well (e.g. PRASAnalytics). PRAS is retained as a meta-package that automatically loads the other packages. Tests run on each package individually but coverage reporting is done repository-wide (https://app.codecov.io/gh/NREL/PRAS/tree/main).

This simultaneously removes support for the Convolution simulation specification, and more generally removes the infrastructure for using simulation specifications other than SequentialMonteCarlo. This simplifies the existing codebase and also provides a more gradual transition path for users towards the Rust rewrite, which will only support chronological Monte Carlo simulation.

Although no longer necessary, for backwards-compatibility the (system, simspec, resultspec) triple API is retained for assess calls, although assess(sys, Convolution(), resultspecs...) will no longer work.

Given the above breaking changes, this also updates each package version to 0.7.0, which can be the first version we submit to the General registry.

I also pulled in @josephmckinsey's docstring commit and augmented it with dccf8d7.

I'm thinking we won't rebase this PR onto master, but rather just switch the repo default branch over to this one (main) when we're ready. Anyone working with a PRAS#master package install will stay on v0.6.

@codecov-commenter
Copy link

codecov-commenter commented Dec 2, 2024

Codecov Report

Attention: Patch coverage is 87.97737% with 85 lines in your changes missing coverage. Please review.

Project coverage is 83.05%. Comparing base (c56a257) to head (bc3c467).

Files with missing lines Patch % Lines
PRASCore.jl/src/Results/Results.jl 51.16% 21 Missing ⚠️
PRASCore.jl/src/Simulations/recording.jl 88.27% 19 Missing ⚠️
PRASCore.jl/src/Results/GeneratorStorageEnergy.jl 80.76% 5 Missing ⚠️
PRASCore.jl/src/Results/GeneratorAvailability.jl 77.77% 4 Missing ⚠️
...ore.jl/src/Results/GeneratorStorageAvailability.jl 77.77% 4 Missing ⚠️
...re.jl/src/Results/GeneratorStorageEnergySamples.jl 80.95% 4 Missing ⚠️
PRASCore.jl/src/Results/LineAvailability.jl 77.77% 4 Missing ⚠️
PRASCore.jl/src/Results/StorageAvailability.jl 77.77% 4 Missing ⚠️
PRASCore.jl/src/Results/StorageEnergySamples.jl 80.95% 4 Missing ⚠️
PRASCore.jl/src/Results/FlowSamples.jl 87.50% 3 Missing ⚠️
... and 7 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #63      +/-   ##
==========================================
- Coverage   90.38%   83.05%   -7.33%     
==========================================
  Files          39       40       +1     
  Lines        1955     1794     -161     
==========================================
- Hits         1767     1490     -277     
- Misses        188      304     +116     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

.github/workflows/PRASFiles.jl.yml Outdated Show resolved Hide resolved
PRAS/test/runtests.jl Outdated Show resolved Hide resolved
PRASCore/src/Results/FlowSamples.jl Outdated Show resolved Hide resolved
PRASCore/src/Results/GeneratorAvailability.jl Outdated Show resolved Hide resolved
PRASCore/src/Systems/SystemModel.jl Outdated Show resolved Hide resolved
PRASFiles/test/runtests.jl Outdated Show resolved Hide resolved
PRAS.jl/Project.toml Outdated Show resolved Hide resolved
Copy link
Collaborator

@sriharisundar sriharisundar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can change some @asserts in doc strings to maybe show sample outputs, but let's track that as an issue and take care of it later?

@GordStephen
Copy link
Collaborator Author

Thanks all! Closing since this is now the default branch for the repo.

@GordStephen GordStephen closed this Dec 6, 2024
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.

5 participants