konstantint / matplotlib-venn

Area-weighted venn-diagrams for Python/matplotlib
MIT License
495 stars 67 forks source link

Venn diagrams with word clouds for set elements #29

Closed paulbrodersen closed 7 years ago

paulbrodersen commented 7 years ago

I made a thing. Super-derivative of your amazing work and the equally amazing wordcloud (https://github.com/amueller/word_cloud). Essentially, it plots the set elements as a word cloud on top of the corresponding subset patches.

At the moment, the code can be found on my github: https://github.com/paulbrodersen/venn_wordcloud. However, to prevent the further balkanisation of python packages, I would love to properly integrate my code bits into your package -- if you are interested. It would essentially add two functions venn2_wordcloud and venn3_wordcloud, and one more dependency (wordcloud).

konstantint commented 7 years ago

Hey, this is totally awesome!

However, I personally feel that "balkanization" is a good thing, because it limits the dependencies and allows everyone to use exactly the thing they need without having to pull in too much extra stuff. In addition, it is easier to maintain things when each author has to be responsible for the code they are most familiar with.

I therefore think that you should publish your package as matplotlib_venn_wordcloud in pip, and I'll simply add the reference to it in the README here.

paulbrodersen commented 7 years ago

Then we will do it that way. I will figure out how to put stuff on pypi this weekend. I will let you know when it's live.

konstantint commented 7 years ago

Hope this helps:

  1. Put your current python files into a subdirectory for a more packag-y shape.
  2. Add setup.py so that your package would be properly installable. (You can copy-paste matplotlib_venn's version and adapt slightly. E.g. drop the PyTest part there)
  3. Make sure python setup.py install works on your machine.
  4. Register an account at PyPI
  5. python setup.py register sdist upload

And you're done.

konstantint commented 7 years ago

Btw, one thing I would warmly suggest you consider is changing your current license from GPL to something less restrictive (like MIT, BSD, Unlicense or, at the very least, LGPL). In fact even if I wanted to include your project to be part of matplotlib_venn, its licensing terms would conflict with those of matplotlib_venn's in my understanding.

I never stop being amused by how the flagship "free as in freedom" license is actually pretty "freedom-limiting" in its terms.

paulbrodersen commented 7 years ago

1) Thanks for the pointers. I think I just managed to upload the thing to pypi about 30 seconds ago. pip install into a fresh virtualenv seems to work. Can you give it a spin, too? Package name is matplotlib_venn_wordcloud, as you suggested.

2) Hadn't thought about licensing issues. I can change it to MIT. Give me 5 min.

paulbrodersen commented 7 years ago

Ok, version 0.2 with an MIT license should be live on pypi. Thanks for the help!