femtotrader / pandas_talib

A Python Pandas implementation of technical analysis indicators
MIT License
744 stars 197 forks source link

Simplify setup.py #8

Closed OpenTrading closed 9 years ago

OpenTrading commented 9 years ago

I was excited to see pandas_talib, as it's obviously needed, until I went to install it.

I will not, under any condition, install 107 packages (weighing 132 Mbytes compressed) and a language I don't have or like, to convert a 2940 byte README file into rst: 45bytes compressed installation for each byte converted! No matter what the problem is, pandoc is not the solution.

Please either convert the readme file to RST by hand, or if you really want to make the setup.py file overly-engineered, with additional setup dependencies that are unnecessary, try creole with: https://github.com/jedie/python-creole/wiki/Use-In-Setup It's purely Pythonic, has no Haskell, and is 106 packages weighing 132 Mbytes lighter!!!

:-)

femtotrader commented 9 years ago

I like markdown. I hate RST. I don't know Creole.

femtotrader commented 9 years ago

Feel free to submit a PR about it. I will accept it as my first Wiki Creole project.

OpenTrading commented 9 years ago

I don't like RST either, which is why I use Creole, but that's not the issue. The issue is that you are imposing the consequences of your likes on your users as a preprequisite to installing the software.

If you made a simple Makefile or script that did the conversion prior to checkin, and checked in the RST output, then you can remove the converter from the install_requirements, and not burden you users with 132Mbytes compressed that they may not want.

I've that found that minimizing project dependencies is important.

femtotrader commented 9 years ago

I thought pandoc was only used if you want to publish on PyPi.

OpenTrading commented 9 years ago

As if by magic :-)? It's pulled in by

setup_requires=['setuptools-markdown']

setup.py is meant to install a package and it's prerequisites. Any time you use setup_requires in setup.py you have fallen into infinite recursion!

Delete the setup_requires=['setuptools-markdown'] line from setup.py and you remove the need for your users to install 132MBytes compressed in order to install the package.

Then do whatever you want to generate the README.rst for yourself, leaving the end users free to just install the package and its prerequisites. You don't need to have setuptools-markdown to publish on pypi - ~99% of the packages don't use setuptools-markdown.

femtotrader commented 9 years ago

I should be ok.

OpenTrading commented 9 years ago

Great - I feel 132Mbytes lighter :-)

I think there's an error in setup.py, probablt leftover from the template. Delete:

 entry_points={
        'console_scripts': [
            'sample=sample:main',
        ],
femtotrader commented 9 years ago

That's done. Thanks