.. | ||
README.md |
Pynecone рдХреА рддрд▓рд╛рд╢ рд╣реИрдВ? рдЖрдк рд╕рд╣реА рд░реЗрдкреЛ рдореЗрдВ рд╣реИрдВред Pynecone рдХрд╛ рдирд╛рдо Reflex рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред + +
тЬи рдкреНрд░рджрд░реНрд╢рдирдХрд╛рд░реА, рдЕрдиреБрдХреВрд▓рд┐рдд рд╡реЗрдм рдРрдкреНрд╕, рд╢реБрджреНрдз Python рдореЗрдВред рд╕реЗрдХрдВрдбреЛрдВ рдореЗрдВ рддреИрдирд╛рдд рдХрд░реЗрдВред тЬи
English | чоАф╜Уф╕нцЦЗ | ч╣БщлФф╕нцЦЗ | T├╝rk├зe | рд╣рд┐рдВрджреА | эХЬъ╡ньЦ┤ | цЧецЬмшкЮ | Deutsch | Persian (┘╛╪з╪▒╪│█М)
Reflex
Reflex рд╢реБрджреНрдз рдкрд╛рдпрдерди рдореЗрдВ рдкреВрд░реНрдг-рд╕реНрдЯреИрдХ рд╡реЗрдм рдРрдкреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред
рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ:
- рд╢реБрджреНрдз рдкрд╛рдпрдерди - рдЕрдкрдиреЗ рдРрдк рдХреЗ рдлреНрд░рдВрдЯрдПрдВрдб рдФрд░ рдмреИрдХрдПрдВрдб рдХреЛ рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реАрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
- рдкреВрд░реНрдг рд▓рдЪреАрд▓рд╛рдкрди - Reflex рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬрдЯрд┐рд▓ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рднреА рд╕реНрдХреЗрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
- рддреБрд░рдВрдд рддреИрдирд╛рддреА - рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рдЕрдкрдиреЗ рдРрдк рдХреЛ рдПрдХрд▓ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рддреИрдирд╛рдд рдХрд░реЗрдВ рдпрд╛ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд░реЗрдВред
Reflex рдХреЗ рдЕрдВрджрд░ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкреЗрдЬ рдХреЛ рджреЗрдЦреЗрдВред
тЪЩя╕П рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди (Installation)
рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВ (Python 3.10+ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ):
pip install reflex
ЁЯе│ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдРрдк рдмрдирд╛рдПрдВ (Create your first App)
reflex рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рд╣реА reflex рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕рдлрд▓ рдереА, рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдХрд░ рдЗрд╕реЗ рдЯреЗрд╕реНрдЯ рдХрд░реЗрдВред ('my_app_name' рдХреА рдЬрдЧрд╣ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд░рдЦреЗрдВ):
mkdir my_app_name
cd my_app_name
reflex init
рдпрд╣ рдХрдорд╛рдВрдб рдЖрдкрдХреА рдирдпреА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдРрдк рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИред
рдЖрдк рдЗрд╕ рдРрдк рдХреЛ development рдореЛрдб рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
reflex run
рдЖрдкрдХреЛ http://localhost:3000 рдкрд░ рдЕрдкрдиреЗ рдРрдк рдХреЛ рдЪрд▓рддреЗ рд╣реБрдП рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдм рдЖрдк my_app_name/my_app_name.py рдореЗрдВ source рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Reflex рдореЗрдВ рддреЗрдЬ рд░рд┐рдлреНрд░реЗрд╢ рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЖрдк рдЕрдкрдиреА рдХреЛрдб рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рддреБрд░рдВрдд рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
ЁЯлз рдЙрджрд╛рд╣рд░рдг рдРрдк (Example App)
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ: DALL┬╖E рд╕реЗ рдПрдХ рдЗрдореЗрдЬ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП UIред рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рд┐рд░реНрдл OpenAI API рдХреЛ рдмреБрд▓рд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ ML рдореЙрдбрд▓ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ locallyред
┬а

