Should we have two versions of starpy tabulation software:
- "basic" - with dependencies (numpy, pytest, etc) <-- this is where we are
- "complex" - without dependencies - see example --> https://github.com/larryhastings/starvote
"Basic"
Should be as straight forward as possible - even for users without programming skills - just install python and run the program.
Allow user to play with STAR Voting method.
PROS:
- simple (avoid dependencies version control, no need to install dependencies)
CONS:
- missing useful libraries/dependencies that advanced user / programmer would be happy to use
"Complex"
PROS:
- all bells and whistles
- test cases
- expected test results
CONS:
- user must install dependencies
"Hybrid approach"
Have one library - but installation process is asking user what to install - Basic or Complex.
"As-Is"
We are using a "complex" approach.
starpy:
- Allocated_Score.py
- STAR.py
tests:
- test_STAR_single_winner.py
- test_STAR_multi_winner_allocated_score.py
- test_STAR_single_winner.py
"Should-Be":
Do we want to incorporate the "basic" simple approach (see https://github.com/larryhastings/starvote) into our library?
How to organize this?
Follow "Hybrid" approach?
We shouldn't create two versions that we have to maintain. If we end up creating a "simple" version with no dependencies we should just migrate to that.
Questions
"As-Is"
"Should-Be":
Do we want to incorporate the "basic" simple approach (see https://github.com/larryhastings/starvote) into our library? How to organize this? Follow "Hybrid" approach?