-
Notifications
You must be signed in to change notification settings - Fork 565
Introduce formal principle documentation to support contrib changes #3768
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
base: main
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3768 +/- ##
==========================================
- Coverage 89.40% 89.40% -0.01%
==========================================
Files 903 898 -5
Lines 105380 105365 -15
==========================================
- Hits 94214 94199 -15
Misses 11166 11166
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
blnicho
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.
I have a bunch of minor edit suggestions but overall I think this looks great!
michaelbynum
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.
I'm only about halfway done, but here are a couple comments/questions.
michaelbynum
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.
I have some minor comments, but I think this looks great overall.
|
|
||
| Functionality that is part of the Pyomo source tree but not explicitly | ||
| included in the book is also expected to be stable if it resides outside | ||
| the ``contrib`` (or future ``addons`` / ``devel``) directories. This is |
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.
should this just say "devel" instead of "addons / devel"? I think the contribution guide stated that addons was supposed to be stable as well.
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.
I'm specifically looking under "Namespaces for Contributed and Experimental Code" in contribution_guide.rst.
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.
We call it "mostly stable". I don't want to promise that addons is for sure stable.
emma58
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 looks nice--I put a lot of ideas in the comments.
| Optional Dependencies | ||
| ~~~~~~~~~~~~~~~~~~~~~ | ||
|
|
||
| Extensions to Pyomo, and many of the contributions in ``pyomo.contrib``, |
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.
Should pyomo.contrib be updated to be pyomo.addons and pyomo.devel here?
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.
Not yet. We aren't moving anything out of contrib as of this particular PR. This file should be updated when we do actually move things.
|
|
||
| As a result, Pyomo is transitioning to a more structured contribution | ||
| model with two clear namespaces: | ||
|
|
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.
| * ``pyomo`` core - These modules form the foundation of the Pyomo environment, | |
| including the base expression systems, modeling components, model compilers, | |
| and solver interfaces. The core development team has committed to | |
| maintaining these capabilities, adhering to the strictest policies for | |
| testing and backwards compatibility. |
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.
I agree with the words but not the placement here. I put them above so it doesn't confuse the message here, which is primarily focused on, "This is how we are splitting pyomo.contrib."
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.
| └── tests/ | ||
| ├── __init__.py | ||
| └── test_example_package.py | ||
|
|
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.
We may want to call out why plugins isn't here but can be seen in a lot of existing packages. Just so people aren't mimicking "bad advice."
Fixes None but starts to address #2460
Summary/Motivation:
Stage 1 of the changes inside
pyomo.contribis documenting a lot of different development principles that make the change a lot more reasonably understandable. This PR creates the new directories with their basic READMEs as well as creates documentation about our overarching development principles, including a teaser to the upcoming changes incontribas part of their contents.Changes proposed in this PR:
addonsanddevelprinciples.rstdocumentationdoc/OnlineDocs/apiin .gitignore because I have almost accidentally committed those files WAY too many timesLegal Acknowledgement
By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution: