Skip to content
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

jabmod class vs raw JSON manipulations? #3

Open
nealmcb opened this issue Dec 2, 2023 · 3 comments
Open

jabmod class vs raw JSON manipulations? #3

nealmcb opened this issue Dec 2, 2023 · 3 comments

Comments

@nealmcb
Copy link

nealmcb commented Dec 2, 2023

Thanks for the maturation of this cool tool and format!

Forgive this mostly-drive-by comment, but would it be clearer and easier to debug and extend, if the code used a python Jabmod class, rather than dictionaries and arrays, converted to json in multiple places?

@robla
Copy link
Contributor

robla commented Dec 2, 2023

Hi @nealmcb -- thanks for the input! I think the answer to your question (like the answer to many questions) is "it depends". As of 2023, "jabmod" is really just an unstable internal data structure that's available as an unstable API. If someone wanted to stabilize a Python API to "jabmod" (writing the code and proposing an API), there's a 30% chance I'd quickly accept the pull request (no questions asked), and another 40% chance that I'd engage in serious conversation about the pull request that would result in the pull request being accepted within 3 months. I'm not yet ready to build a jabmod API myself, since I don't entirely consider even the jabmod JSON format as stable yet (and arguably, the jabmod JSON format is an API). I don't yet have a known customer for jabmod, so I haven't worried about stabilizing it. If you want to be the first public customer of jabmod, and are willing to share the problem you're trying to solve, I'm really interested in learning what would be most useful to you. So: what problem are you trying to solve?

@nealmcb
Copy link
Author

nealmcb commented Dec 7, 2023

I want to leverage abiftool for yet another raw ranked-ballot file format (i.e. yet another bastardized creation born between Dominion and local election officials who don't understand Dominion's json CVR format, can't redact it, and thus generate their own).
See the Cast Vote Record (CVR) at https://bouldercounty.gov/elections/results/

I want a clean class to work with, rather than twiddling json strings.

@sassinyourclass
Copy link

Hey Neal, I believe Arend Castelein already did this. He found a repository hosted by FairVote and Harvard with all the CVRs, I believe in a consistent format. You can reach him at arendpeter@equal.vote

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants