You are talking to a generally bias crowd on this list. :-D
But I would tell you how I would approach this, I would ask myself the following questions...
* What is your timeline?
* How much work would each of these require?
* What is your end goal?
* To make something and move on?
* To make something and maintain it?
* To make something and give back to the community so that others can use it?
* What is documentation like? / How hard is it to build a model?
When I choose to use a library in whatever language, I usually choose it based on its potential and future trajectory, unless I know that the work that I am doing is for throw away purposes --- For example, in another project I worked on part of what I had to do is to general pptx files. This library generates pptxs using python has 13 pull requests --
https://github.com/sc anny/python-pptx, But the java version is well developed and stable. Because I know that I won't be generating pptx for long, I used the java version in a python project because it was a means to end. However, it I wanted long term sustainability, I would have reached out to the pptx owners and offered to maintain OR built out my own version if that didn't go well.
^^ The last sentence is basically what happened with Mesa. Interestingly I never contacted the Spade owners, because I didn't know about spade, but we contacted PyABM, Indra & a few others (don't bother looking at those, they are not what you are looking for.)
Mesa believes is community contributions and if there is something that you think could be added to improve core Mesa, you can submit a pull request. Contribution guidelines are here:
https://github.com/projectmesa/mesa/blob/master/CONTRIBUTING.rst. If we don't think it belongs it core Mesa, but as add-on, we can discuss what that means and how to maintain --- for example a geo-mesa or mesa-gis would be a library that wouldn't go into core, because not everyone needs it and GIS stuff can be difficult to set up.
Mesa generally believes in decoupling as well -- at one point we talked about decoupling the visualization into another library, but never got around to it, because there are only so many of us working in our spare time on the project.
In conclusion... tl;dr
- If this is a longer term commitment, use to Mesa & help built on it, so the fruits of your labor is not lost.
- If this is a short term commitment, then do whatever helps you get shit done the quickest, so you can get on with the actual research portion and other things life. (This might be Mesa, but only you know the answer to this one.)
-Jackie