Okay, here's my issue with this package. All gripes aside, I appreciate the work done and desire to move on. Also it's nice to see a modicum of collaboration from the community once and a while. I just wish it were to be to different ends, and I'm failing to see how this is truly breaking free from the aptly named BGT trap at all. If nothing else your actually enforcing it by foiling the ability to move forward, I'll explain.
I'm not here to discuss the unfavorable code practices in use, everyone starts somewhere and it's mainly the thought that counts. If you'd like an in-depth code review, let me know and I'll be more than happy to provide one.
What you've done is rallied a bunch of BGT programmers who have been wanting to get a hand full of python for a while now but had no idea where to start. They either want to move on due to anti-virus flagging, a desire for crossplatform development, a simplistic workflow, the agreeably superior standard library, or a combination of these. One of the most important aspects of any language is undeniably it's stdlib, past syntax, not knowing the standard library like the back of your hand will leave you spending debilitating hours upon hours rifling through boring documentation to merely understand what's going on. I dare say a language is nearly next to useless without it's standard library. A language is only what you make with it.
Here, you have functions such as directory_create, directory_exists, file_exists, file_copy, file_delete, wait, exit, read_environment_variable, string_left/right, string_trim*, string_reverse, string_replace, string_split, string_len, string_is*, string_contains, base64_encode, ascii*, and probably a lot more I'm not listing that are simple must-know one-liners in the standard library. This project is giving everyone an extremely easy way out. Pick up python, learn syntax, and go. Sounds all well and good in the short term, but later on I fear
dependence: In wrapping some of the core functions, we're looking at a library that one must rely on and toat across all projects because that's simply all one is able to effectively use.
Detriment to collaboration: The standard library is universal, known to every python programmer worth his/her sault. Throw a project up on github? Good luck getting anyone without a prior BGT background to colaberate. Not for the whole opensource idea but know a friend who codes in python, same dilemma. Are we then saying such a prerequisite is required? Wait wait, isn't the idea to abolish BGT anyway? Don't wanna use BGT please learn how to use BGT and then you can contribute, talk about an oxymoron and unproductive one at that.
lack of resources: In BGT, an irrifutable downside was the inability to search for errors, functions, or practices on the web. In python however, running into a weird error or interested in how to pull something off? Simple as a couple clicks away on the godly stackoverflow. With this library, nobody has any clue what string_trim_left(string_left(string_mid(string_to_hex(something_bad)))) means and nor would they care to figure it out. In pythonic lingo, slices, str.replace, str.split, etc will yield a no problem Here's how your issue is fixed. In a matter of minutes.
lack of creativity: Python includes a host of glorious functions and modules not dreampt of in BGT. Sometimes the only way of figuring these out is by digging into existing code. But if the code your looking at doesn't feature the all mighty bgt kit, ahem every pythonic project ever written, your at a serious disadvantage and probably will have no idea what your looking at. codecs.encode(string, "Hex"), weird right? string.split(" "), even weirder. os.path.isfile(path), whoa! hashlib.Md5.new(data).hexdigest(), oh so complicated! Anything ctypes is foreign, notice what I did there? Shut up, I'm pre-coffee.
development time all around: Why, just why spend time wrapping everything, builtin types included in reference to the empty array directory, when you could be creating something helpful that isn't reinventing the wheel with absolutely zero improvement? Why not spend your time on games, or wrappers that don't exist right now.
I guess the biggest source of irritation here is the shear allusion of progress when in theory it's like 1 step forward and 1 step back. Nothing is positively impacted. We're far enough behind as it is without introducing more pitfalls.
I don't like writing posts that seem bashful through and through, so allow me to make some suggestions based on years of experience in the field.
Remove all standard library wrappers. String*, file* directory*, all of it. Encourage learning the builtins. If your not up to moving past standard BGT functions, sorry but I don't know if programming is your game no pun intended. For the lazy nearly everything is a google search or forum post away. There's an evident difference in those who simply make a program run and those who spend the time to make a program that runs.
Get your hands dirty wrapping useful includes if you like, sound_pool, sound_positioning, possibly dynamic_menu. But not, and I repeat not, line for line. The birth of a new language should spell out the birth of a myriad never-before thought of ideas. It did in my case anyway.
Stick to only the required dependencies. There's nothing at all wrong with using more than a couple modules, but they should seamlessly flow in a way that makes your program not only work, but work well. I'm looking at the combination pygame+WxPython here.
Learn the ins and outs of git. It has somewhat of a steap learning curve, but trust me when I say your on the way to making a really good lifelong friend who will never leave your side.
Learn the builtin facilities offered by python. Use them as much as possible. They've been tested and proven to be reliable time and time again over the course of many years, contributions, and dedication. If you want some inspiration check google to see a list of widely known projects that use python, facebook for example.
Create tests, not only an engine. This could be in the literal sense with unit tests, or an actual game. Just as long as the project is widely used and tested. During the case of working on our non-visual gaming framework (nvg) I can't even begin to estimate the number of bugs fixed due to the fact that everyone in the team was in the process of creating a game of his own.
I'll stop here for now, this wall of text has already gotten long enough. Thanks for reading and I sincerely hope you take some of these points to heart. I really believe python has the ability to yield some extremely Innovative results if only we would approach it in the right way. Anyone is more than welcome to add me to skype (name crtbraille) and I'll be more than willing to help to the best of my ability.