fabieu / steam-market-history

An easy-to-use CLI to export your steam market history to various formats
MIT License
10 stars 2 forks source link

KeyError: 'transfer_parameters' #16

Open TianRy1337 opened 7 months ago

TianRy1337 commented 7 months ago

Hi, when I try to execute command steam-market-history export --json get the following error KeyError: 'transfer_parameters' in webauth.py", line 209, in login self._finalize_login(resp)

I'm not using the Linux system, I'm using this project on Windows10 and using Pycharm to run it

using Python 3.12.0 steam-market-history Version: 3.1.0

fabieu commented 7 months ago

It seems Valve changed their login mechanism (as stated here https://github.com/ValvePython/steam/issues/450). The official library is not active anymore, so I will need to change the entire Steam authentication process and adapt a new library. This will take a few weeks, since I currently have not much time for this.

FailSpy commented 7 months ago

Hey there, I'm currently volunteering some effort to host a fork with a fixed version of the login mechanism. I have a PR for the main repo itself, but yeah, devs don't seem to be active enough to pull it into the main repo or respond.

Feel free to try and use my fork of the library, and if you encounter any issues, let me know! Even if unrelated to the login mechanism specifically.

fabieu commented 4 months ago

We are currently waiting for https://github.com/ValvePython/steam/pull/459 to be approved by a Valve developer. As mentioned before, the repository looks pretty abandoned. Due to security concerns, I am not willing to use a fork of the original repository.

FailSpy commented 4 months ago

It is worth noting that that repo is not associated in any way with Valve or Valve developers, as far as I'm aware. It is an unofficial library.

image

My suggestion, if you change your mind and would like to give the fork a chance, is to review the few commits I've published to that repo, and pin your pyproject.toml dependencies list to a specific commit hash. That way even if the fork were later updated to have harmful behavior, your users would be unaffected as they would only be using the exact version you inspected.

An example of pinning a git hash can be found here: https://python-poetry.org/docs/dependency-specification/#git-dependencies

fabieu commented 4 months ago

It is worth noting that that repo is not associated in any way with Valve or Valve developers, as far as I'm aware. It is an unofficial library.

image

My suggestion, if you change your mind and would like to give the fork a chance, is to review the few commits I've published to that repo, and pin your pyproject.toml dependencies list to a specific commit hash. That way even if the fork were later updated to have harmful behavior, your users would be unaffected as they would only be using the exact version you inspected.

An example of pinning a git hash can be found here: https://python-poetry.org/docs/dependency-specification/#git-dependencies

You are totally right, didnt' notice this at first. I appreciate your commitment. I don't like the general idead of referencing git depencies due to their boundary to source code. I would like to establish your fork as the new maintained version of the steam authentication library. I would contribute the CI process of builing PyPi packages and update the documentation.

fabieu commented 4 months ago

@FailSpy Unfortunatly it is not possible to upload a python package to PyPI with a git dependency as you recommended. Would it be possible to publish your version of the steam-py-lib to a package registry like PyPI. I could create a Pull Request for GitHub Actions.

rmangino commented 2 months ago

Just verifying: there is no workaround for the 'transfer_parameters' issue, correct? Thanks!

fabieu commented 2 months ago

Just verifying: there is no workaround for the 'transfer_parameters' issue, correct? Thanks!

Unfortunatly not really. You could run the steam-market-history-exporter by installing it manually (see reference) But support for publishing the package to PyPi (pip) is currently on hold.