Git Product home page Git Product logo

imapfw's Introduction

imapfw

imapfw is a simple and powerfull framework to work with mails. It comes as a replacement to the OfflineIMAP syncer.

Read the blog to get last news about imapfw.

Author Nicolas Sebrecht
Source http://github.com/OfflineIMAP/imapfw
License The MIT License (MIT)
Status Work In Progress
  • Build Status: "master" branch for branch "master"
  • Build Status: "next" branch for branch "next"

demo

Features

Scalable

As a framework, imapfw allows you to take control on what gets done.

It comes with pre-configured actions requiring to write few to no Python code at all. For more control, a dedicated API allows to redefine the key parts of the frame in one file (called the rascal). Also, more experienced users might rather directly import one or more modules and use them to write a full software (using the framework as a "master-library"): imapfw is written with separation of concerns in mind.

The choice of the level of control is left to the user.

All batteries included

The framework is intended to provide everything is needed. If any key library is missing, it's welcome to make requests.

Simple

imapfw provides nice embedded pre-configured actions. It can be used like any other software sharing the same goals of an action.

Fast

Mainly relying on UIDs greatly helps to be fast.

Also, imapfw is designed to be fully concurrent. It even let the choice of the concurrency backend (multiprocessing or threading, for now). To take real advantage of this, implemetation is made asynchronous almost everywhere.

Good documentation

Providing good documentation is a concern.

Quality

Testing the framework is done with both static and dynamic testing. Each is used where it's the most relevant:

  • low-level code and modules have unit tests;
  • features like actions have black box tests.

Continous intergration is done with Travis CI.

The project is developed with a proven release cycle and release candidates.

Code

In order to offer the best, imapfw relies on the last Python 3 technologies. It uses the most usefull of what Python 3 provides.

Feedbacks and contributions

The user discussions, development, announcements and all the exciting stuff take place on the OfflineIMAP's mailing list and github.

While not mandatory to send emails, you can subscribe here.

Bugs, issues and contributions can be requested to both the mailing list or the official Github project.

Requirements

  • Python v3.3
  • typing (Python < 3.5)

Status

imapfw is still WORK IN PROGRESS. Running imapfw should not hurt but all the features are not yet implemented since this is early stage of development.

Last WIP is in the next branch.

Supporting

Please, support the efforts! Staring the project is a good start. Reviews, feedbacks and pull requests are welcome, too. ,-)

imapfw's People

Contributors

nicolas33 avatar

Watchers

 avatar

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.