Giter VIP home page Giter VIP logo

Comments (76)

tensor-programming avatar tensor-programming commented on May 27, 2024 12

Is there any interest in a Dart and/or Elixir implementation of the API? I know neither languages are specifically listed but I personally would use both for various different applications.

from ipfs.

vasild avatar vasild commented on May 27, 2024 11

Hello everybody and @PayasR @jbenet @MichaelMure in particular,

I have implemented a C++ API bindings here: https://github.com/vasild/cpp-ipfs-api and just got its test coverage to 100% after some fights with Travis and Coveralls.

So far the block, config, files, generic, object, pin and swarm set of methods of the API (https://github.com/ipfs/interface-ipfs-core/tree/master/API) have been implemented. What remains is the dag and dht ones which I will try to get done soon.

Cheerz!

from ipfs.

jbenet avatar jbenet commented on May 27, 2024 2

I've updated the listing in the first post to include the awesome new Python, Java, and Scala api bindings! Thanks so much to everyone involved! ๐Ÿ‘ ๐Ÿ‘

We should make our Go bindings as nice... @whyrusleeping

from ipfs.

richardschneider avatar richardschneider commented on May 27, 2024 2

@Coder206 See https://github.com/richardschneider/net-ipfs-core and https://github.com/richardschneider/net-ipfs-api.

It's written in C# but should be accessible from VB.Net.

from ipfs.

digitalkaoz avatar digitalkaoz commented on May 27, 2024 2

@jbenet i would like to dedicate my php client for ipfs https://github.com/digitalkaoz/php-ipfs. its api complete, covers both http+cli "drivers", autogenerated from the official docs and well tested (at least in a few days ;) )

its licenced under the MIT, so there are no issues i think.

i would love to see my repo transferred to the ipfs organisation...

from ipfs.

rened avatar rened commented on May 27, 2024 1

I'd like to add an implementation for Julia.

from ipfs.

pyhedgehog avatar pyhedgehog commented on May 27, 2024 1

There was reference to .NET implementation.

from ipfs.

digitalkaoz avatar digitalkaoz commented on May 27, 2024 1

@diasdavid lets add to the list of client libraries :) will you make a PR or shall i?

from ipfs.

vasild avatar vasild commented on May 27, 2024 1

@diasdavid vasild/cpp-ipfs-http-client@b1c557e ok? (there are no known issues!)

from ipfs.

bebehack3r avatar bebehack3r commented on May 27, 2024 1

@diasdavid done! :)

from ipfs.

 avatar commented on May 27, 2024

I can offer code review for Ruby

from ipfs.

rschulman avatar rschulman commented on May 27, 2024

I have the beginnings of Rust API bindings.

from ipfs.

Fryie avatar Fryie commented on May 27, 2024

I would be interested in working on Ruby bindings, but I don't know enough about the project yet, so would need some guidance.

from ipfs.

PayasR avatar PayasR commented on May 27, 2024

C/C++ I am willing to volunteer.

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

Thanks @lgierth @rschulman @Fryie @PayasR and @rened -- I'll follow up with a quick dock here.

In the meantime check out https://github.com/ipfs/node-ipfs-api for a gist of how it works. The key parts are in:

from ipfs.

cryptix avatar cryptix commented on May 27, 2024

@jbenet maybe update the OP with links to existing binding projects? ipfs/py-ipfs, etc

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

@cryptix py-ipfs i think is not bindings, but aiming to be an impl? maybe someone can make ipfs/py-ipfs-api

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

Thanks everyone who is helping! Ok,

but can already start, given node-ipfs-api is so trivially simple.

from ipfs.

ianopolous avatar ianopolous commented on May 27, 2024

I'm starting a Java implementation. Will post a link once I have something non trivial.

from ipfs.

dysbulic avatar dysbulic commented on May 27, 2024

API Blueprint is a markdown specification for describing APIs. It has a conceptualization of endpoints and request types and responses and whatnot.

It's a subset of markdown, so it will always render, but apiary.io provides a more complex display.

For example, this is the markdown and this is the rendering for a blueprint I've been working on recently.

I've perused the node-api index and assume I know the endpoint names. I'm still clueless on the data model.

If anyone who groks the data structures and interactions is interested in pairing on this, I'd love to contribute, but I don't get the system well enough to do it just yet.

from ipfs.

ianopolous avatar ianopolous commented on May 27, 2024

