Conversation
kfrey-idm
commented
Jul 19, 2025
- Remove examples folder (was already removed in emod-api-old).
- Update README for EMOD-Hub
- Remove unused package dependencies
Bridenbecker
left a comment
There was a problem hiding this comment.
Wow! Thanks @kfrey-idm . I missed these things when I moved it emod-api-old over to EMOD-Hub. Thank you for fixing them.
The only thing I'm really concerned about is changing the packages that are installed and if emodpy, emodpy-malaria, or emodpy-hiv are expecting them to be already installed.
|
|
||
| def test_set_mortality_distribution(self): | ||
| demog = Demographics.from_template_node() | ||
| self.config.parameters.Death_Rate_Dependence = "DISEASE_MORTALITY" |
There was a problem hiding this comment.
Technically, we should probably add an assert that verifies the current value and that the value is not the value we get after calling SetMortalityDistribution.
There was a problem hiding this comment.
At that point the current value is the default value, which is also the value after calling SetMortalityDistribution.
This revision was about removing prodict which is an implementation that allows non-valid values (like "DISEASE_MORTALITY")
There was a problem hiding this comment.
Eek. I don't like invalid values
| "matplotlib", | ||
| "scipy", | ||
| "pandas", | ||
| "numpy", |
There was a problem hiding this comment.
Why change numpy if we know that is a bad version for us?
There was a problem hiding this comment.
It's an opportunity to simplify. Version 1.19.4 of NumPy is only supported in Python 3.6, 3.7, 3.8, and 3.9. All of those are past end-of-life except 3.9, which is end-of-life this October.
| "parse", | ||
| "matplotlib" | ||
| ] | ||
| "lz4"] |
There was a problem hiding this comment.
Do we need testing that the emodpy packages don't depend on emod-api installing some of these?
There was a problem hiding this comment.
Not sure. I tried a 'find' for usages of prodict, pyyaml, parse, and graphviz and didn't find any place they were used in emodpy, emodpy-hiv, or emodpy-malaria. Might have missed something, but I think they're just not used anymore.
|
|
||
| emod-api can use Snappy [de]compression (python-snappy, actually) as necessary if it is installed | ||
| which requires libdev-snappy (Debian/Ubuntu) or snappy-devel (RedHat/CentOS) on Linux. | ||
| emod-api can use Snappy [de]compression (python-snappy) as necessary if it is installed which requires libdev-snappy (Debian/Ubuntu) or snappy-devel (RedHat/CentOS) on Linux. |
There was a problem hiding this comment.
Is this still true? Hmm. This is serialization related. I wonder if it belongs here or in emodpy-malaria.
There was a problem hiding this comment.
Yes, kind of. There's a place in serialization that checks if snappy is available:
https://github.com/EMOD-Hub/emod-api/blob/main/emod_api/serialization/dtkFileSupport.py#L6
It's not currently a dependency, so not installed by default.
There was a problem hiding this comment.
I'm going to create a ticket in emodpy-malaria to make sure that snappy is installed by default. In EMOD, if the chunk to be serialized is greater than 0x7E000000, we use snappy for compression. Maybe there is an issue with snappy installation that I don't understand, but we should make sure it is handled well.
|
@Bridenbecker, is there additional work that needs to be done on this PR? |
|
No. It is fine. I probably thought it was done |