extends base
block content
section.section
.container
.columns.is-centered
.column.is-6.is-desktop
form(action="upload-target", method="POST", encType="multipart/form-data")
.field
label.label Name
p.content.has-text-justified
| This name will be the name you will see on
| the leaderboard. It also corresponds to the
| name of the module your AI will be on the
| server.
p.content.has-text-justified
| You can use an already existing name to
| replace it with a new version of your AI.
input.input(type="text", name="name", placeholder="Name of your AI")
.fielg
label.label Password
p.content.has-text-justified
| This password will allow you to update your
| AI. If the name you specify is not used,
| this password can be anything you want. If
| the name you specify already exists, you need
| to enter the password you entered when you
| uploaded the AI the first time.
input.input(type="password", name="password", placeholder="Password")
.field
label.label Archive
p.content.has-text-justified
| The archive to upload needs to contain a file
| named ai.py
which must contain a
| class named Ai
which must contain
| a constructor that takes no arguments (other
| than self or optional arguments).
p.content.has-text-justified
| It may also contain more files, such as
| binary files with neural network weights, or
| such as other python modules.
p.content.has-text-justified
| Please, use as few modules as possible. The
| server won't have pygame or matplotlib, so
| importing those kind of modules in your AI
| will crash the script.
p.content.has-text-justified
| Please note that this archive must not
| contain a directory, it must only contain the
| files.
.file.has-name
label.file-label
input.file-input(type="file", name="archive")
span.file-cta
span.file-icon
i.fas.fa-upload
span.file-label Choose a fileā¦
span.file-name
.field
input.button.is-link(type="submit", value="Submit")