{"id":20580255,"url":"https://github.com/maif/melusine","last_synced_at":"2025-05-16T16:06:51.570Z","repository":{"id":41432443,"uuid":"171296096","full_name":"MAIF/melusine","owner":"MAIF","description":"📧 Melusine: Use python to automatize your email processing workflow","archived":false,"fork":false,"pushed_at":"2025-01-23T08:36:26.000Z","size":47342,"stargazers_count":357,"open_issues_count":9,"forks_count":58,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-05-16T16:06:24.726Z","etag":null,"topics":["courriels","datascience","emails","natural-language-processing","nlp","nlp-machine-learning","python","python3"],"latest_commit_sha":null,"homepage":"https://maif.github.io/melusine","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MAIF.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-18T14:11:41.000Z","updated_at":"2025-03-03T20:32:43.000Z","dependencies_parsed_at":"2023-10-11T12:52:05.094Z","dependency_job_id":"32abe9f6-9246-45bc-a40c-1faa08a0f9eb","html_url":"https://github.com/MAIF/melusine","commit_stats":{"total_commits":576,"total_committers":45,"mean_commits":12.8,"dds":0.8263888888888888,"last_synced_commit":"2a3d02a8adf3c5cc1df95517c8a9ae7a35cda128"},"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MAIF%2Fmelusine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MAIF%2Fmelusine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MAIF%2Fmelusine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MAIF%2Fmelusine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MAIF","download_url":"https://codeload.github.com/MAIF/melusine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254564127,"owners_count":22092122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["courriels","datascience","emails","natural-language-processing","nlp","nlp-machine-learning","python","python3"],"created_at":"2024-11-16T06:22:09.043Z","updated_at":"2025-05-16T16:06:51.509Z","avatar_url":"https://github.com/MAIF.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/MAIF/melusine/actions?branch=master\" target=\"_blank\"\u003e\n\u003cimg src=\"https://github.com/MAIF/melusine/actions/workflows/main.yml/badge.svg?branch=master\" alt=\"Build \u0026 Test\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.python.org/pypi/melusine\" target=\"_blank\"\u003e\n\u003cimg src=\"https://img.shields.io/pypi/v/melusine.svg\" alt=\"pypi\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://opensource.org/licenses/Apache-2.0\" target=\"_blank\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\" alt=\"Test\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://shields.io/\" target=\"_blank\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/python-3.8+-blue.svg\" alt=\"pypi\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e🎉 **BREAKING** : New major version \u003cb\u003eMelusine 3.0\u003c/b\u003e is available 🎉\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://maif.github.io/melusine\" target=\"_blank\"\u003e\n\u003cimg src=\"docs/_static/melusine.png\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n- **Free software**: Apache Software License 2.0\n- **Documentation**: [maif.github.io/melusine](https://maif.github.io/melusine/)\n- **Installation**: `pip install melusine`\n- **Tutorials**: [Discover melusine](https://maif.github.io/melusine/tutorials/00_GettingStarted/)\n\n## Overview\n\nDiscover Melusine, a comprehensive email processing library\ndesigned to optimize your email workflow.\nLeverage Melusine's advanced features to achieve:\n\n- **Effortless Email Routing**: Ensure emails reach their intended destinations with high accuracy.\n- **Smart Prioritization**: Prioritize urgent emails for timely handling and efficient task management.\n- **Snippet Summaries**: Extract relevant information from lengthy emails, saving you precious time and effort.\n- **Precision Filtering**: Eliminate unwanted emails from your inbox, maintaining focus and reducing clutter.\n\nMelusine facilitates the integration of deep learning frameworks (HuggingFace, Pytorch, Tensorflow, etc),\ndeterministic rules (regex, keywords, heuristics) into a full email qualification workflow.\n\n## Why Choose Melusine ?\n\nMelusine stands out with its combination of features and advantages:\n\n- **Pre-packaged Tools** : Melusine comes with out-of-the-box features such as\n    - Segmenting an email conversation into individual messages\n    - Tagging message parts (Email body, signatures, footers, etc)\n    - Transferred email handling\n- **Streamlined Execution** : Focus on the core email qualification logic\nwhile Melusine handles the boilerplate code, providing debug mode, pipeline execution, code parallelization, and more.\n- **Flexible Integrations** : Melusine's modular architecture enables seamless integration with various AI frameworks,\nensuring compatibility with your preferred tools.\n- **Production ready** : Proven in the MAIF production environment,\nMelusine provides the robustness and stability you need.\n\n## Email Segmentation Exemple\n\nIn the following example, an email is divided into two distinct messages\nseparated by a transition pattern.\nEach message is then tagged line by line.\nThis email segmentation can later be leveraged to enhance the performance of machine learning models.\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://maif.github.io/melusine\" target=\"_blank\"\u003e\n\u003cimg src=\"docs/_static/segmentation.png\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n## Getting started\n\nExplore our comprehensive [documentation](https://maif.github.io/melusine/) and tested [tutorials](https://maif.github.io/melusine/tutorials/00_GettingStarted/) to get started.\nOr dive into our minimal example to experience Melusine's simplicity and power:\n\n``` Python\n    from melusine.data import load_email_data\n    from melusine.pipeline import MelusinePipeline\n\n    # Load an email dataset\n    df = load_email_data()\n\n    # Load a pipeline\n    pipeline = MelusinePipeline.from_config(\"demo_pipeline\")\n\n    # Run the pipeline\n    df = pipeline.transform(df)\n```\n\nThe code above executes a default pipeline and returns a qualified email dataset with columns such as:\n- `messages`: List of individual messages present in each email.\n- `emergency_result`: Flag to identify urgent emails.\n\n\nWith Melusine, you're well-equipped to transform your email handling, streamlining processes, maximizing efficiency,\nand enhancing overall productivity.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaif%2Fmelusine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaif%2Fmelusine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaif%2Fmelusine/lists"}