ipfs-shipyard / py-ipfs

python implementation of ipfs
http://ipfs.github.io/py-ipfs/
MIT License
477 stars 95 forks source link

Beginnings -- comment here to be added to the team #1

Open jbenet opened 9 years ago

jbenet commented 9 years ago

See https://github.com/ipfs/ipfs/issues/21

I dont have the bandwidth to lead this effort, so ideally we could find a maintainer that can take a lead on. Ideally someone who understands ipfs at both a technical, ideological, and product levels.

Doing this well will in short term will need:

we're super happy to support this effort however we can. (biggest need is docs i think). i'd encourage you to play with existing go-ipfs, and come hang out in #ipfs.

jbenet commented 9 years ago

Oh and, comment here if you want to be added to the team. We've been following a pretty simple policy of trusting people we've gotten to know. The only rules are:

wking commented 9 years ago

On Fri, Apr 17, 2015 at 04:00:12AM -0700, Juan Batiz-Benet wrote:

Oh and, comment here if you want to be added to the team. We've been following a pretty simple policy of just trusting people. The only rules are:

  • don't push to master
  • don't merge to master without maintainers' approval
  • don't rebase others' branches without asking first

Out of curiosity, why do this instead of using the integration-manager workflow where contributors all fork 1? With an additional remote.origin.fetch line, you can easily fetch remote-tracking branches for all PRs 2. For example, I have:

$ git config --get-all remote.origin.fetch +refs/heads/:refs/remotes/origin/ +refs/pull/:refs/remotes/origin/pr/

in my go-ipfs fork. That lets me:

$ git fetch origin … From git://github.com/ipfs/go-ipfs 2406334..a97e9e7 master -> origin/master

and:

$ git log --graph --topo-order --oneline --decorate origin/master

As far as I can tell, that gives you all the benefits of your current workflow with none of the trust assumptions ;).

bmcorser commented 9 years ago

We run our CI suite against the pr namespace. It's very useful.

Do you guys want me to make PRs now or are you happy for me to work on master until more contributors turn up?

jbenet commented 9 years ago

@wking ah interesting. would love to make it work with 0 trust. But the most important problem we've run into is collaborating, sometimes i can go in and fix some of the pedantic CR requests (or rebase on new master) to make it easier on others, and we cannot do that when it's a fork + PR. Also, so far we've had trouble with some CI systems running for PRs (jenkins!!! but we dont use jenkins anymore cause it died).

@bmcorser we always do PRs even when working on the same repo.

whyrusleeping commented 9 years ago

@jbenet @bmcorser I think for now, until there are other contributors youre good to work on master. Although, jbenet might have other opinions

jbenet commented 9 years ago

@bmcorser i'll try to read the code + comment if you do PRs. i think it's safest so can help answer questions / notice bugs / etc

NoraCodes commented 9 years ago

I'd love to work on this project - my time is currently heavily constrained by school work but after the winter holidays I will be able to devote a large amount of time to the project.

BrendanBenshoof commented 9 years ago

I think I am already added, but I am starting to have to bandwidth that would let me push on this project. I might start working out modules + involved processes (a bit more involved in python than go) over the next few days.

bmcorser commented 9 years ago

Great! I too am rather constrained by work and study, but would be interested in doing code review and managing CI things. How do you guys want to communicate? I quite like the look of https://gitter.im (it's like a hipster IRC room attached to a GitHub repo) ...

sirMackk commented 9 years ago

I'd really like to join this effort. I think I'd be able to contribute 1-3 hours a week to throw Python at infrastructure/development problems :).

JulienPalard commented 9 years ago

I'm in, but I don't know how many hours I'll be able to throw in ^-^ Just liked the idea (IPFS) since the beginning :-) Glad today they have some specs -> give me motivation ! ("Walking on water and developing software from a specification are easy if both are frozen." - Edward V. Berard -) (Already on the team, just saying hello !)

