Skip to content

Why not using requests ? #2

Closed
Closed

Description

@femtotrader

Hello,

I wonder why you are not using requests

http://docs.python-requests.org/

It's a great library which could help to have same code for both Python 2 and Python 3.

Kind regards

Activity

  1. veox commented on Jul 8, 2016

    @veox
    Owner

    Basically, because I wanted a quick way to access Kraken API and didn't look around. Plus, that's an additional dependency.

    Also, I have no interest in Python 2 anymore.

  2. femtotrader commented on Jul 8, 2016

    @femtotrader
    Author

    Requests manage parameters encoding, and many other features... and so user code is much lighter.
    You really might have a look...
    Moreover it's very easy to add a caching mechanism thanks to http://requests-cache.readthedocs.org/
    Not a big dependency...

  3. veox commented on Jul 8, 2016

    @veox
    Owner

    Yup, I did take a short look. :)

    Right now, HTTP request handling is a total of 6 lines, including the actual request (in connection.py). I don't see a reason that would justify the effort of putting in an external dependency - to make this code lighter?..

    Is there a specific use case where you see requests as superior?

    Another concern is that if this code becomes py2+3, then it has to be tested for both py2 and py3. And that's just technical debt.

  4. veox commented on Jul 8, 2016

    @veox
    Owner

    I took a short look through your repos - do you want to integrate this package in some other tool, that is already using requests? If so, it might be best to just fork and do the changes you desire. It would only be marginally faster than rewriting from scratch though.

  5. femtotrader commented on Jul 8, 2016

    @femtotrader
    Author

    For testing both Python 2 and 3, you can create unit tests and use continuous integration (Travis for example). Hide API key using environment variable and your tests will be executed both with Python 2 and 3.

  6. veox commented on Jul 8, 2016

    @veox
    Owner

    Well, I'm not the one who's going to do any of it any time soon.

    OK to close?

  7. femtotrader commented on Jul 8, 2016

    @femtotrader
    Author

    that's a pity... unit testing could at least be something to do to ensure your code won't break.

  8. veox commented on Jul 8, 2016

    @veox
    Owner

    I'll get to it... eventually. It took 2 years to bother generating docs. There's just too much on my plate.

  9. femtotrader commented on Jul 8, 2016

    @femtotrader
    Author

    ok ;-)
    ping me if you want some tips

    nosetests is very easy to use

    https://github.com/ig-python/ig-markets-api-python-library/blob/master/tests/test_ig_service.py

    You can run tests locally using :

    $ nosetests -s -v
    

    Enabling Travis need to be done on their website and you need to add a very basic .travis.yml like
    https://github.com/ig-python/ig-markets-api-python-library/blob/master/.travis.yml

    A first step could be to test public API calls.

    After this, it will be possible to also test private API calls but you will need to secure API key
    https://docs.travis-ci.com/user/encryption-keys/

  10. veox commented on Sep 21, 2017

    @veox
    Owner

    requests-updated has been merged to master. Also released v2.0.0a1 (alpha).

  11. added a commit that references this issue on Sep 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions