mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
# Devtools
|
|
|
|
Textual comes with a command line application of the same name. The `textual` command is a super useful tool that will help you to build apps.
|
|
|
|
Take a moment to look through the available sub-commands. There will be even more helpful tools here in the future.
|
|
|
|
```bash
|
|
textual --help
|
|
```
|
|
|
|
## Run
|
|
|
|
You can run Textual apps with the `run` subcommand. If you supply a path to a Python file it will load and run the application.
|
|
|
|
```bash
|
|
textual run my_app.py
|
|
```
|
|
|
|
The `run` sub-command assumes you have a Application instance called `app` in the global scope of your Python file. If the application is called something different, you can specify it with a colon following the filename:
|
|
|
|
```
|
|
textual run my_app.py:alternative_app
|
|
```
|
|
|
|
!!! note
|
|
|
|
If the Python file contains a call to app.run() then you can launch the file as you normally would any other Python program. Running your app via `textual run` will give you access to a few Textual features such as dev mode which auto (re) loads your CSS if you change it.
|
|
|
|
## Console
|
|
|
|
When running any terminal application, you can no longer use `print` when debugging (or log to the console). This is because anything you write to standard output would typically overwrite application content, which generally makes an unreadable mess. Fortunately Textual supplies a debug console of it's own which has some super helpful features.
|
|
|
|
To use the console, open up 2 console emulators. In the first one, run the following:
|
|
|
|
```bash
|
|
textual console
|
|
```
|
|
|
|
In the other console, run your application using `textual run` and the `--dev` switch:
|
|
|
|
```bash
|
|
textual run my_app.py --dev
|
|
```
|
|
|
|
You should notice that the console will display information regarding the running application, such as events which are sent.
|
|
|
|
Anything you `print` from your application will be displayed in the console window. You can also call the `log()` method on App and Widget objects for advanced formatting. Try it with `self.log(self.tree)`.
|