Saravanan666/pypi-org huggingface dataset:
Package: email-artisan
artisan `|Build Status| <https://travis-ci.org/firstopinion/artisan>`_======================================================================CLI build tool to help ease the pain of developing emails... figure:: http://i.cloudup.com/9oBp4FQSRO.jpg:align: center:alt: ArtisanArtisanInstallation------------Installing from source (from root):``python setup.py install``Setup-----Artisan uses a specific directory structure in order to build. Make sureyour working directory matches::- (Working Directory)- artisan.json- src- masters- [master name]- index.html- images- messages- [message name]- index.html- images- build (created when artisan ship)- preview (created when running artisan craft)Add an artisan.json file to your working directory:::{"port": 8080,"aws": {"aws_access_key_id": "ACCESS_KEY","aws_secret_access_key": "SECRET_KEY"}}Usage-----Develop:~~~~~~~~``artisan craft``Options^^^^^^^\| Name \| Short \| Description \| Default \| \| ------ \| ----- \|------------------------------------------------------ \| ----------- \|\| --cwd \| -d \| Dir script is executed from \| os.getcwd() \| \|--port \| -p \| Port files are served. \| 8080 \|Publish:~~~~~~~~``artisan ship``Tests-----From root:``python setup.py test``Developing----------From root:``python setup.py develop``Todos-----1. Add to pip2. Write tests for S3 sync using fake-s3:https://github.com/jubos/fake-s33. Update ship to only push modified imagesLicense-------The MIT License (MIT) Copyright (c) 2013 Jarid MargolinPermission is hereby granted, free of charge, to any person obtaining acopy of this software and associated documentation files (the"Software"), to deal in the Software without restriction, includingwithout limitation the rights to use, copy, modify, merge, publish,distribute, sublicense, and/or sell copies of the Software, and topermit persons to whom the Software is furnished to do so, subject tothe following conditions:The above copyright notice and this permission notice shall be includedin all copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANYCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THESOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE... |Build Status| image:: https://travis-ci.org/firstopinion/artisan.png
Package: email-assistant
Email-assistant reads email messages over IMAP and creates entries on
a CalDAV server for events that it finds.It is designed to operate locally so that you remain in control of
your data.It scans newly received emails to see if they match sources that it
knows how to parse, and if so, extracts the schedule information from
them and creates events.  It will avoid creating duplicate events,
even if an email is seen multiple times.It currently understands emails from the following senders:United AirlinesMarriott hotels (when booked directly)EventbriteIt is simple to add support for more types of emails, and additions
are welcome.ConfigurationCreate the file~/.config/email-assistant/configwith the
following contents:[mailbox example_mail]
type = IMAP
host = mail.example.com
username = USERNAME
password = PASSWORD
folders = INBOX

[calendar example_cal]
type = caldav
url = https://cloud.example.org/remote.php/dav/
username = USERNAME
password = PASSWORD
calendar = Personal

[pair]
mailbox = example_mail
calendar = example_cal

[general]
geocode = nominatimChange theusername,password,host, andurlfields as
appropriate, and optionally thefoldersfield if you want to read
from a folder other than yourINBOX.  You can also name themailboxandcalendarsections as you wish.  Their names are
used in thepairsection.  Multiple mailboxes, calendars, and
pairs are supported.Apairsection must have exactly onemailboxandcalendarentry.  It tells Email-assistant to read new messages from the
specified mailbox and write events to the specified calendar.In some cases, emails do not contain the timezone information needed
to make an ideal calendar event.  To add this data, Email-assistant
can optionally use the OpenStreetMap Nominatim web service to
determine the location of some events and add the appropriate
timezone.  If you wish to enable this, include thegeneralsection
above.  If you omit it, Email-assistant will simply schedule such
events without a timezone.  This is used very rarely (currently, only
for single-day events from Eventbrite).UsageOnce the configuration file is in place, run:email-assistantIt will output information about actions it takes.  To get more debug
information, run with the-voption.  To only output errors (for
example, if you want to run it in a cron job) use the-qoption.
Package: email-audit
email auditAudit which email addresses can be collected by bots from your sites.Bot can harvest emails from websites, and many obfuscation techniques are
not as effective as they may seem.
This tool helps you find a good balance between ease-of-use for your users on
the one side, and thwarting spam bots on the other.Free software: MIT licensePython versions: 2.7, 3.4+Featuresaudit / find emails that spam bots can find on your sitesQuickstartGenerator of detected emails from bytestring html:import requests
from email_audit import audit_html_bytes

