SchrodingersGat / C-Snake

Python scripts for generating C/C++ code
MIT License
4 stars 2 forks source link

PyPi package proposition #5

Open randrej opened 7 years ago

randrej commented 7 years ago

How do You feel about making a PyPi-listed, proper package for C-Snake? I'd also suggest renaming it to csnake, to be in line with Python package naming conventions.

The project will be pretty well-rounded soon. I've done another round of changes, which I'll put in a pull request as soon as I write the new example script (I changed the API a bit).

I've ported a huge project of mine to use this new version of C-Snake. With my changes of the API, it works very well and is pretty consistent. It could surely be used as a ready module by more people.

As soon as my project is finished, I'll link it here as an example of extensive use of csnake.

SchrodingersGat commented 7 years ago

Hi @randrej sorry for my tardiness, been very busy.

I'm happy to rename to csnake, but I do not know (without research) how to make this installable package. Are you across the requirements for this?

randrej commented 6 years ago

I finally have the time (and Python packaging experience) to see this through. I've started refactoring and writing tests for a new version of csnake. This time, it'll be a full-fledged package, with tests and CI. I'll try to upload it to mypy, too.

Additions include numpy and sympy array/matrix support (for use as array initializers), as well as pillow (PIL fork) images.

I was wondering if You were willing to rerelease the current code under AGPLv3? I know that MIT license already allows for re-licensing, but it'd be nice to have all of the code under just AGPL so there is only one license in the repo. You can, of course, leave the current version under MIT.

Why AGPL? Well, it doesn't prevent using csnake as a devtool in any (commercial) project. The results (generated code) don't fall under AGPL, anyway. But if someone wants to modify the library or incorporate it into a bigger project, it must be made available under AGPL. The A prefix to GPL indicates "Affero" GPL, which means that the code cannot be used in an online service which just provides the users with generated code without triggering the license.

(A)GPL forces people who modify the code to share it with the public if they distribute it. After Google tried patenting public domain algorithms, there is no reason to release open source software under any license except (A)GPL. It's the only thing standing in the way of such shitty practices.

I also wanted to move the repo to Gitlab, now that Microsoft has acquired Github. The integrated CI and team management are pretty good, too.

If You're willing to discuss this further, we can continue by email (mine is r.andrej@gmail.com). If You agree with me on the licensing and Gitlab thing, You can send me your PyPI and Gitlab usernames so I can add You to the team right away.

randrej commented 6 years ago

https://gitlab.com/andrejr/csnake https://andrejr.gitlab.io/csnake/ https://pypi.org/project/csnake/

I've decided to honor Your initial decision and use the MIT license.

You are welcome to join me on Gitlab (send me your username by email and I'll add you as a developer). I've set a CI pipeline for testing, Sphinx documenation generation and even automatic publishing of tags to PyPI.