Well with most MIDI, sending additional note-ons, with no note-offs shouldn't hurt any thing. However yes, you could use global variables as a bitmap to track note-on messages so that only the first note-off message of that same key position is sent (if that is what you are looking for). You could also suppress sending additiona note-on messages if you see the note is already depressed (a note on without a corresponding note-off).
Each global variable handles 32 bits so if you have a 61 key keyboard you would need 2 global variables 2*32=64 (so 3 bits to spare). If you want to track 127 keys (the maximum MIDI allows) it would take 127/32 or 4 global variables.
The logic for note-on would be to identify the bit to turn on, determine its current state and then if already on, do nothing. If it is not on, you would set the bit and send the note on message.
For note-off, it is similar. Identify the bit to turn off, determine its current state and if already off do nothing. If it is currently set, you unset the bit and send a note-off message.
In both cases, defining the right bit would be first determined by the right global variable to use, then the right bit within the target global variable.
This post has some of the basic logic for bit mapping using the current scripting language.
https://www.bomeloft.com/support/kb/bitwise-how-much-do-i-gain
Creating an entire project for you is beyond the scope of this support, but if you can't find the post, I can help further.
As far s Python or Javascript, I know there are plans for a new scripting engine/language but I don't have any timelines and as yet, have not seen any Beta program. I'm not sure that the target language is yet decided but I imagine it will be something with a small footprint and a lot of common language and maybe even object oriented features.
I'll let Florian Bomers elaborate further on that if he wishes to do so, however future plans and timelines are seldom discussed here until they get pretty close to release.
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz