A command-line interface for PyScript.
Quickly wrap Python scripts into a HTML template, pre-configured with PyScript.
❯ pyscript
Usage: pyscript [OPTIONS] COMMAND [ARGS]...
Command Line Interface for PyScript.
╭─ Options ──────────────────────────────────────────────────────────────────────────────────────╮
│ --version Show project version and exit. │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────────────────╮
│ create Create a new pyscript project with the passed in name, creating a new directory in the │
│ current directory. Alternatively, use `--wrap` so as to embed a python file instead. │
│ run Creates a local server to run the app on the path and port specified. │
╰────────────────────────────────────────────────────────────────────────────────────────────────╯
$ pip install pyscript
see the Developer setup section on CONTRIBUTING page
$ pyscript run <path_of_folder>
This will serve the folder path_of_folder
at localhost:8000
by default
and will open the URL in a browser window. Default is current directory if
path_of_folder
is not supplied.
To use a different port, use --port
option.
$ pyscript run <path_of_folder> --port 9000
To avoid opening a browser window, use --no-view
option.
$ pyscript run <path_of_folder> --no-view
$ pyscript create <name_of_app>
This will create a new directory named name_of_app
under the current directory.
The interactive prompts will further ask for information such as description of the app
,
name of the author
, email of the author
, etc. These of course can be provided via
options such as --author-name
etc. Use pyscript create --help
for more information.
The following files will be created:
index.html
: start page for the projectpyscript.toml
: project metadata and config filemain.py
: a "Hello world" python starter module
$ pyscript create --wrap <filename.py>
This will generate a project i.e. a new directory named filename
under the current directory.
Similar to the above, interactive prompts will further ask for metadata information.
The following files will be created:
index.html
: start page for the projectpyscript.toml
: project metadata and config filemain.py
: contains code offilename.py
This can be overridden with the -o
or --output
option:
$ pyscript create --wrap <filename.py> -o <another_filename.html>
i.e. the HTML file created in the above directory will now be named another_filename.html
The -c
or --command
option can be used to demo very simple cases.
By default, the name of the project folder created will be pyscript-command-app
with the HTML file named index.html
.
-o/--output
option can be used with the -c/--command
option to configure name of the project folder as well
as the name of the resulting HTML file.
By default, the content of index.html
will be a copy of templates/basic.html
, which is a jinja2 template.
-t/--template
option can be used to configure the name of the template file that will be used. Custom templates may be added to the templates
folder and referenced using this option.
When creating custom templates, make sure to include the pyscript core.css
stylesheet and core.js
module before invoking your python script.
$ pyscript create --wrap -c 'print("Hello World!")' -o <output_filename.html>
This will generate a project i.e. a new directory named output_filename
under the current directory.
Similar to the above, interactive prompts will further ask for metadata information.
The following files will be created:
output_filename.html
: start page for the projectpyscript.toml
: project metadata and config filemain.py
: contains code of the command string passed via-c/--command