jonhoo / jonhoo/rust-imap

Maintenance suggestion

Open
#302 9 comments 3 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
583
Forks
94
PR merge metrics
No merged PRs in 30d

Description

As discussed by email with @jonhoo, some new IMAP libraries are really promising and may replace `imap` over time:

- [`imap-types`](https://github.com/duesee/imap-codec/tree/main/imap-types) and [`imap-codec`](https://github.com/duesee/imap-codec/tree/main/imap-codec): they can be considered a direct replacement of `imap-proto`. They provide solid types and codecs for dealing with IMAP requests and responses.
- [`imap-next`](https://github.com/duesee/imap-next): a thin [sans I/O](https://sans-io.readthedocs.io/) abstraction over IMAP's distinct protocol flows, based on `imap-{types,codec}`.
- [`imap-client`](https://github.com/pimalaya/imap-client): a direct replacement of `imap`. While it is already used in production by [Himalaya CLI](https://github.com/pimalaya/himalaya), it is not advised to use it yet as the API is not well defined nor documented. It may evolve towards a sans I/O structure. In this case, `imap` would become a first standard (blocking) I/O connector of `imap-client`. It would also open doors to async IMAP (tokio, async-std, smol etc).

I just initiate the thread now so we can discuss more about it when the final `imap-client` API design will start (within few months).

Contributor guide

No contributing guide indexed for this repository

Research direction

No repository files, tests, or entry points are identified. Start by reading the proposed imap-types, imap-codec, imap-next, and imap-client projects linked in the issue, then follow the discussion about the future API design. This is only complete once the project agrees on a concrete replacement plan and scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design, networking
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.