res = requests.get('http://example.co/')
list(audit_html_bytes(res.content, res.headers.get('content-type')))

['example@gmail.com', 'info [at] example [dot] co',
 'Jonas.Tullus@президент.рф', '#!$%&'*+-/=?^_`{}|~@example.org']Generator of found emails from unicode html:emails = audit_html_unicode(unicode_body)CreditsThis package was created withCookiecutterand thefluquid/cookiecutter-pypackageproject template.History0.4.0 (2018-01-19)fixed infinite loop in non-standard cloudflare cfemail data decoding loop0.3.0 (2017-10-15)improved cfemail0.2.0 (2017-06-08)0.2.0-dev (2017-06-08)0.1.0 (unreleased)First release on PyPI.
Package: email-auth-remote
Email Auth RemoteПроект для интеграции МС авторизации с другими Django МС.Как пользоватьсяДобавить проект в INSTALLED_APPS# File: settings.pyINSTALLED_APPS=[..."email_auth_remote",]Установить переменную AUTH_ENDPOINT_URL# File: settings.pyAUTH_ENDPOINT_URL="http://localhost:8000/api/v1/auth/user/"# Как примерДобавить класс аутентификации# File: settings.pyREST_FRAMEWORK={"DEFAULT_AUTHENTICATION_CLASSES":["email_auth_remote.authentication.EndpointAuthentication",],}Важная информация:При использовании библиотеки модель EmailUser, полученная через request.user не будет сохранена в
БД. На эту модель невозможно ссылаться через ForeignKey и тд. Сохранение в БД также невозможно.СборкаНеобходимо только для сборки, для интеграции не надо.Как собрать проект локальноpython3-mpipinstallbuild
python3-mbuildПроверка собранного пакетаpython3-mpipinstalltwine
twinecheckdist/*Выкладывание проекта в PYPItwineuploaddist/*
Package: email_backport
The email_backport package is a wrap-up of the email > 4.x modulefound in Python 2.5 and above.This is to create a simple way of creating email-related code thatworks with existing Python code and interpreters (>= Python 2.3) asthere has been a lot of changes such as new naming standards, seehere:http://docs.python.org/library/emailTo use in your code, try something like:EMAIL_4 = Falseglobal EMAIL_4try:import emailfrom email import messageif hasattr(email, 'backport'):email.backport()EMAIL_4 = Trueexcept ImportError:import email_backport as emailemail.backport()EMAIL_4 = TrueIf EMAIL_4 is true, we're good to go, if not, one can disable mailfeatures of the application.The versioning of email_backport follows Python's email moduleinternal version.You can find the SVN version of this package here:https://svn.nidelven-it.no/svn/shared-pypi-modules/Login is svnaccess/svnaccess (read-only access).  If you want tocontribute, drop us a line!4.0.3b2 (2012-04-24)- Cleaned up code, creating simpler import of email_backport- Updated documentation- Modified message.py to use split instead of partition.4.0.3b:- Initial setup
Package: emailcheck
Email CheckerValidate your email is valid or notScreenshotInstall$ pip install emailcheckUsageimportemailcheckasemailemail.check("yoginth@zoho.com")#=> Trueemail.check("yoginth@.com")#=> FalseGet HelpThere are few ways to get help:Pleasepost questions on Stack Overflow. You can open issues with questions, as long you add a link to your Stack Overflow question.For bug reports and feature requests, open issues.For direct and quick help, you canemail me.How to contributeHave an idea? Found a bug? Seehow to contribute.Thanks!LicenseMIT
Package: email-client
# Email clientThis repo consist email client for [grader](https://github.com/Flesspro/grader) and other services and packages.## Installing and runYou needpython3.7,pytest5.0.1andmake4.1.Installation:pip install email-clientYou can see also [PyPi](https://pypi.org/project/email-client/1.3.0/).We use makefile for run and environment variables for configuration.You can find smtp-client and imap-client. If you want, you can customize parsing email into smtp-client, you can
implement custom strategy and use them. For default, we use strategy for grader.To clean email (all emails are deleted):ENV_FILE=./.envs/my_envfile.env CLEAN=YES make clean## ExamplesCreating IMAPClient:from email_client import client_pkgclient = client_pkg.IMAPClient(
imap_host=os.getenv(‘IMAP_HOST’),
imap_port=os.getenv(‘IMAP_PORT’),
login=os.getenv(‘EMAIL_LOGIN’),
password=os.getenv(‘EMAIL_PASSWORD’),
extract_strategy=strategy,
)You can log in:client.login()And logout:client.logout()After some minutes you must login again. A lot of servers logout automatically by a time. Also, you can clean emails:client.clean_emails()You can set specify folder:client.clean_emails(‘inbox’)Another case, you can get all emails:emails, statuses = client.get_imails(folder=’inbox’)For each emails, you get specify status. If takezip(emails, statuses), you got pairs. You can setEmailType,
for exampleUNSEEN:emails, statuses = client.get_imails(email_typeEmailsTypes.UNSEEN, folder=’inbox’)The same way, you can make SMTP client.## TestingIf we integration-test, we have some stages:Data generationCreate objectsTestingValidationCleanIf we unit-test, we have some stages:Create objectsTestingValidationIn this way unit-test is partial case of integration test. We use unit-test for testing
logic in context one object, function (method). For example, we have function:def plus(a, b):return a + bThis is unit-test. We want to test simple object. This situation is not always possible.
If we want communication some systems and modules, we deal with integration tests.
For example, we test connect to data base and collect data from there. This is
integration-tests.All tests lay down into folder:tests/If you want to run tests, you can do this (all emails are deleted):ENV_FILE=.envs/my_envfile.env make testExampletest.env:EMAIL_TIMEOUT_TEST=1.5  # Timeout for waiting between reading and writing of emailsIMAP_HOST=imap.mail.ru
IMAP_PORT=993
SMTP_HOST=smtp.mail.ru
SMTP_PORT=587EMAIL_LOGIN=my@email.ruEMAIL_PASSWORD=my_password### Emails (integration)We have some clients for email:SMTP-client sends emailsIMAP-client receives emailsFor emails client we have not best way. We test SMTP-client over IMAP-client and IMAP-client
over SMTP-client.
Package: email-commander
Email CommanderEmail Commanderallows you to manage any host just by sending emails.If you like this tool, justsay thanks.Current stable version0.0.1FeaturesIt's all Python!InstallationEmail Commandershould work on any POSIX platform wherePythonis available, it means Linux, MacOS/OSX etc.Simplest way is to use Python's built-in package system:python3 -m pip install Email CommanderYou can also usepipxif you don't want to
mess with system packages and installEmail Commanderin virtual environment:pipx install email-commanderVoila!Python versionEmail Commanderis tested against Python 3.7+. Older Python versions may work, or may not.How to useHelp!I'm backend developer, not a frontend guy nor designer... And project requires some logo and/or icon.
If you're able to prepare some for this project, do not hesitate tomail me:)Also, if you have an idea how to enhanceEmail Commander,please fill the ticket.
Every idea, every feature request can help you, me and others!AuthorsMarcin Sztolcman (marcin@urzenia.net)ContactIf you like or dislike this software, please do not hesitate to tell me about
this me via email (marcin@urzenia.net).If you find bug or have an idea to enhance this tool, please use GitHub'sissues.ChangeLogv0.0.1initial
Package: emailconstructor
Introductionemailconstructoris a simple tool for dynamically constructing and sending HTML-based emails. Some of it's high level features include:Composing email content using text and styled HTML elements.Adding email file attachments.Adding styled inline images.Creating HTML tables or lists from data sets with optional conditional styling applied per row or per data item.emailconstructorwas originally written for the specific use case of quickly building and sending conditional alert emails containing large amounts of tabular data, however it is suitable to be used in a wide variety of other applications.Installationpip install emailconstructorUsageAll functionality is contained within theEmailConstructorclass.fromemailconstructorimportEmailConstructoremail=EmailConstructor(smtp_server_url="smtpserver.domain.com",smtp_server_port=100,sender_address="senderemail@domain.com")The subject, primary recipients, and CC recipients can all be set during initialization, or can be set/modified after.email.subject="Your subject"email.primary_recipients.extend(["recipient1@domain.com","recipient2@domain.com"])email.cc_recipients.append("recipient3@domain.com")Content can be added to the email using theaddmethod while HTML elements are opened and closed using context manager classes.email.add("This is some basic text followed by line breaks.")email.line_break(count=3)withemail.span({"color":"red"}):email.add("This text is inside the span tag and will appear red.")withemail.div({"font-size":"30px"}):email.add("This text will appear in a large font ")withemail.span({"background-color":"yellow"}):email.add("and this text will be highlighted.")Tables and bullet lists can be easily created from data sets.list_data=["bullet 1","bullet 2","bullet 3"]# Builds a simple <ul> bulleted list from the dataemail.build_list(list_data)table_data=[OrderedDict({"column1":1,"column2":2}),OrderedDict({"column1":3,"column2":4}),OrderedDict({"column1":5,"column2":6}),]get_cell_style=lambdacell:{"color":"blue"}ifcell%2==0else{}# Builds a table with bolded headers and with even numbered cells colored blueemail.build_table(table_data,header_style={"font-weight":"bold"},get_cell_style=get_cell_style)Inline images and file attachments can be added by path.email.add_inline_image("my_image.jpg",{"width":"100%"})email.attachments.append("my_attachment.pdf")Once finished, emails can be sent with thesendmethod. A call toresetwill clear out the email body, recipients, and subject so a new email can be built and sent.email.send("emailpassword")email.reset()
Package: emaildata
emaildatais a python
package for extracting content from email messages. It is a fork of theemailcontentpackage
but adds from features.emaildata featuresemaildataextracts this
types of contents from emails:Extract metadata.Extract text (plain text and html).Extract attachments.Extracting metadataThis feature was included from themetadatamodule of theemailcontent. This
module was copied module, few methods of isMetaDataclass were
removed, and the module was made more pylint friendly.To extract metadata from an email message headers you create an instance
of theMetaDataclass passing a message to the constructor. You can
retrieve the metadata with the methodto_dict. This can also be done
using the methodset_message:import email
from emaildata.metadata import MetaData

message = email.message_from_file(open('message.eml'))
extractor = MetaData(message)
data = extractor.to_dict()
print data.keys()

message2 = email.message_from_file(open('message2.eml'))
extractor.set_message(message2)
data2 = extractor.to_dict()Extracting textThe classTextin thetextmodule have static methods for extracting
text and html from messages:import email
from emaildata.text import Text

message = email.message_from_file(open('message.eml'))
text = Text.text(message)
html = Text.html(message)Extracting attachmentsThe methodextractin the Attachment class returns an iterator with the decoded
contents of the attachments of a message:import email
from emaildata.attachment import Attachment

message = email.message_from_file(open('message.eml'))
for content, filename, mimetype, message in Attachment.extract(message):
    print filename
    with open(filename, 'w') as stream:
        stream.write(content)
    # If message is not None then it is an instance of email.message.Message
    if message:
        print "The file {0} is a message with attachments.".format(filename)By default this method only iterates by the attachments with a filename. To retrieve all
attachments you have to passFalseas the second parameter (only_with_filename):import email
import mimetypes
import uuid
from emaildata.attachment import Attachment

message = email.message_from_file(open('message.eml'))
for content, filename, mimetype, message in Attachment.extract(message, False):
    if not filename:
        filename = str(uuid.uuid1()) + (mimetypes.guess_extension(mimetype) or '.txt')
    print filename
    with open(filename, 'w') as stream:
        stream.write(content)
    # If message is not None then it is an instance of email.message.Message
    if message:
        print "The file {0} is a message with attachments.".format(filename)ChangelogVersion 0.3 (2015-05-3)Implemented class for extracting attachments from messages.Version 0.2 (2015-05-3)Implemented class for extracting plain text and html from messages.Version 0.1 (2015-03-15)Initial version.Support for metadata extraction.
Package: email-decomposer
Email DecomposerDecomposition of email address to first name, last name, and host.How to useInstallpip install email_decomposerImportfrom email_decomposer.EmailDecomposer import EmailDecomposerDecompose emails listEmailDecomposer().decompose(data=['johndue@intuit.com'], get_host=True).head()first_namelast_namehostjohndoe@intuit.comJohnDoeintuit.comDecompose a single emailEmailDecomposer().decompose(data='johndoe@intuit.com', get_host=True){'first_name': 'John', 'last_name': 'Doe', 'host': 'intuit.com'}ContributingSeeCONTRIBUTING.md.Related contenthttps://medium.com/@elhanan.mishraky/cracking-the-code-on-email-addresses-7927128c92a0
Package: email-domain-verification
Email Domain Verification Packagethis package can provide some email validators with which users can validate their project emails far easilyInstallationyour module will be installed by PYPIpip install email-domain-verificationUsagefrom email_domain_verification import Email, EmailVerifier
from email_domain_verification.validators import BlackDomainListValidator

# you can import any of these validators or write your own validator
# (
#     BlackDomainListValidator,
#     DomainExtensionValidator,
#     LengthValidator,
#     MultiDotValidator,
#     SafeDomainValidator,
#     SafeDomainValidatorOnline,
# )

email = Email("hello@gmail.com")
black_email_list = [
    "xyz-mail.com",
    "tempmail.com",
    "temp.com",
    "mail-temp.org",
    # ...
]
validators = [
    BlackDomainListValidator(black_email_list),
]

verifier = EmailVerifier(email)
verifier.verify(validators)prevent raise exceptionfrom email_domain_verification import Email, EmailVerifier
from email_domain_verification.validators import BlackDomainListValidator

email = Email("hello@gmail.com")
black_email_list = [
    "xyz-mail.com",
    "tempmail.com",
    # ...
]
validators = [
    BlackDomainListValidator(black_email_list),
]

verifier = EmailVerifier(email)
validated: bool = verifier.verify(validators, raise_exception=False)
# validated == True => email is safe | validated == False => email is unsafeCreate Custom Validatorfrom email_domain_verification import Email, EmailVerifier
from email_domain_verification.interfaces import ValidatorInterface
from email_domain_verification.validators import LengthValidator


class CustomValidator(ValidatorInterface):
    __criterion: typing.Type

    def __init__(self, criterion: typing.Type) -> None:
        self.__criterion = criterion

    def validate_criterion(self) -> None:
        # validate __criterion
        pass

    def check(self, email: Email) -> bool:
        self.validate_criterion()

        # check email.value
        # example: len(email.value) > self.__criterion: return True
        validate = True
        if not validate:
            raise ValueError("The Error Message")

        return True


email = Email("hello@gmail.com")
validators = [
    BlackDomainListValidator(black_email_list),
    CustomValidator(10),
]

verifier = EmailVerifier(email)
verifier.verify(validators)Copyright (c) 2023, Khodnevisai.com (Mahdi Niknejad).
Package: email-dump
email-dumpDownload all the emails sent by a user into separate folders along with attachments.WhyI madeemail-dumpto be used alongside one of my other projectCalsenwhich is a search engine for files. with email dump
I can now search for files in my mail.
The dump will also contain a file that has the subject and body in it.
This should allowCalsento search through the email body, and at the very least, allows me to get to the directory that has the
attachment.Installationpip3 install email-dumpUsageemail-dump --from fromemail@example.com --dir /dir/to/dump/the/emailpassingemailandpassworddirectly from the command lineemail-dump --from fromemail@example.com --dir /dir/to/dump/the/email --email youemail@example.com --password supersecretpasswordemail-dump --helpfor more detailsBye.....
Package: email-ecglist
This package provides simple access to the austrian RTR (Rundfunk und Telekom
Regulierungs-GmbH) “ECG list”, the registry of persons and companies who do
not wish to receive promotional e-mail.Typical usage looks like this:from ecglist import ECGList

e = ECGList()
if not e.get_blacklist_status_code(email):
    send_email(email)
else:
    print "%s does not want to receive email" % emailUsageSet up the interface:from ecglist import ECGList

# Defaults to reading "ecg-liste.hash" in current directory
blacklist = ECGList(filename="my-ecg-list.hash")Test for an email address being in the blacklist:"foo@bar.example" in blacklistGet an email’s status code:code = blacklist["foo@bar.example"]codewill be None if the email address was not found in the blacklist or
a status code indicating the type of match otherwise.Same, but get a human readable string instead of a status code:status_str = blacklist.get_blacklist_status("foo@bar.example")Note that the data file is only loaded when the first address is verified,
i.e. the address verification might raise an Exception if the hash file has
vanished in the meantime.To reread the on-disk hash file or to free up the in-memory hash
table, use the reread() method like so:e.reread()BackgroundService providers that send unsolicited advertising e-mail have to observe this list.
Please refer tohttps://www.rtr.at/en/tk/E_Commerce_Gesetzfor the legal background.
Unfortunately, the only sample code provided by the RTR is in Perl (Boo! Hiss!), which
prompted the creation of this module.Obtaining the official blacklistYou will need to follow the steps outlined athttps://www.rtr.at/en/tk/NutzenECGto obtain a copy of the current ECG list. Save the “ecg-liste.hash” you receive
and configure the ECGList to access that file.InstallationTo install this module, simply:$ pip install email-ecglist