Getting Started
Requirements and Installation
python >= 3.10
pip install Pymaidol -i https://pypi.python.org/simple
The First Pymaidol Template
Creating a Template File
First, assume you have created a folder named pymaidol_test. Open the folder as the working directory using an editor or IDE.
Open the command line in the pymaidol_test folder and enter the following command:
python -m pymaidol -n FirstTemplate
FirstTemplate is the class name of the template. The command line will output the following content, and two files, FirstTemplate.pymd and FirstTemplate.py, will be generated in the folder:
Success: file "FirstTemplate.pymd" created
Success: file "FirstTemplate.py" created
Writing the Template Design File
First, replace all the contents in FirstTemplate.pymd with the following code:
from pymaidol import TemplateBase
from pymaidol.AnnotationType import FULL_ANNOTATION_TYPE, AnnotationTypeEnum
class FirstTemplate(TemplateBase):
    def __init__(self, 
                 package_name:str, 
                 template: str | None = None, 
                 template_file_path: str | None = None, 
                 supported_annotation_types: list[AnnotationTypeEnum] = FULL_ANNOTATION_TYPE,
                 disable_annotation_types: list[AnnotationTypeEnum] = []) -> None:
        super().__init__(template, template_file_path, supported_annotation_types, disable_annotation_types)
        self.package_name = package_name
        
def main():
    template = FirstTemplate("Pymaidol")
    string = template.Render({"says": "Hello World"})
    print(string)
    
if __name__ == "__main__":
    main()
This code mainly modifies the following parts:
- Adds the package_nameattribute to theFirstTemplateclass.
- Adds the mainfunction to instantiate theFirstTemplateclass. Thepackage_nameparameter is passed to the constructor of theFirstTemplateclass with a value ofPymaidol.
- Calls the Rendermethod and passes a dictionary{"says": "Hello World"}to it.
Then, replace all the contents in the FirstTemplate class with the following code:
@{import time}
Now (@(time.ctime())), Say "@(says)" using @(self.package_name)!
Run FirstTemplate.py, and the command line will output the following content:
Now (Tue May 23 19:21:19 2023), Say "Hello World" using Pymaidol!