Contributing¶
catsim is built in an object-oriented paradigm (or as object-oriented as Python allows) so it is rather simple to extend it. You can write new initializers, selectors, estimators or stopping criteria by extending the base classes that are present in each of the corresponding modules. You can also write new IRT-related functions, as long as you have the right academic papers to prove they are relevant.
If you think the simulator could be doing something it is currently not doing, feel free to study it and make a contribution.
If you know a better way to present all the data collected during simulation, feel free to contribute with your own plots.
Psychometrics¶
catsim still has a way to go before it can be considered a mature package. Here is a list of features that may be of interest:
Unit testing¶
If you are interested in making a contribution to catsim, I’d encourage you to also contribute with unit tests in the package’s testing module.
How to contribute¶
Contributing code: create a fork on GitHub, make your changes on your own repo and then send a pull request to our testing branch so that we can check your contributions. Make sure your version passes on the unit tests.
Contributing ideas: file an issue on GitHub, label it as an enhancement and describe as thoroughly as possible what could be done.
Blaming me: file an issue on GitHub describing as thoroughly as possible the problem, with error messages, descriptions of your tests and possibly suggestions for fixing it.