mvanveen commented 9 years ago

Not currently sure what my commitment can be, but I'm interested in joining the initiative.

@bmcorser gitter works for me. @jbenet do you have a recommendation for the best way to coordinate/get in touch with people pursuing the test suite? I feel like this is probably a strong apriori requirement for a burgeoning ipfs polyglot community and I'd personally love a testable spec to build against.

blueskymonster commented 9 years ago

Jumped in on gitter. Posting here as well to indicate interest. I'm going to read the white paper and really dive into the details in the upcoming week.

jbenet commented 9 years ago

@mvanveen right now, there is a "sharness test suite" in go-ipfs which is actually just testing the cli and api". this is a good step to testing behavior from an HTTP api. we'll be separating this out into its own repo with a test suite.

the next thing to do would be to setup network tests using an instrumented or controlled node (likely go-ipfs for now) speaking directly to another node in the target language to test. this is not yet done.

candeira commented 8 years ago

I'm commenting here to show my interest. I've been reading the whitepaper, the specs site, the kademlia paper, etcetera. The checklist on the README of the js-ipfs implementation seems to be a good organisation method also for breaking down into chunks so py-ipfs can be tackled by newcomers. The elephant is too damn big and wriggly even for a first bite.

marknagelberg commented 8 years ago

I want to help out with this. I plan on digging deeper into the white paper and specs.

amstocker commented 8 years ago

@candeira @marknagelberg and anyone else interested, we had a short kickoff hangout recently (https://github.com/ipfs/py-ipfs/issues/20) and we've made some tentative plans for what to do next. The network stack of go-ipfs is going to be factored out into libp2p, so it would make sense for us to build a python-libp2p first, and then the IPFS protocols on top of it. I'm hoping that soon we'll start doing py-ipfs hangouts as part of the monday sprints.

candeira commented 8 years ago

@amstocker, thanks. Would it help if I took the js-ipfs roadmap and created a template in the py-ipfs readme?

The way I see it, while it doesn't make sense to break the code down into as many modules as in JS (we don't have to worry about shipping too much code to a browser), the breakdown in functionality is pretty much the same.

amstocker commented 8 years ago

@candeira sure that would work. I agree that we shouldn't have that many modules, maybe just a python-libp2p module and then py-ipfs.

candeira commented 8 years ago

@amstocker thanks. I'm at work now, I'll make a PR tonight.

amstocker commented 8 years ago

@candeira awesome! Sounds good.

amstocker commented 8 years ago

@candeira I'm not an admin of this repo so I cant merge your PR, but the roadmap looks good. @jbenet would it be possible for me to be a contributor for this repo?

candeira commented 8 years ago

Yes, @amstocker @jbenet, I would like to be a contributor too. I've read the rules (don't commit to master, make PRs only, don't merge other people's code without code reviews). What else is required?

ivilata commented 8 years ago

Hi everyone, I'd also like to contribute to the development of IPFS in Python. I was developing PyTables some years ago and I'd like to get to speed with coding once more by contributing here, so I may start taking some simple, no rocket science things like tests, documentation and the like. I'm currently unemployed so I'd be able to dedicate some hours a week.

I've read the white paper (I'm reviewing it now), and I've read the latest issues about python-libp2p. Do you have any other suggestions for docs I could review or code I may start looking at? Thanks!

Mec-iS commented 8 years ago

Hi people, I am Lorenzo. It would be great to join this venture as Python developer and space exploration fan. Hope to learn as much as possible. I am trying adding test to https://github.com/ipfs/python-ipfs-api and it would be nice to see a complete version of https://github.com/Dignifiedquire/ipfs-http-api Keep rollin'

daviddias commented 8 years ago

I've just finished updating the js-ipfs status page, following the new API spec organization and linking each component to its respective spec. I believe it is more sane and easier to understand what needs to be implemented in terms of components and respective expectations for them.

