Saravanan666/pypi-org huggingface dataset:
Package: maid-sweeper
Maid Sweeper for filesInstead of cleaning the unused files, it calls a maid to label them and sweep them under the rug accordingly.However, the maid can practice Danshari given permission. For example, she cansell your unused iPad for money.Like Toki, she has two modes:tag: Label the files/directories automatically, based on their types and names.code projects and application directories are labeled, and their children are not scannedothers are labeled based on the extensionssweep: Carry out actions based on the labels`.FeatureAsyncIO, so all operations are in parallelMongoDB for fast indexingSave time by not scanning every single file inside code and program directories and not checking the metadataKyoufuInstallationHave Python 3.10.Install by runningpip install maid-sweeper.UsageStart a MongoDB instance.Runmaid-sweeper tag D:\Study, then you can find tagged entries in the database. Sweeping works on all directories tagged.Runmaid-sweeper sweep -t video game -x del \q \f {}, and the maid is going to remove all 'video' or 'game' tagged files and directories.Any other commands is OK as wellBy default the maid will do a sweep -- remove all those files. Kyoufu!IdeasMultithreadingRemove type hintsTags based on timeHow does it affect other tags? If not why bother?Maybe not tag, but just metadataThere will be IO costGroup similarly named files: 01.jpg, 02.jpg, etc.Understand human language so they can toss away garbageOptionally clean up the database after sweeping.Single line mode: do the tag, sweep, and clean up database entries with a single command.Allow users to specify tags
Package: maidwhite
Maid White Python SDKInstall$ pip install maidwhiteUsagefrom maidwhite import MaidWhite


# Get client with username and password
m = MaidWhite("username", "password")

# Get client with access token
m = MaidWhite("access_token")


# Get device list
l = m.get_devices()

# find device
ac = [x for x in l if x.display_name == "My Device"]

if len(ac) == 0:
	print("device not found")

my_device = ac[0]


# Get state
state = my_device.get_state()
print(state)

# Set state
my_device.set_state({"power_status": "true"})


# Get power status
power_status = my_device.get_power_status()
print(power_status)

# Set power status
my_device.set_power_status(True)
Package: maige
maigeMaige is a package to generate images using mathematical functions, written in pure python. It uses numpy and matplotlib to create images and animations for different formulae. A user can provide their own functions that they would like to plot or use the inbuilt random function generator to generate outputs. A random algebraic function is generated using an Expression Tree that uses various functions provided by numpy. The user can also provide a set of points that they want to plot, instead of using the default set of points. Since the library is built on matplotlib, it can project the output in any projection that is accepted bymatplotlib.UsageBasic Usagefrommaige.generatorimportGeneratorg=Generator()g.generate_image()Projectionfrommaige.generatorimportGeneratorg=Generator(projection="rectilinear")g.generate_image()Custom Functionfrommaige.generatorimportGeneratorxfunc=lambdaX,Y:X**2*np.sin(Y**2)yfunc=lambdaX,Y:Y**3-np.cos(X**2)g=Generator(projection="rectilinear",xfunc=xfunc,yfunc=yfunc,)fig,ax=g.generate_image("./examples/custom_func.png")Custom Rangexfunc=lambdaX,Y:X**2*np.sin(Y**2)yfunc=lambdaX,Y:Y**3-np.cos(X**2)xrange=np.arange(0,np.pi,0.01)yrange=np.arange(0,np.pi,0.01)g=Generator(projection="polar",xfunc=xfunc,yfunc=yfunc,xrange=xrange,yrange=yrange,)fig,ax=g.generate_image("./examples/custom_range.png")Colorg=Generator(pointcolor="#000000",background="#FA7070",projection="polar",)fig,ax=g.generate_image("./examples/custom_color.png")Animationxfunc=lambdaX,Y:X**2*np.sin(Y**2)yfunc=lambdaX,Y:Y**3-np.cos(X**2)xrange=np.arange(0,np.pi,0.01)yrange=np.arange(0,np.pi,0.01)g=Generator(pointcolor="#ffffff",background="#000000",projection="polar",xfunc=xfunc,yfunc=yfunc,)g.generate_animation("./examples/anim_example.gif",init_cond="uniform")ReproducibilityImages and animations can be reproduced by using the JSON stored on the first creation. One can also pass an integer seed to reproduce the same designs over multiple runs.frommaige.generatorimportGeneratorg=Generator(seed="./examples/rectilinear.json",)fig,ax=g.generate_image("./examples/rectilinear_2.png")InstallationPyPImaigecan be installed directly from PyPI by usingpiporpipenvpipinstallmaigeorpipenvinstallmaigeSourcePipfileandrequirements.txtare provided to install virtual environment usingpipenvorpip. This can be done by following steps:$gitclonehttps://github.com/chahak13/maige.git
$cdmaige
$pipenvshell
$pipenvinstallIf you'repipinstead ofpipenv, change the last command topip install -r requirements.txt.
Package: maigret
MaigretThe Commissioner Jules Maigret is a fictional French police detective, created by Georges Simenon. His investigation method is based on understanding the personality of different people and their interactions.AboutMaigretcollect a dossier on a personby username only, checking for accounts on a huge number of sites and gathering all the available information from web pages. No API keys required. Maigret is an easy-to-use and powerful fork ofSherlock.Currently supported more than 2500 sites (full list), search is launched against 500 popular sites in descending order of popularity by default. Also supported checking of Tor sites, I2P sites, and domains (via DNS resolving).Main featuresProfile pages parsing,extractionof personal info, links to other profiles, etc.Recursive search by new usernames and other ids foundSearch by tags (site categories, countries)Censorship and captcha detectionRequests retriesSee full description of Maigret featuresin the documentation.InstallationMaigret can be installed using pip, Docker, or simply can be launched from the cloned repo.Standalone EXE-binaries for Windows are located inReleases sectionof GitHub repository.Also you can run Maigret using cloud shells and Jupyter notebooks (see buttons below).Package installingNOTE: Python 3.7 or higher and pip is required,Python 3.8 is recommended.# install from pypipip3installmaigret# or clone and install manuallygitclonehttps://github.com/soxoj/maigret&&cdmaigret
pip3install.# usagemaigretusernameCloning a repositorygitclonehttps://github.com/soxoj/maigret&&cdmaigret
pip3install-rrequirements.txt# usage./maigret.pyusernameDocker# official imagedockerpullsoxoj/maigret# usagedockerrunsoxoj/maigret:latestusername# manual builddockerbuild-tmaigret.Usage examples# make HTML and PDF reportsmaigretuser--html--pdf# search on sites marked with tags photo & datingmaigretuser--tagsphoto,dating# search for three usernames on all available sitesmaigretuser1user2user3-aUsemaigret --helpto get full options description. Also optionsare documented.Demo with page parsing and recursive username searchPDF report,HTML reportFull console outputLicenseMIT ©MaigretMIT ©Sherlock ProjectOriginal Creator of Sherlock Project -Siddharth Dushantha
Package: mail1
Mail1 is an API to send email with a single function call. For instance,
we could send an email running:import mail1

mail1.send(subject='Test',
           text='This is a test!',
           recipients='casa@sweetohm.net',
           sender='casa@sweetohm.net',
           smtp_host='smtp.orange.fr')That’s it!send() methodThe signature of the method to send an email is the following:send(subject, text, text_html=None, sender=None,
     recipients=[None], cc=[], bcc=[], attachments={},
     encoding=ENCODING, smtp_host=SMTP_HOST, smtp_port=SMTP_PORT,
     username=None, password=None)The parameters are the following:subject: this is the subject of the email, as a string.text: this is the text of the email as a string.text_html: text as HTML.sender: email address of the sender of the email.recipients: the list of recipients, or the recipient as a string
if there is a single one (this is NOT a coma separated list).cc: the list of carbon copies.bcc: the list of blind carbon copies.attachments: a dictionnary that gives the file name for a given
attachment name.encoding: the encoding of the message.smtp_host: the hostname of the email server.smtp_port: the port of the email server (defaults to 25).username: the username for SMTP basic authenticationpassword: the password for SMTP basic authenticationIf not set, SMTP host, username and password are extracted from
environment variablesMAIL_SMTP,MAIL_USERNAMEandMAIL_PASSWORD.Command lineYou can also invoke this script on command line to send emails. To get
help about command line parameters, typemail1 -h, which will display
following help page:mail1 [-h] -f from -r recipient -s subject -a file
           -m smtphost -e encoding message
Send an email with following:
-h            Print this help page
-f from       The mail sender
-r recipient  The mail recipient (repeat for more than one recipient)
-s subject    The mail subject
-a file       A file to attach
-e encoding   The encoding to use
-m smtphost   The SMTP server host
-u username   The SMTP username
-p password   The SMTP password
message       The messageIf not passed on command line, SMTP host, username and password are
extracted from environment variablesMAIL_SMTP,MAIL_USERNAMEandMAIL_PASSWORD.Enjoy!
Package: mail263-w
demoimportsslfromclient_263importMail263Clientif__name__=='__main__':ssl_context=ssl.create_default_context()# don't check if certificate hostname doesn't match target hostnamessl_context.check_hostname=False# don't check if the certificate is trusted by a certificate authorityssl_context.verify_mode=ssl.CERT_NONEwithMail263Client('imap.263.net','your_email','your_password',ssl_context=ssl_context)asclient:# rule_dict = {#     'rule_name': '规则标题',#     'sender': {'cond': 'include', 'text': sender_email},#     'recipient': {'cond': 'not include', 'text': recipient_email},#     'subject': {'cond': 'include', 'text': '估值表'},#     'size': {'cond': '>=', 'num': 20},#     'action': {'type': 'move', 'folder_name': 'TEST'}# }# resq = client.set_mail_rule(rule_dict)# resq = client.create_263mail_folder(folder_name)# mail_list = cliend.get_mails(folder_name,status='UNSEEN')[0]
Package: mail2beyond
Mail2BeyondMail2Beyond is a Python-based SMTP server designed to redirect incoming SMTP messages to upstream APIs such as
Google Chat, Slack, or even your own API! This includes a command line interface (CLI) that can be used to run
Mail2Beyond as a standalone server, as well as a Python package that you can use to extend or integrate into your own
applications.InstallationTo install Mail2Beyond, simply run the following command:pip install mail2beyondUsageBefore starting the Mail2Beyond server, you mustcreate your configuration file. Once you have
your configuration file ready, you can start the server by running:mail2beyond --config /path/to/your/config.ymlDeveloper DocumentationAPI ReferenceHow is This Useful?Emails are often ignored due to the amount of spam we receive on a daily basis. Many systems and applications use SMTP
to send mail alerts, notices and other information that may be important. This commonly causes important information to
be overlooked or outright ignored. At the same time, many organizations are using real-time messaging services like
Google Chat and Slack on a daily basis. Mail2Beyond allows you to redirect these important messages to these services
to help keep your teams informed!Beyond messaging services, Mail2Beyond can also be extended to include connectors to your own APIs to build out complex
automation flows based on incoming SMTP messages.How Does Mail2Beyond Work?Mail2Beyond continually listens for incoming SMTP messages. When a message is received, the message is parsed and checked
against a set of admin configured mappings that dictate which API connector is to be used. Mappings define which SMTP
headers should be checked for a specific regular expression match. When a match is found, the email contents are parsed
and sent to the upstream API using the connector specified in the mapping.
Package: mail2gg
mail2ggEmail to Google Group migration toolIt provides simple cli tools devised to support migrations or email imports to a Google Group:imap2ggmbox2ggIt uses theGroups Migration API, aGoogle Developers Console projectwith theGoogle Groups serviceenabled will be needed. For more information review theprerequisites.The first execution will start anOAuth2 Google Authentication Flowto initialize and store your grants.Highly inspired byhttps://gist.github.com/pecigonzalo/c147e3f174fca90bec66efbd9eb24ad3.InstallJust use pip to install it!pip install mail2ggimap2gg__                        ______
|__|.--------.---.-.-----.|__    |.-----.-----.
|  ||        |  _  |  _  ||    __||  _  |  _  |
|__||__|__|__|___._|   __||______||___  |___  |
                   |__|           |_____|_____|Import an IMAP mailbox to a Google GroupIfpasswordis not provided will prompt for itclient_idandclient_secretare just needed the first time. The authorization file.credentialswill be created and reused
Default query is 'ALL'. Examples: 'SEEN', 'UNSEEN'. Seehttps://github.com/ikvk/imap_tools/blob/master/README.rst#search-criteriafor more filtersErrors are logged to stdout and embeded intoerror.mboxfile.For more info run$ imap2gg --helpExamplesImport everything from my IMAP server$ imap2gg example@googlegroups.com myimapserver.com example@myimapserver.com aPassword --client_id=11111111-asjdhasjdkhasdjkhasjkh12.apps.googleusercontent.com --client_secret=4JHsadhj23jhasdjImport everything from a gmail account$ imap2gg another@googlegroups.com imap.gmail.com example@gmail.com aPassword --client_id=11111111-asjdhasjdkhasdjkhasjkh12.apps.googleusercontent.com --client_secret=4JHsadhj23jhasdjImport just unseen emails:$ imap2gg another@googlegroups.com imap.gmail.com example@gmail.com aPassword --query='UNSEEN'mbox2gg__                 ______
.--------.|  |--.-----.--.--.|__    |.-----.-----.
|        ||  _  |  _  |_   _||    __||  _  |  _  |
|__|__|__||_____|_____|__.__||______||___  |___  |
                                     |_____|_____|Import an mbox file to a Google Groupclient_idandclient_secretare just needed the first time. The authorization file.credentialswill be created and reusedErrors are logged to stdout and embeded intoerror.mboxfile.For more info run$ mbox2gg --helpExamplesImport everything from mailbox.mbox toexample@googlegroups.com$ mbox2gg example@googlegroups.com mailbox.mbox --client_id=11111111-asjdhasjdkhasdjkhasjkh12.apps.googleusercontent.com --client_secret=4JHsadhj23jhasdj
Package: mail2mongo
InfoSimple SMTP daemon which can save incoming emails to MongoDB and send it to WebSocket.You should own domain name, MX record and nginx.Install$pip3installmail2mongoRun$mail2mongo--help
usage:main.py[-h][-mMONGO_URI][-dbDB_NAME][-cnCOL_NAME][-apAPI_PORT][-spSMTP_PORT]-dDOMAINS[DOMAINS...]Saveincomingemailstomongodb

optionalarguments:-h,--helpshowthishelpmessageandexit-mMONGO_URI,--mongoMONGO_URIMongoURI(default:mongodb://localhost)-dbDB_NAME,--db-nameDB_NAMEMongodatabase(default:mail2mongo)-cnCOL_NAME,--col-nameCOL_NAMEMongocollectionname(default:emails)-apAPI_PORT,--api-portAPI_PORTAPIport(default:8080)-spSMTP_PORT,--smtp-portSMTP_PORTSMTPDport(default:8025)-dDOMAINS[DOMAINS...],--domainsDOMAINS[DOMAINS...]Alloweddomains(default:[])Argument-d/--domainsrequired! It's a domain names list which you own.From python package$mail2mongo-dexample.com-mmongodb://192.168.0.100:27017From Docker image$dockerrun-p8080:8080-p8025:8025inn0kenty/mail2mongo-dexample.com-mmongodb://192.168.0.100:27017nginxFile/etc/nginx/nginx.confshould contains:mail {
    server_name <Your MX record>;

    auth_http <local ip:port>/nginx-auth;

    proxy_pass_error_message off;

    server {
        listen 25;
        protocol smtp;
        proxy on;
        smtp_auth none;
        xclient off;
    }
}The MX record usually has the formmail.example.comwhereexample.comyour domain name. Themail.example.commust be resolved to your ip address.Local ip:port - local ip address and port (api_port, default 8080).WebSocketYou can use WebSocket on/wsurl. Also you should provide email address.Exampleimportasyncioimportaiohttpasyncdefmain():asyncwithaiohttp.ClientSession()assession:asyncwithsession.ws_connect('ws://127.0.0.1:8080/ws?email=foo@example.com')asws:asyncformsginws:ifmsg.type==aiohttp.WSMsgType.TEXT:print(msg.json())else:breakloop=asyncio.get_event_loop()loop.run_until_complete(main())You can get messages of two types:If something go wrong:{'type': 'error', 'payload': {'msg': 'Error message'}}If you receive new email:{'type': 'new_mail', 'payload': {'from': 'root@google.com', 'to': 'foo@example.com', 'subject': 'Foo bar', 'text': 'Some message', 'timestamp': '1970-01-01T00:00:00.000000+00:00', '_id': '5ae0988c754ea76f22935378'}}_id-ObjectIdin MongoDB.Similar payload saved to MongoDB.If for some reason MongoDB is down, service will continue try to save payload to mongo. At each next step service will be double sleep time (default is 60 seconds).
Package: mailadm
mailadm is an administration tool for creating and removing e-mail accounts
(especially temporary accounts) on amailcowmail
server. This makes creating an email account as easy as scanning a QR code.The general idea of how it works:Admins generate an “account creation token”, which can be displayed as a QR
codeA soon-to-be user uses an email client to scan the QR code, which sends a
web request to mailadmmailadm creates the account and sends the password to the Delta Chat app,
the user is automatically logged in to the new accountmail clients with mailadm supportSo far only theDelta Chat messengersupports mailadm.setup & usageSee thedocs/index.rstfile orhttps://mailadm.readthedocs.iofor more info.
Package: mailblaster
█▄ ▄█ ▄▀▄ █ █   ██▄ █   ▄▀▄ ▄▀▀ ▀█▀ ██▀ █▀▄ 
 █ ▀ █ █▀█ █ █▄▄ █▄█ █▄▄ █▀█ ▄██  █  █▄▄ █▀▄ 
    Send many emails from many accountsDownload this repogit clone https://github.com/prim4t/mailblaster.gitgo to mailblaster/mailblastercd mailblaster/mailblasteradd your Email creddentials in mailblaster/mailblaster/sender.txtadd recepients in mailblaster/mailblaster/recipient.txtRun the script mailblaster/mailplaster/mailblaster.pypython3 mailblaster.py
Package: mailblog
mailblogblog posts by sending emails to a nominated address.Installationpip install mailblogIf you want to modify code or templates, you need "development mode"git clone https://github.com/ihaywood3/mailblog
cd mailblog
pip install -e .This provides a commandmailblog, runmailblog -hto see the full
options.Databasemailbloguses a SQLite database, which must be initialised:mailblog create.MailserverYour system's mailserver must be configured to run the commandmailblog mailand send the incoming e-mail on standard input when an e-mail is sent to the address you
want to associate with the blogging service.I usemaildrop, the relevant part of my recipe is:if (/^To:.*world@haywood.id.au/)
{
    cc $HOME/Mail/.World
    to "|mailblog mail"
}NOTE:mailblogitself will accept an e-mail from anyone on the Internet and create
a blog for them. Consequently you need either a spam filter or a fixed list of allowed senders
that it is checked beforemailblog mailis run. I have written a Bayesian spam filter
in Python:spamprobe.pyWebservermailblogdoes not serve Web pages, it generates HTML files and writes to a directory
(by default$HOME/public_htmlbut can be changed with the-ooption.A webserver must then be configured to serve these files under the URL path/blog/This can't be changed currently.Here is my Apache configuration:Alias /blog /home/ian/public_html
<Directory /home/ian/public_html >
	order allow,deny
	allow from all
</Directory>CSSThe generated HTML loads its stylesheet fromblog/style.css.  A basicstyle.cssis
provided in the source repository, this, or your own stylesheet, must be copied to the Web
directory.Demonstration ServerThis is runninghere
Package: mailbomb
mailbombA python package to send corporate amounts of email quickly and easilyThis python package (for Python 3.6) allows you to quickly send massive amounts of email to your customers.InstallationThe package is available for install frompip:pip3 install mailbombAnd then you are good to go.UsageImport the package in your Python script like so:import mailbomb.Mailbomb as mb

nuke = mb.Mailbomb(host='smtp.example.com', port=465,
    login='user@example.com', key='vErYsEcReTpAsSkEy')
nuke.load_target_list('targets.txt')        # Read targets line by line from a .txt-file
nuke.add_target('target@targetdomain.com')  # Add a target manually
nuke.remove_duplicate_targets()             # Removes duplicate targets
nuke.exclude_targets('exclude_list.txt')    # Excludes targets line by line from the specified .txt-file
nuke.add_header('From', 'Anonymous Attacker <anonymous@attacker.com>')
nuke.add_header('Subject', 'You are being nuked. Enjoy!')
nuke.add_header('Reply-To', 'Anonymous Attacker #2 <other@attacker.com>')
nuke.load_html_message('message.html')
nuke.starttls()
nuke.launch_agents(50)
nuke.terminate()And the nuke will be launched. Details on adding target email addresses will follow soon as this functionality has not yet been implemented.UninstallationUninstall the package usingpip:pip3 uninstall mailbombThank you for using this Python package!
Package: mailbot
MailBot: register callbacks to be executed on mail reception.Authors: Mathieu Agopian andcontributorsLicence: BSDCompatibility: Python 2.7 and Python 3.3Project URL:https://github.com/magopian/mailbotDocumentation:http://mailbot.rtfd.org/HackingSetup your environment:git clone https://github.com/magopian/mailbot.git
cd mailbotHack and run the tests usingToxto test
on all the supported python versions:make testThere’s also a live test suite, that you may run using the following command:make livetestPlease note that to run live tests, you need to create alivetest_settings.pyfile with the following content:# mandatory
HOST = 'your host here'
USERNAME = 'your username here'
PASSWORD = 'your password here'

# optional
# check http://imapclient.readthedocs.org/en/latest/#imapclient.IMAPClient)
PORT = 143  # port number, usually 143 or 993 if ssl is enabled
USE_UID = True
SSL = False
STREAM = FalseFor convenience, you can copy the provided sample, and modify it:$ cp livetest_settings.py.sample livetest_settings.pyChangelog0.3 (2013-03-28)compatible python 3.30.2 (2013-03-28)automatically decode headers, allowing for unicode subjects, senders,
recipients, CCs and bodynew timeout parameter: mails in the processing state for longer than this
timeout will be reprocesseduse SEEN and FLAGGED to manage mail states (not processed, processing,
processed)captures from the rules’ regexps available in Callback.matches (previously,
this was storing MatchObjects)0.1 (2013-03-20)first version
Package: mailbox
Mailbox - Python IMAP for Humans=======Python library for reading IMAP mailboxes and converting the email content to human readable dataInstallation============pip install mailboxorgit clone git@github.com:martinrusev/mailbox.gitpython setup.py installUsage=====from mailbox import MailBoxmailbox = MailBox('imap.gmail.com',username='username',password='password',ssl=True)# Gets all messagesall_messages = mailbox.messages()# Unread messagesunread_messages = mailbox.messages(unread=True)for message in all_messages:........# Every message is an object with the following keysmessage.sent_frommessage.sent_tomessage.subjectmessage.headersmessage.message-idmessage.datemessage.text_body# To check all available keysprint message.keys()# To check the whole object, just writeprint message{'headers':[{'Name': 'Received-SPF','Value': 'pass (google.com: domain of ......;'},{'Name': 'MIME-Version','Value': '1.0'}],'text_body': ['ASCII'],'date': u 'Fri, 26 Jul 2013 10:56:26 +0300','message-id': u '51F22BAA.1040606','sent_from': [{'name': u 'Martin Rusev','email': 'martin@amon.cx'}],'sent_to': [{'name': u 'John Doe','email': 'john@gmail.com'}],'subject': u 'Hello John, How are you today'}TODO======- Replace the dictionaries with objects and generators- Add logging and exceptions- Implement smarter header parsing