|
1 | 1 | # Pylings |
2 | 2 |
|
3 | | -[](https://www.python.org/) |
4 | | -[](https://semver.org/) |
5 | | -[](https://semver.org/) |
6 | | -[](#development) |
| 3 | +[](https://pypi.org/project/python-learnings/) |
| 4 | +[](https://pypi.org/project/python-learnings/) |
| 5 | +[](https://github.com/abhiksark/pylings/actions/workflows/ci.yml) |
| 6 | +[](https://pypi.org/project/python-learnings/) |
7 | 7 | [](LICENSE) |
8 | 8 |
|
9 | 9 | Documentation: [pylings.abhik.ai](https://pylings.abhik.ai/) |
10 | 10 |
|
11 | | -Python learnings, Rustlings-style, in a live terminal TUI. |
| 11 | +**Rustlings for Python — learn by fixing 292 tiny broken programs in your terminal.** |
12 | 12 |
|
13 | 13 | Pylings helps you learn Python by fixing small broken programs and watching |
14 | 14 | checks rerun as you type. It is built for beginner Python practice, coding |
15 | 15 | practice, and self-paced Python tutorial workflows: 292 exercises, hidden |
16 | 16 | pytest-style checks, a live Textual editor, progressive hints, and bundled |
17 | 17 | Python documentation snippets so learners can work without leaving the terminal. |
18 | 18 |
|
19 | | -Status: `v0.1.0` alpha. GitHub installs are available now; the PyPI package |
20 | | -name is `python-learnings` and will become the primary install path after |
21 | | -publishing is enabled. |
| 19 | +**Try it in 10 seconds** — zero install, needs [Python 3.9+](https://www.python.org/downloads/) |
| 20 | +and [uv](https://docs.astral.sh/uv/): |
| 21 | + |
| 22 | +```bash |
| 23 | +uvx --from python-learnings pylings init --path ./learn-python |
| 24 | +cd learn-python && uvx --from python-learnings pylings |
| 25 | +``` |
| 26 | + |
| 27 | +How it works: **edit** the broken exercise in your own editor → **save** → |
| 28 | +checks rerun and advance you to the next one. That's the whole loop. |
| 29 | + |
| 30 | +Status: `v0.2.0`, alpha — published on PyPI as `python-learnings`. |
22 | 31 |
|
23 | 32 |  |
24 | 33 |
|
@@ -50,26 +59,37 @@ publishing is enabled. |
50 | 59 |
|
51 | 60 | ## Install |
52 | 61 |
|
53 | | -Install the current release directly from GitHub: |
| 62 | +Pylings is on PyPI as **`python-learnings`** (it installs the `pylings` |
| 63 | +command). You need [Python 3.9+](https://www.python.org/downloads/). |
| 64 | + |
| 65 | +Recommended — install it isolated, like any CLI app: |
54 | 66 |
|
55 | 67 | ```bash |
56 | | -pipx install "git+https://github.com/abhiksark/pylings.git@v0.1.0" |
| 68 | +pipx install python-learnings |
| 69 | +# or |
| 70 | +uv tool install python-learnings |
57 | 71 | ``` |
58 | 72 |
|
59 | | -After PyPI publishing is enabled, the package install will be: |
| 73 | +Or run it with no install at all: |
60 | 74 |
|
61 | 75 | ```bash |
62 | | -pipx install python-learnings |
| 76 | +uvx --from python-learnings pylings |
| 77 | +``` |
| 78 | + |
| 79 | +Or plain pip (use a virtual environment): |
| 80 | + |
| 81 | +```bash |
| 82 | +pip install python-learnings |
63 | 83 | ``` |
64 | 84 |
|
65 | | -The `pylings` command is installed by the `python-learnings` package. The PyPI |
66 | | -project name `pylings` is already used by another package, so do not use |
67 | | -`pip install pylings` for this project. |
| 85 | +> The PyPI **name** is `python-learnings`; the **command** is `pylings`. The |
| 86 | +> name `pylings` on PyPI belongs to a different project, so do **not** run |
| 87 | +> `pip install pylings`. |
68 | 88 |
|
69 | 89 | For the latest development build from `main`: |
70 | 90 |
|
71 | 91 | ```bash |
72 | | -pipx install --force git+https://github.com/abhiksark/pylings.git |
| 92 | +pipx install --force "git+https://github.com/abhiksark/pylings.git" |
73 | 93 | ``` |
74 | 94 |
|
75 | 95 | Create a learner workspace before starting: |
|
0 commit comments