Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Own versions of python-bitshares and python-graphenelib #574

Closed
bitphage opened this issue Apr 28, 2019 · 13 comments
Closed

Own versions of python-bitshares and python-graphenelib #574

bitphage opened this issue Apr 28, 2019 · 13 comments
Labels

Comments

@bitphage
Copy link
Collaborator

We're experiencing large delays of merging required changes into upstream python-bitshares. Example: bitshares/python-bitshares#223 is blocking our #531.

Solution is to use own forks of python-bitshares and python-graphenelib.

Possible workfow:

  • If we need a new feature, implement it into own versions first
  • Do a PR into upstream, so all new features will be merged later as they are polished and stable
  • Try to avoid incompatible changes
  • Periodically merge upstream changes into our forks
@MarkoPaasila
Copy link
Collaborator

This seems like a good temporary solution, especially if @xeroc is ok with it

@thehapax
Copy link
Collaborator

thehapax commented Apr 29, 2019

I totally agree. If xeroc is ok it, I'd say @bitfag lets go with your suggestion so progress will not be slowed down.

@bitphage
Copy link
Collaborator Author

@joelvai how do you think best to use own version? Do you think we need to publish pypi packages like python-bitshares-dexbot, or just use git install in requirements, like git+https://github.com/foo/bar.git#egg=spam ?

Also I think it's good idea to put forked version Codaone github organization, someone with required permission need to do this.

@xeroc
Copy link

xeroc commented Apr 29, 2019

It is important that the approach works for you! If it serves that, go for it!

The only recommendation I would make is that you reuse what's already there and fits your requirements. Not re-implement the wheel. So, you may want to reuse alot of the stuff in bitsharesbase module.

@PermieBTS
Copy link
Collaborator

Great, thanks Xeroc

@bitphage
Copy link
Collaborator Author

I actually meant to use own versions to not wait for stuff being merged. So we can use new features right now, and PR them into upstream as things stabilizes.

@MarkoPaasila
Copy link
Collaborator

To me it seems like a better idea to pull source from git instead of making a pypi package.

@xeroc
Copy link

xeroc commented Apr 30, 2019

I actually meant to use own versions to not wait for stuff being merged. So we can use new features right now, and PR them into upstream as things stabilizes.

To be honest, I am looking for assistance in maintaining pybitshares for quite some time. Please ping me on telegram so we can discuss how best to work out the high delays (sorry for that) in merge requests. A new (and competent one like @bitfag) maintainer on the repo would be really really appreciated.

@bitphage
Copy link
Collaborator Author

bitphage commented May 9, 2019

@joelvai how do you think what is the best workflow with own forks? Do we need dexbot requirements.txt always point to master of pybitshares/pygraphene? Or our devel branch should point to develop branch of pybitshares/pygraphene? So we'll have the same merging approach develop -> master for pybitshares/pygraphene?

@xeroc
Copy link

xeroc commented May 9, 2019

If you do it like this, you may run into trouble as you forgot to remove the bitshares pypi package (one line above the added lines)!!

@bitphage
Copy link
Collaborator Author

bitphage commented May 9, 2019

Yes sure, just a mistake, already fixed.

@bitphage
Copy link
Collaborator Author

I thought about version pinning and I came into conclusion we need to pin to the commits or tags, like this:

git+https://github.com/Codaone/python-bitshares.git@78ff9808ea53f198d5fd975bf9f471621b2b5ad7#egg=bitshares
git+https://github.com/Codaone/[email protected]#egg=bitshares

So updating master/develop will not break any previous dexbot versions, and also it will ease testing of updated libraries on dexbot devel.

bitphage added a commit to bitphage/DEXBot that referenced this issue May 21, 2019
@xeroc
Copy link

xeroc commented Jun 19, 2019

You may want to do the pinning like this:

bitshares @ git+https://github.com/Codaone/python-bitshares.git@78ff9808ea53f198d5fd975bf9f471621b2b5ad7#egg=bitshares

See PIP508 example

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants