PHP and/or Python API

Is there a complete API for PHP7 and/or Python3 anywhere that would allow me to interface with Delta Chat? I appreciate it needs additional stuff on the e-mail transport and exchange leverl, but SMTP and IMAP isn’t really a big issue. But more to the point of evaluating the message content, the encryption verification/validation, and so on …

-joho

Yes, Python. See https://github.com/deltachat/deltachat-core-rust/tree/master/python, deltachat · PyPI and https://py.delta.chat/.

Thank you.

I assume then that there will be no other core implementations than in Rust?

(For what it’s worth, I think it’d be worth a lot to have a native PHP and a native Python “package”)

what’s the advantage? besides not needing recompilation when using on different architectures operating systems?

Why can’t you use the rust core? what is you special use case?

We are a small team and can not maintain multiple core implementations in different languages, the whole reason of DeltaChat-core is that we have a library we can re-use and have to only write & test once for all platforms (desktop(windows, linux, macOS), iOS, android).

Fun Fact: There is an other implementation of core: the original c implementation that we had before converting it to rust and then refactoring the code to safe rust. But it’s an old deprecated, unmaintained version

If you can not deploy the rust core for some reason (for example by using a provider that only allows plain php/python code and you can not convince them to make an exception/install it for you) then you might be able to use the specification https://github.com/deltachat/deltachat-core-rust/blob/master/spec.md to implement the subset of deltachat that you need.
Or write a small bot that your php/python code talks to over websocket or a rest api that does the DeltaChat part for you. maybe an instance of https://github.com/deltachat/dc_cmd_api could be an solution in the future when it’s out of the WIP state.

Or if you only want encryption validation, maybe you can find a python library that does Autocrypt on Autocrypt-capable MUAs level 1 implementation status — Autocrypt 1.1.0 documentation

If we know more about your goal we can make better suggestions.

I can think of a number of advantages:

  • Python and PHP are extremely popular development platforms
  • Not needing re-compilation when using on difference architectures and operating environments
  • Again, it opens up many environments and platforms for integrations, seeing the popularity of Python and PHP

I understand, completely, that it opens up a “can of worms” when it comes to maintenance, testing, etc. and I’m by no means trying to put this on you. I was merely asking because I’m curious (and I’d imagine others are too), because I think Delta Chat is a good idea (I put notes down for an “e-mail chat” over ten years ago since I have a history and background in messaging pre-Internet), and because I think it would greatly benefit the adaption rate for DC.

I will have a look at the specs and see what I can do with them :slight_smile:

Thanks for the quick response

-joho

2 Likes