My Java implementation is going here: https://github.com/ianopolous/IPFS-API-Java I'm aiming to make it self contained and simple.

from ipfs.

amstocker avatar amstocker commented on May 27, 2024

Just finished rudimentary python bindings: https://github.com/amstocker/python-ipfs-api

Any advice or testing would be greatly appreciated. It is already somewhat tested on my local machine (Ubuntu 14.04.2/Python 2.7.6).

from ipfs.

Fryie avatar Fryie commented on May 27, 2024

I'm expecting to do slow but steady progress on the Ruby bindings here. :)

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

Moved @amstocker python bindings to https://github.com/ipfs/python-ipfs-api/ (thanks!). If anyone else wants their moved as well, let me know. (it's easier for the community to all collaborate in one set of bindings)

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

@dysbulic happy to help with the API data model. maybe drop by #ipfs or ask questions on https://github.com/ipfs/go-ipfs or https://github.com/ipfs/node-ipfs-api ?

from ipfs.

 avatar commented on May 27, 2024

@Fryie coolio, I'll try to have a look at what you already have, but if you want me to look at anything in particular, feel free to ping me on IRC

from ipfs.

MichaelMure avatar MichaelMure commented on May 27, 2024

I have the start of a C++ API binding here: https://github.com/MichaelMure/Arbore-qt/tree/master/src/ipfs

It's not really general purpose and Qt based, but still ...

from ipfs.

cboddy avatar cboddy commented on May 27, 2024

Hello, I've started on a wrapper in Scala for the IPFS HTTP-API here: https://github.com/cboddy/scala-ipfs-api/

If anyone else is interested in contributing (or has requests or suggestions) please let me know, otherwise I'll update once it is complete.

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

Looking good! @MichaelMure and @cboddy let me know when it reaches some level of completion and we can move them into ipfs/ org (if you want)

from ipfs.

cboddy avatar cboddy commented on May 27, 2024

@jbenet the Scala/JVM bindings are now complete for the basic commands enumerated in the

ipfs --help

message, along with most of the data-structure commands and some coverage of the others. The rest should be straight forward to plumb-in in the next week with more formal integration tests, please feel free to add it to ipfs/ in the mean time.

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

@cboddy this is great news!! would you like to transfer the repo to the ipfs org, the way we're doing for the others? I added you to the org-- just transfer the repo to ipfs user (or me if it doesn't work). I'll then make sure you have admin and so on.

from ipfs.

cboddy avatar cboddy commented on May 27, 2024

@jbenet thanks and sure, have done!

from ipfs.

seclorum avatar seclorum commented on May 27, 2024

I'll do Lua!

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

from ipfs.

NeoTeo avatar NeoTeo commented on May 27, 2024

I'm working on Swift API bindings.

from ipfs.

bitcoinmeetups avatar bitcoinmeetups commented on May 27, 2024

Any fun one liner examples using cURL I can run straight from the command line (Linux)?

from ipfs.

victorb avatar victorb commented on May 27, 2024

By looking at the ipfs --help ipfs add --help and such, combining with
the API document ( https://ipfs.io/docs/api/ ) and you should be able to understand the HTTP API.

May or may not fit in with your "fun" requirement :)

Sincerely,
Victor Bjelkholm
(+34) 672 15 90 89

On Thu, Nov 5, 2015 at 8:24 AM, bitcoinmeetups.org <[email protected]

wrote:

Any fun one liner examples using cURL I can run straight from the command
line (Linux)?

โ€”
Reply to this email directly or view it on GitHub
#83 (comment).

from ipfs.

cloutier avatar cloutier commented on May 27, 2024

I have been working on an API binding in PHP. Right now it's only the subset of IPFS commands we needed for ipfs.pics, but ping me if you need more and I will add them!

from ipfs.

whyrusleeping avatar whyrusleeping commented on May 27, 2024

@cloutier if you want, we can make you a repo under the ipfs org called php-ipfs-api and you can put the code there

from ipfs.

cloutier avatar cloutier commented on May 27, 2024

@whyrusleeping I'd like to publish it with the same strong copyleft licence and I know that might be a bit controversial. Is that okay with you?

from ipfs.

NeoTeo avatar NeoTeo commented on May 27, 2024

I have now completed the first pass of the Swift API bindings. Feel free to comment and to use for your awesome iOS/OS X IPFS projects and to move into the ipfs org :)

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

@whyrusleeping I'd like to publish it with the same strong copyleft licence and I know that might be a bit controversial. Is that okay with you?

Hm. im undecided on this, but would lean strongly to keeping everything under ipfs org permissive so users dont make mistakes accidentally.

@cloutier curious why need a strong copy left for bindings? that strictly precludes commercial use, the place where users would most need bindings.

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

orthogonal to that -- thinking more about this -- we'll definitely need official bindings in php that are permissive (MIT/BSD/Apache2). if @cloutier doesn't want to make them so, we'll need a different one.

from ipfs.

davidar avatar davidar commented on May 27, 2024

@cloutier @jbenet Would LGPL be a reasonable compromise?

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

No, AFAIK LGPL is not compatible with MIT/BSD/Apache2.0

from ipfs.

cloutier avatar cloutier commented on May 27, 2024

I've thought about it some more and it would be better to have it under a lax licence in order to get more projects using an open standard like IPFS, and thus better for free software in general. Apache 2.0 would be good.

@davidar LGPL could be a good idea. It would allow embedding in a lot of licence (including MIT and even proprietary code) if the source code of at least the binding is available, but PHP is a peculiar case as it is almost only run on servers, and the copyleft clause is not triggered on a server's code. Might as well release it under a permisive licence.

@jbenet For the record, AGPL doesn't mean non-commercial. I don't need strong copyleft for technical reasons, but I want it for political reasons.

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

thanks very much @cloutier!

from ipfs.

davidar avatar davidar commented on May 27, 2024

@cloutier Yeah, I think copyleft makes more sense for applications on top of IPFS (like ipfs.pics), rather than lower-level libraries like this.

From https://www.gnu.org/licenses/license-recommendations.html

Some libraries implement free standards that are competing against restricted standards, such as Ogg Vorbis (which competes against MP3 audio) and WebM (which competes against MPEG-4 video). For these projects, widespread use of the code is vital for advancing the cause of free software, and does more good than a copyleft on the project's code would do.

In these special situations, we recommend the Apache License 2.0.

from ipfs.

cloutier avatar cloutier commented on May 27, 2024

@davidar Sums up very well what I have been thinking about, thanks! ๐Ÿ‘

from ipfs.

cloutier avatar cloutier commented on May 27, 2024

I have the start of the PHP bindings: https://github.com/cloutier/php-ipfs-api

It's basically the same code we have running in production at ipfs.pics, but relicensed under Apache 2.0.

from ipfs.

jbenet avatar jbenet commented on May 27, 2024

cc @mekarpeles

from ipfs.

mekarpeles avatar mekarpeles commented on May 27, 2024

Thanks, what if I aggregate these API client-libraries into a file within ipfs/ipfs/clients (and similarly ipfs/ipfs/implementations) which we can keep up to date?

This will likely also be a better experience for people trying to search through client libraries (than this issue). We can additionally link to this issue in the doc so people can contribute to the discussion.

Any opposed?

from ipfs.

jeremy-ellis-tech avatar jeremy-ellis-tech commented on May 27, 2024

C#/.NET here. I'm using this project for work so it'll be supported/improved for a year or two at the very least.

from ipfs.

Coder206 avatar Coder206 commented on May 27, 2024

Hello everyone! I hope you are doing well! I was wondering if there were any plans to make an API binding in Visual Basic .NET?

from ipfs.

daviddias avatar daviddias commented on May 27, 2024

@digitalkaoz that is awesome. Wanna transfer it to me and I'll add to the IPFS org? Also want to add it to the list on https://github.com/ipfs/ipfs#api-client-libraries ?

btw everyone, now there is a awesome logo for the HTTP Client libraries. I've PR'ed to all the ones that were on -- https://github.com/ipfs/ipfs#api-client-libraries --, if yours wasn't there, here it is:

image

Also, if you made an implementation, consider referencing it on https://github.com/ipfs/ipfs#api-client-libraries and leave a note about its completeness :)

from ipfs.

daviddias avatar daviddias commented on May 27, 2024

@digitalkaoz go for it :)

from ipfs.

vasild avatar vasild commented on May 27, 2024

@diasdavid what about moving https://github.com/vasild/cpp-ipfs-api to https://github.com/ipfs/cpp-ipfs-api? It was complete last time I enjoyed with it, but I haven't had the time to check if new API functions have been added after that.

from ipfs.

daviddias avatar daviddias commented on May 27, 2024

@vasild we can do that. Are you still available to continue being the captain for that lib?

from ipfs.

vasild avatar vasild commented on May 27, 2024

@diasdavid I changed jobs recently and haven't been able to find enough time to give cpp-ipfs-api some love (e.g. check if new functions have been added to the main API and implement them if that is the case). Moving it under /ipfs/ will increase its visibility so maybe others would contribute too. OTOH if you do not want to adopt code written by just one developer that is not working on it actively then maybe then it would be better to leave it under /vasild/. IMO it would be best to move it to /ipfs/ and I will eventually find time to play further with it. What do you think?

from ipfs.

daviddias avatar daviddias commented on May 27, 2024

@vasild understood. I think the best approach is to follow your suggestion and describe the state of the implementation on the README + open issues for known issues + welcome new contributors. All of this + moving to the IPFS org.

I'll mention the IPFS client libraries in the next IPFS All Hands :)

from ipfs.

digitalkaoz avatar digitalkaoz commented on May 27, 2024

from ipfs.

bebehack3r avatar bebehack3r commented on May 27, 2024

@jbenet hello! It would be great to change the current rust link to the new one, because it wasn't updated for 2 years already.. rust-ipfs-api
My implementation is still raw, but it works!

from ipfs.

daviddias avatar daviddias commented on May 27, 2024

@rmnoff great! Please open a PR to include it to the list. (Example #265)

from ipfs.

daviddias avatar daviddias commented on May 27, 2024

@vasild Looks good to me :)

from ipfs.

whyrusleeping avatar whyrusleeping commented on May 27, 2024

from ipfs.

tensor-programming avatar tensor-programming commented on May 27, 2024

I've made a bit of headway (about 65-70% of the commands) on the elixir API. If you want to take a look at it and see if it is up to snuff; I would appreciate it. I still need to build out many of the commands as well as documentation and the test module (and circleCI). I was able to get over most of the difficult humps though (multipart form support etc) so its just a matter of days/weeks at this point until I have a fairly decent amount of the functionality implemented.

Here is the repo: https://github.com/tensor-programming/Elixir-Ipfs-Api

Edit: I will be abandoning the repo because no one seems to care? I didn't seem to even get a response from you guys and its been a month. No point in maintaining a piece of software no one is going to use. Anyone interested in taking the repo and building on it just let me know. All of the API endpoints were implemented with just the basic functionality. It wouldn't be hard to extend them and add the rest.

from ipfs.

waozi-dev avatar waozi-dev commented on May 27, 2024

What about an elm-ipfs-binding, is anyone interested in making this possible?

from ipfs.

foxcool avatar foxcool commented on May 27, 2024

Can write Perl binding if needed.

from ipfs.

gguoss avatar gguoss commented on May 27, 2024

haskell I am willing to volunteer.

from ipfs.

yishuiliunian avatar yishuiliunian commented on May 27, 2024

i can write Objective-C , is there a work list to do?

from ipfs.

daviddias avatar daviddias commented on May 27, 2024

See https://github.com/ipfs/ipfs#api-client-libraries

from ipfs.

rogerlzp avatar rogerlzp commented on May 27, 2024

How about the status of developing mobile app using IPFS?
There are several projects for Android app, which is quite good.
The main step is first to start the ipfs daemon on a mobile, and do some file upload, etc.
I am trying to do mobile app based on current android app, and may extract them to an android sdk.
In my opinion, if we can get more developers or companies to store and retrieve their data in the ipfs system in mobile apps, then it is likely that the system can be used by lots of common users.
Do you have any plan on this or is there any discussion on it?
@jbenet

from ipfs.

TomorJM avatar TomorJM commented on May 27, 2024

Ipfs objc api?

from ipfs.

rogerlzp avatar rogerlzp commented on May 27, 2024

from ipfs.

JadedCtrl avatar JadedCtrl commented on May 27, 2024

I wrote another set of Common Lisp bindings a while back (the other refused to work on either of my PCs even after some fiddling, and didn't support pubsub).

It's right over hereโ€” there's a GitHub mirror, too.

from ipfs.

hsanjuan avatar hsanjuan commented on May 27, 2024

Thank you all, we are cleaning up this repository. If you have additional contributions please let us know in https://discuss.ipfs.io .

from ipfs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.