Check https://github.com/ipfs/js-ipfs#project-status :)

candeira commented 8 years ago

@diasdavid thanks for that. I'll update the py-ipfs status page to follow the js status and organisation. I believe it will be of great use to us!

amstocker commented 8 years ago

@Mec-iS Lorenzo, welcome :) . @diasdavid This looks great, thanks for the clarifications!

dubbled commented 8 years ago

I'd love to be added to the team. I'm pretty busy, but I'd be down to throw some hours into this project.

gvbgduh commented 8 years ago

Hi everyone! It would be grate to join your team. I am not very busy now, so I would be glad to productively participate in such an inspiring project.

fredthomsen commented 8 years ago

Very interested in helping with this effort as well. I have been looking at the ipfs project for the past few weeks and it seems very interesting.

avastmick commented 8 years ago

I'd be interested in helping here. Looking at the traffic though, it it still alive? Is there anything happening right now?

bmcorser commented 8 years ago

@fredthomsen, @avastmick

There's some stuff happening, have a look here if you didn't already. I'm deep in exams right now, but will be taking stock again in a few weeks.

fredthomsen commented 8 years ago

@avastmick I started looking at some of the multiaddr and multihash work. These lower level modules are still in the early stages and definitely need some assistance.

avastmick commented 8 years ago

@fredthomsen Okay great, starting to have a look today, in particular at the the multihash work done by @candeira and @ivilata - seems to be some duplication... I'll pick one that makes most sense to me to narrow in on.

fredthomsen commented 8 years ago

@avastmick @bmcorser and anyone else really. I started on a python multicodec implementation since I saw there was none. https://github.com/fredthomsen/py-multicodec. Only json so far.

Feedback and comments appreciated.

benmoran56 commented 8 years ago

I'm interested in contributing to this project. I've just become aware of ipfs, so still need to look over things.

sparrowme commented 8 years ago

I would like to participate.

Mec-iS commented 8 years ago

For IPFS beginners, we can start a study/research group to come closer to the different layers of the stack and then start contributing to py-ipfs. We can start a mail thread to share what we have understood so far and keep going helping each other. Who wants to join, write me at tunedconsulting [at] gmail.com, when we will be three or four people I will send an introductory letter to the argument. Cheers!

heaven00 commented 8 years ago

Hey, I would love to contribute :)

P.S. I love the idea but still going through the details

meowzus commented 8 years ago

i'd be interested in contributing as well!

ghost commented 8 years ago

I'm interested in contributing as well :)

judeosbert commented 7 years ago

I would like to join the team. I have been thinking for a system like this. I like the concept.

TKorr commented 7 years ago

add me to, I've also sent you an email...

goldani commented 7 years ago

I'd love to contribute to this project. I also sent an email to @Mec-iS.

berserkr commented 7 years ago

@jbenet Count me in :) Let me know what needs attention. Already forked, so will work off that for now.

decentral1se commented 7 years ago

Following from https://github.com/ipfs/ipfs/issues/112#issuecomment-282338767, I'd like to help out and am just seeing what's what from https://github.com/ipfs/py-ipfs#contribute now.

daviddias commented 7 years ago

A good chunk of the work building IPFS is actually building libp2p.

The documentation on libp2p and its modularity are in a state where I feel it is easier to start by just mirroring that implementation for new implementations in other languages. See https://github.com/libp2p/js-libp2p for more details and definitely check the examples to learn more about:

dhruvbaldawa commented 7 years ago

Hi there, I would like to contribute to this project. I am going through the go implementation and am playing with it for now but would love to pick up some low hanging fruits or read some documentation about the current status, having the current context will be extremely useful. Is there a place where I can see it?

Thanks!

whyrusleeping commented 7 years ago

@dhruvbaldawa as @diasdavid mentioned, libp2p is the first step on the path to implementing ipfs. Writing some of the lower level libp2p pieces like multistream and a basic multiplexer would go a long way