рдкрд░рд┐рдЪрдп: рдЬрд╝реЗрди рдХреЗ рд▓рд┐рдП рд╕рднреА рдЯреВрд▓рд╕реНрдЯреИрдХреНрд╕ рдХрд╛ рдкреНрд░рдореБрдЦ рддрддреНрд╡ рдПрдХреНрд╕рдирд╕реНрдЯреЛрд░ - рдПрдХ рдРрд╕реА рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╣реЛрд╕реНрдЯ рдкрд░ рд╕рднреА рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП "рд╕рд╛рдорд╛рдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕" рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдПрдХ рдмрд╛рд░, C рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ libxs рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдереАред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдкрд╛рдЗрдерди рдмрд╛рдЗрдВрдбрд░реНрд╕ (xen.lowlevel.xs) рд╣реИрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдЗрд╡реЗрдВрдЯ рд╕рдмрд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд╕рд╛рде рдЙрд╕реЗ рдмрд╣реБрдд рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдпрд╣ рд╣рдореЗрдВ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рдФрд░ pyxs рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣рдорд╛рд░реА рдбрд┐рдорд╛рдВрдб рд╕реЗрд╡рд╛ рдкрд░ рд╣рдорд╛рд░реА рд╕реНрдореГрддрд┐ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреА рдЧрдИ рдереА, рдЬреЛ рд╣рдореЗрдВ рдПрдХреНрд╕рдирд╕реНрдЯреЛрд░, рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╣реА рдЖрд░рд╛рдорджрд╛рдпрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕реЗ рдПрд▓рдЬреАрдкреАрдПрд▓-рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд▓реЛрдЧреЛрдВ рдХреЛ рджреЗрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг
рд╕рд░рд▓ рдкрдврд╝реЗрдВ рдФрд░ рд▓рд┐рдЦреЗрдВ:
pyxs рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ
xs = рдЧреНрд░рд╛рд╣рдХ ():
xs ["/ foobar / a"] = "рдмрд╛рдЬ"
рдкреНрд░рд┐рдВрдЯ xs ["/ foobar / a"]
рджреВрд╕рд░рд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд░реНрдЧ рдХрдИ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП
рдореЙрдирд┐рдЯрд░ рд╣реИ , рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛:
pyxs рдЗрдВрдкреЛрд░реНрдЯ рдореЙрдирд┐рдЯрд░ рд╕реЗ
xs = рдореЙрдирд┐рдЯрд░ ():
xs.watch ("/ рд╕реНрдерд╛рдиреАрдп / рдбреЛрдореЗрди / 1")
xs.watch ("/ рд╕реНрдерд╛рдиреАрдп / рдбреЛрдореЗрди / 2")
рдЬрдмрдХрд┐ рд╕рдЪ:
рдкреНрд░рд┐рдВрдЯ xwawait ()
рд╣рдо рд╣рд░ рдмрд╛рд░ рдкрд╣рд▓реЗ рдпрд╛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВрдЧреЗред
рдЧрд┐рдердм рд▓рд┐рдВрдХ:
github.com/selectel/pyxsрдкреНрд░рд▓реЗрдЦрди:
pyxs.readthedocs.org