┬а
рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдм рдПрдХ рд╣реА Python рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ!
import reflex as rx
import openai
openai_client = openai.OpenAI()
class State(rx.State):
"""The app state."""
prompt = ""
image_url = ""
processing = False
complete = False
def get_image(self):
"""Get the image from the prompt."""
if self.prompt == "":
return rx.window_alert("Prompt Empty")
self.processing, self.complete = True, False
yield
response = openai_client.images.generate(
prompt=self.prompt, n=1, size="1024x1024"
)
self.image_url = response.data[0].url
self.processing, self.complete = False, True
def index():
return rx.center(
rx.vstack(
rx.heading("DALL-E", font_size="1.5em"),
rx.input(
placeholder="Enter a prompt..",
on_blur=State.set_prompt,
width="25em",
),
rx.button(
"Generate Image",
on_click=State.get_image,
width="25em",
loading=State.processing
),
rx.cond(
State.complete,
rx.image(src=State.image_url, width="20em"),
),
align="center",
),
width="100%",
height="100vh",
)
# Add state and page to the app.
app = rx.App()
app.add_page(index, title="Reflex:DALL-E")
рдЗрд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВред

Reflex UI
рд╣рдо UI рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред
def index():
return rx.center(
...
)
рдпрд╣ index
рдлрд╝рдВрдХреНрд╢рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдлрд╝реНрд░рдВрдЯрдПрдВрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╣рдо рдлрд╝реНрд░рдВрдЯрдПрдВрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП center
, vstack
, input
, рдФрд░ button
рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди components рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред Components рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рднреАрддрд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд▓реЗрдЖрдЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдФрд░ рдЖрдк CSS рдХреА рдкреВрд░реА рддрд╛рдХрд╝рдд рдХреЗ рд╕рд╛рде рдЗрдиреНрд╣реЗрдВ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреАрд╡рд░реНрдб рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯ (keyword args) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд░рд┐рдлрд╝реНрд▓реЗрдХреНрд╕ рдХреЗ рдкрд╛рд╕ 60+ built-in components рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд╢реБрд░реБрдЖрддреА рдорджрдж рдХреЗ рд▓рд┐рдП рд╣реИрдВред рд╣рдо рдмрд╣реБрдд рд╕реЗ components рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ components рдмрдирд╛рдирд╛ рднреА рдЖрд╕рд╛рди рд╣реИред create your own components
рд╕реНрдЯреЗрдЯ (State)
Reflex рдЖрдкрдХреЗ UI рдХреЛ рдЖрдкрдХреА рд╕реНрдЯреЗрдЯ (state) рдХреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред
class State(rx.State):
"""The app state."""
prompt = ""
image_url = ""
processing = False
complete = False
рд╕реНрдЯреЗрдЯ (state) рдРрдк рдореЗрдВ рдЙрди рд╕рднреА рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ (vars) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рдмрджрд▓ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдЙрди рдлрд╝рдВрдХреНрд╢рдиреЛрдВ рдХреЛ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред
рдпрд╣рд╛рдВ рд╕реНрдЯреЗрдЯ (state) рдореЗрдВ prompt
рдФрд░ image_url
рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреНрд░рдЧрддрд┐ рдФрд░ рдЫрд╡рд┐ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП processing
рдФрд░ complete
рдмреВрд▓рд┐рдпрди рднреА рд╣реИрдВред
рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ (Event Handlers)
def get_image(self):
"""Get the image from the prompt."""
if self.prompt == "":
return rx.window_alert("Prompt Empty")
self.processing, self.complete = True, False
yield
response = openai_client.images.generate(
prompt=self.prompt, n=1, size="1024x1024"
)
self.image_url = response.data[0].url
self.processing, self.complete = False, True
рд╕реНрдЯреЗрдЯ (state) рдХреЗ рдЕрдВрджрд░, рд╣рдо рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ (event handlers) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕реНрдЯреЗрдЯ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВред рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ (event handlers) рд╕реЗ reflex рдореЗрдВ рд╕реНрдЯреЗрдЯ (state) рдХреЛ рдореЙрдбрд┐рдлрд╝рд╛рдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИрдВред рдЗрдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛рдУрдВ (user actions) рдХреЗ рдкреНрд░рддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ (response) рдХреЗ рд░реВрдк рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдмрдЯрди рдХреЛ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдпрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рдирд╛ред рдЗрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЗрд╡реЗрдВрдЯреНрд╕ (events) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ DALL┬╖E. рдРрдк рдореЗрдВ рдПрдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ get_image
рд╣реИ рдЬрд┐рд╕рд╕реЗ рдпрд╣ OpenAI API рд╕реЗ рдЗрдореЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ yield
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд┐ рд╡рдЬрд╣ рд╕реЗ UI рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЕрдиреНрдпрдерд╛ UI рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛ред
рд░реВрдЯрд┐рдВрдЧ (Routing)
рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
app = rx.App()
рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдЯ рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдХреЙрдореНрдкреЛрдиреЗрдВрдЯ рддрдХ рдПрдХ рдкреЗрдЬ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╣рдо рдПрдХ рд╢реАрд░реНрд╖рдХ рднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рдкреЗрдЬ рдкреНрд░реАрд╡реНрдпреВ/рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреИрдм рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
app.add_page(index, title="DALL-E")
рдЖрдк рдФрд░ рдкреЗрдЬ рдЬреЛрдбрд╝рдХрд░ рдПрдХ рдорд▓реНрдЯреА-рдкреЗрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
ЁЯУС рд╕рдВрд╕рд╛рдзрди (Resources)
ЁЯУС рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ ┬а | ┬а ЁЯЧЮя╕П рдмреНрд▓реЙрдЧ ┬а | ┬а ЁЯУ▒ рдХреЙрдореНрдкреЛрдиреЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА ┬а | ┬а ЁЯЦ╝я╕П рдЧреИрд▓рд░реА ┬а | ┬а ЁЯЫ╕ рддреИрдирд╛рддреА ┬а
тЬЕ рд╕реНрдЯреЗрдЯрд╕ (Status)
Reflex рджрд┐рд╕рдВрдмрд░ 2022 рдореЗрдВ Pynecone рдирд╛рдо рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖред
рдлрд░рд╡рд░реА 2024 рддрдХ, рд╣рдорд╛рд░реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ рдЕрд▓реНрдлрд╛ рдореЗрдВ рд╣реИ! рдЗрд╕ рд╕рдордп рдХреЛрдИ рднреА рдЕрдкрдиреЗ рдРрдкреНрд╕ рдХреЛ рдореБрдлреНрдд рдореЗрдВ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рджреЗрдЦреЗрдВ рд╣рдорд╛рд░реА рд░реЛрдбрдореИрдк рдпреЛрдЬрдирд╛рдмрджреНрдз рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдПред
Reflex рдореЗрдВ рд╣рд░ рд╕рдкреНрддрд╛рд╣ рдирдП рд░рд┐рд▓реАрдЬрд╝ рдФрд░ рдлреАрдЪрд░реНрд╕ рдЖ рд░рд╣реЗ рд╣реИрдВ! рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ тнР рд╕реНрдЯрд╛рд░ рдФрд░ ЁЯСА рд╡реЙрдЪ рдЗрд╕ рд░реЗрдкреЛрдЬрд┐рдЯрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдПред
(рдпреЛрдЧрджрд╛рди) Contributing
рд╣рдо рд╣рд░ рддрд░рд╣ рдХреЗ рдпреЛрдЧрджрд╛рди рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддреЗ рд╣реИрдВ! рд░рд┐рдлреНрд▓реЗрдХреНрд╕ рдХрдореНрдпреВрдирд┐рдЯреА рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╣реИрдВред
- Join Our Discord (рдбрд┐рд╕реНрдХреЙрд░реНрдб рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝реЗрдВ): Our Discord рд╣рдорд╛рд░рд╛ рдбрд┐рд╕реНрдХреЙрд░реНрдб рд░рд┐рдлреНрд▓реЗрдХреНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЖрдк рдХреИрд╕реЗ рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рд╣реИред
- GitHub Discussions (рдЧрд┐рдЯрд╣рдм рдЪрд░реНрдЪрд╛рдПрдБ): рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдРрд╕реА рдЪреАрдЬрд╝реЗрдВ рдЬреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реИрдВ/рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- GitHub Issues (рдЧрд┐рдЯрд╣рдм рд╕рдорд╕реНрдпрд╛рдПрдВ): рдпреЗ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЖрдк рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдкреАрдЖрд░ рд╕рдмрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рдЖрдкрдХрд╛ рдХреМрд╢рд▓ рд╕реНрддрд░ рдпрд╛ рдЕрдиреБрднрд╡ рдХреБрдЫ рднреА рд╣реЛредрдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CONTRIBUTING.md рджреЗрдЦреЗрдВред
рд╣рдорд╛рд░реЗ рд╕рднреА рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж:
рд▓рд╛рдЗрд╕реЗрдВрд╕ (License)
рд░рд┐рдлреНрд▓реЗрдХреНрд╕ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╣реИ рдФрд░ рдЕрдкрд╛рдЪреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ 2.0 рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИред