semvec/pypi-packages huggingface dataset:
cold-postman 0.1.9
A postman helps you to send cold mails
License: MIT
Requires Python: >=3.10,<4.0

# cold-postman  
**cold_postman** is a marketing tool to help users write cold mails in markdown and send them via a manageable csv file.


### Installation

`pip install cold_postman`


### Initialize the config

```bash
python -m cold_postman init db 
python -m cold_postman init config 
```
#### About `config.yaml`
```yaml
batch_num: 10 # mails sent per batch
password: ''  # password 
smtp_port: 587 # port
smtp_server: smtp.example.com # smtp server
user: 'example@example.com' # user mail
from: 'Mr.Example' 
unsubscribe:
  link: mailto:example@example.com # The link for List-Unsubscibe.
  subject: Unsubscribe # The subject if is a mailto link.
  message: I'd like to unsubscribe. # Default message of the mail.
alter_name: '' # The alternative name if blank in first_name + last_name. 
sending_limits: # [Optional], Volume of sending limits. Please refer to the smtp provider. 
  warning: 100  # [Optional], Warn on every N MB has sent. Default=100.
  pause: 280 # [Optional], paused job on N MB has sent. Defaul=290. 
```
#### About `control csv`

Control csv is the receiver list. Columns decribed as below:  
- `first_name`:  First name of the receiver.
- `last_name`:  Last name of the receiver.
- `email`:  Receiver's mail address.
- `last_sent`: Timestamp of last contact.
- `enabled`: (int) `[1, 0]`, `1`=*enabled*. `0`=*disabled*, which will be skiped while executing.  


### Send Mail
Command to start the sending task: 
```bash
# usage: __main__.py [-h] [-c CONFIG] [-d CRMDB] -m MESSAGE -t TITLE -s SIGNATURE [-a ATTACH]

# options:
#   -h, --help            show this help message and exit
#   -c CONFIG, --config CONFIG
#                         (Filepath) The file path of the config.
#   -d CRMDB, --crmdb CRMDB
#                         (Filepath) The file path of the crm DB.
#   -m MESSAGE, --message MESSAGE
#                         (Filepath) REQUIRED. The email content in markdown.
#   -t TITLE, --title TITLE
#                         (str) REQUIRED. The email title
#   -s SIGNATURE, --signature SIGNATURE
#                         (Filepath) REQUIRED. The signature in markdown
#   -a ATTACH, --attach ATTACH
#                         (Filepath) The attachment. 
#   -u UNSUBSCRIBE, --unsubscribe UNSUBSCRIBE
#                         (Bool) [True, False] Enable a unsubscribe link. Default=True
#   -i INTERVAL, --interval INTERVAL
#                         (Int) Interval (secs) between batchs. Default=10
python -m cold_postman -m message.md -t 'Subject of the Mail' -s signature.md -a attachment.zip
```  

### Prepare a markdown content
> The markdown content is converted to rtf via `markdown2`, which supports all the stardard syntax.    

The image wrapped in inline has to be written as following syntax.
```markdown
![image_cid](file_path.png)
```  
The alternative description will be applied as a cid in rtf, so please name it carefully and DO NOT be duplicated. To prevent from missing image, an absolute file path is recommended for attached image.
selventa-knowledge 1.1.2
Selventa Large and Small Corpora via PyBEL
License: MIT
Requires Python: >=3.6
Keywords: Biological Expression Language,BEL,Domain Specific Language,DSL,Systems biology,Networks biology,Drug repositioning

Selventa Knowledge
==================
Updated versions of the Selventa Small and Large Corpus

Licenses
--------
- Code in this repository is licensed under the MIT License
- Both the Selvanta Small Corpus and Selventa Large Corpus are distributed under
  the Creative Commons Attribution-Non-Commercial-ShareAlike 3.0 Unported
  License.

Installation
------------
``selventa_knowledge`` can be installed from `PyPI <https://pypi.org/project/selventa-knowledge>`_ with:

.. code-block:: sh

   $ pip install selventa-knowledge

``selventa_knowledge`` can be installed from `GitHub <https://github.com/cthoyt/selventa-knowledge>`_ with:

.. code-block:: sh

   $ pip install git+https://github.com/cthoyt/selventa-knowledge.git

Usage
-----
The combine graph can be loaded with:

.. code-block:: python

    >>> import selventa_knowledge
    >>> graph = selventa_knowledge.get_graph()

If you need granularity, you can load each graph in a dictionary where
all of the names of the files creating each graph are the keys and the
values are also BEL graphs with:

.. code-block:: python

    >>> import selventa_knowledge
    >>> graphs = selventa_knowledge.get_graphs()

The functions from each of the previous examples are simply
exposing the bound functions from the BELRepository object,
which can be accessed with:

.. code-block:: python

    >>> import selventa_knowledge
    >>> repository = selventa_knowledge.repository

If you want to use this knowledge with INDRA, there's a method:

.. code-block:: python

    >>> import selventa_knowledge
    >>> statements = selventa_knowledge.repository.get_indra_statements()

More BEL Content
----------------
See `A Listing of Publicly Available Content in the Biological Expression Language (BEL)
<https://cthoyt.com/2020/04/30/public-bel-content.html>`_ on Charles Tapley Hoyt's blog
for more BEL content.