You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* WiP: Move the devtools and related code to `textual-dev` (#2834)
* Remove the textual script from the project file
This is moving into the textual-dev package.
* Remove the textual CLI code from Textual
This has all gone to live in textual-dev.
* Remove the devtools testing from Textual's unit tests
They've moved over to textual-dev instead.
* Remove the devtools server from Textual itself
The start of the process to remove as much of the core devtools as possible
from Textual.
* Switch the console docs example screenshot over to textual_dev
* Remove rednerables.py from Textual
* Remove the last parts of devtools from Textual
This is the last step. It remains to be seen if this is sustainable, but for
testing purposes this is the extreme case we're aiming for. I *think* this
will work though.
Hereon we'll be needing to do an editable install of textual-dev into
textual, and more generally and once this is "live" we'll be needing to make
sure that textual[dev] is installed when doing development work on textual
apps.
The thing that remains to be seen however is how this all works
with *developing* Textual itself. Will I always need to do an editable
install? Still got to figure that one out.
* Start to whittle down the pyproject file
The next step is to try and work out what can come out of the pyproject
file.
* Remove aiohttp from Textual
* Remove some more development dependencies we don't need any more
* Relock
* Remove the pointer to the previews directory
* Reintroduce the border preview snapshot test
* Reintroduce the color preview snapshot test
* Reinstate the key press for the border preview snapshot test
* Reintroduce the easing preview snapshot test
* Reintroduce the keys tool snapshot test
* Add pytest-asyncio as a development dependency
* Relock
* Pin the textual-dev version to 0.1.0 or later
Mostly to try and get the tests kicked off properly.
* Relock dependencies
* Further `textual-dev` changes (#2850)
* Remove the textual script from the project file
This is moving into the textual-dev package.
* Remove the textual CLI code from Textual
This has all gone to live in textual-dev.
* Remove the devtools testing from Textual's unit tests
They've moved over to textual-dev instead.
* Remove the devtools server from Textual itself
The start of the process to remove as much of the core devtools as possible
from Textual.
* Switch the console docs example screenshot over to textual_dev
* Remove rednerables.py from Textual
* Remove the last parts of devtools from Textual
This is the last step. It remains to be seen if this is sustainable, but for
testing purposes this is the extreme case we're aiming for. I *think* this
will work though.
Hereon we'll be needing to do an editable install of textual-dev into
textual, and more generally and once this is "live" we'll be needing to make
sure that textual[dev] is installed when doing development work on textual
apps.
The thing that remains to be seen however is how this all works
with *developing* Textual itself. Will I always need to do an editable
install? Still got to figure that one out.
* Start to whittle down the pyproject file
The next step is to try and work out what can come out of the pyproject
file.
* Remove aiohttp from Textual
* Remove some more development dependencies we don't need any more
* Relock
* Remove the pointer to the previews directory
* Reintroduce the border preview snapshot test
* Reintroduce the color preview snapshot test
* Reinstate the key press for the border preview snapshot test
* Reintroduce the easing preview snapshot test
* Reintroduce the keys tool snapshot test
* Add pytest-asyncio as a development dependency
* Relock
* Pin the textual-dev version to 0.1.0 or later
Mostly to try and get the tests kicked off properly.
* Relock dependencies
* Whitespace cleaning
* Swap mentions of textual[dev] to textual-dev
* Remove the dev extra
* Tweak README.md in response to PR review
* Tweak animation.md in response to PR review
* Tweak getting_started.md in response to PR review
* bump version
* lock
* drop dev
* more
* version bump
---------
Co-authored-by: Dave Pearson <[email protected]>
Textual adds interactivity to [Rich](https://github.com/Textualize/rich) with an API inspired by modern web development.
34
34
35
-
On modern terminal software (installed by default on most systems), Textual apps can use **16.7 million** colors with mouse support and smooth flicker-free animation. A powerful layout engine and re-usable components makes it possible to build apps that rival the desktop and web experience.
35
+
On modern terminal software (installed by default on most systems), Textual apps can use **16.7 million** colors with mouse support and smooth flicker-free animation. A powerful layout engine and re-usable components makes it possible to build apps that rival the desktop and web experience.
36
36
37
37
## Compatibility
38
38
@@ -43,10 +43,16 @@ Textual runs on Linux, macOS, and Windows. Textual requires Python 3.7 or above.
43
43
Install Textual via pip:
44
44
45
45
```
46
-
pip install "textual[dev]"
46
+
pip install textual
47
+
```
48
+
49
+
If you plan on developing Textual apps, you should also install the development tools with the following command:
50
+
51
+
```
52
+
pip install textual-dev
47
53
```
48
54
49
-
The addition of `[dev]` installs Textual development tools. See the [docs](https://textual.textualize.io/getting_started/) if you need help getting started.
55
+
See the [docs](https://textual.textualize.io/getting_started/) if you need help getting started.
The `textual` command has a few sub-commands to preview Textual styles.
114
120
115
-
<details>
121
+
<details>
116
122
<summary> 🎬 Easing reference </summary>
117
123
<hr>
118
-
124
+
119
125
This is the *easing* reference which demonstrates the easing parameter on animation, with both movement and opacity. You can run it with the following command:
It's been a slow week or two at Textualize, with Textual devs taking well-earned annual leave, but we still managed to get a new version out.
14
+
15
+
<!-- more -->
16
+
17
+
Version 0.27.0 has shipped with a number of fixes (see the [release notes](https://github.com/Textualize/textual/releases/tag/v0.29.0) for details), but I'd like to use this post to explain a change we made to how Textual developer tools are distributed.
18
+
19
+
Previously if you installed `textual[dev]` you would get the Textual dev tools plus the library itself. If you were distributing Textual apps and didn't need the developer tools you could drop the `[dev]`.
20
+
21
+
We did this because the less dependencies a package has, the fewer installation issues you can expect to get in the future. And Textual is surprisingly lean if you only need to *run* apps, and not build them.
22
+
23
+
Alas, this wasn't quite as elegant solution as we hoped. The dependencies defined in extras wouldn't install commands, so `textual` was bundled with the core library. This meant that if you installed the Textual package *without* the `[dev]` you would still get the `textual` command on your path but it wouldn't run.
24
+
25
+
We solved this by creating two packages: `textual` contains the core library (with minimal dependencies) and `textual-dev` contains the developer tools. If you are building Textual apps, you should install both as follows:
26
+
27
+
```
28
+
pip install textual textual-dev
29
+
```
30
+
31
+
That's the only difference. If you run in to any issues feel free to ask on the [Discord server](https://discord.gg/Enf6Z3qhVr)!
Copy file name to clipboardExpand all lines: docs/getting_started.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,20 +20,28 @@ Textual requires Python 3.7 or later (if you have a choice, pick the most recent
20
20
21
21
## Installation
22
22
23
-
You can install Textual via PyPI.
24
-
25
-
If you plan on developing Textual apps, then you should install `textual[dev]`. The `[dev]` part installs a few extra dependencies for development.
23
+
You can install Textual via PyPI, with the following command:
26
24
27
25
```
28
-
pip install "textual[dev]"
26
+
pip install textual
29
27
```
30
28
31
-
If you only plan on _running_ Textual apps, then you can drop the `[dev]` part:
29
+
If you plan on developing Textual apps, you should also install textual developer tools:
32
30
33
31
```
34
-
pip install textual
32
+
pip install textual-dev
33
+
```
34
+
35
+
### Textual CLI
36
+
37
+
If you installed the developer tools you should have access to the `textual` command. There are a number of sub-commands available which will aid you in building Textual apps. Run the following for a list of the available commands:
38
+
39
+
```bash
40
+
textual --help
35
41
```
36
42
43
+
See [devtools](guide/devtools.md) for more about the `textual` command.
44
+
37
45
## Demo
38
46
39
47
Once you have Textual installed, run the following to get an impression of what it can do:
@@ -79,15 +87,7 @@ python code_browser.py ../
79
87
```
80
88
81
89
82
-
## Textual CLI
83
-
84
-
If you installed the dev dependencies you have access to the `textual` CLI command. There are a number of sub-commands which will aid you in building Textual apps.
85
-
86
-
```bash
87
-
textual --help
88
-
```
89
90
90
-
See [devtools](guide/devtools.md) for more about the `textual` command.
0 commit comments