purcell / airspeed

A lightweight Python template engine compatible with Velocity, used in OpenStack
Other
91 stars 37 forks source link

Remove python2 artifacts #64

Closed calvernaz closed 1 year ago

purcell commented 1 year ago

Hi, I see you have a bunch of changes, and seem to be starting or maintaining a fork. Happy to accept and release contributions here rather than unnecessarily fragment the package within the wider ecosystem — I'm even open to adding other committers who are actively using airspeed. I'd probably prefer to keep Python 2.x support, but who knows.

whummer commented 1 year ago

Hi @purcell , quickly chiming in here. Thanks so much for providing this library, which to our knowledge is the most advanced VTL implementation in Python out there. 🙌 🚀

The reason we've started maintaining our own fork for LocalStack is that we had to make a couple of significant changes to ensure parity with VTL support in AWS. The main goal we pursue with LocalStack is to provide 100% parity with AWS (as much as possible), even if that sometimes means that our implementations may be diverging from other community standards.

It is unclear whether the changes we're maintaining in our fork will be of general interest - as again, unfortunately the main driving force for the logic we're maintaining is to ensure parity with AWS.

We did come across a few cases where we believe that airspeed may not be 100% compliant with the VTL spec, though, e.g., when it comes to escaping double quotes, which seems to be done via a backslash in airspeed (\"), but is documented as double-double quotes in VTL (""). Another case is the use of special control characters like \n in strings, which seem to be interpreted as verbatim strings (i.e., backslash followed by "n") in other VTL libraries, and also in AWS.

It looks like we'll make significant changes in our fork in the upcoming weeks, to increase parity with the VTL spec, as well as the implementation in AWS. If you'd be comfortable accepting those changes, we'd be happy to join as maintainers in this repo, to avoid a hard split. Please let us know your thoughts.. 🙏 Thanks!