Skip to content

Commit 047694c

Browse files
authored
Merge pull request #28 from abhiksark/dev
Release v0.4.0 — zero-config first run
2 parents d58a92a + 3010e5d commit 047694c

14 files changed

Lines changed: 1075 additions & 37 deletions

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,26 @@
33
All notable changes to this project are documented here. Pythonlings follows
44
Semantic Versioning.
55

6+
## [0.4.0] - 2026-06-20
7+
8+
### Added
9+
10+
- Zero-config first run: `pythonlings` with no workspace creates one at
11+
`~/.pythonlings` and opens the first exercise — no `init`, no `--path`, no
12+
`cd` required.
13+
- `PYTHONLINGS_HOME` environment variable to point the default workspace
14+
somewhere else.
15+
16+
### Changed
17+
18+
- `pythonlings init` with no `--path` now targets `~/.pythonlings` instead of
19+
the current directory, so it can no longer fail by landing in a folder full
20+
of unrelated files.
21+
- `init` is now idempotent on an existing workspace (a friendly note instead of
22+
an error), and its non-empty-directory error explains how to proceed.
23+
- Every command resolves its workspace the same way: an explicit `--root`, then
24+
the current directory if it is a workspace, then `~/.pythonlings`.
25+
626
## [0.3.1] - 2026-06-20
727

828
### Fixed

Readme.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,13 @@ Python documentation snippets so learners can work without leaving the terminal.
2020
and [uv](https://docs.astral.sh/uv/):
2121

2222
```bash
23-
uvx pythonlings init --path ./learn-python
24-
cd learn-python && uvx pythonlings
23+
uvx pythonlings
2524
```
2625

2726
How it works: **edit** the broken exercise in the built-in editor → checks
2827
rerun as you type and advance you to the next one. That's the whole loop.
2928

30-
Status: `v0.3.1`, alpha — published on PyPI as `pythonlings`.
29+
Status: `v0.4.0`, alpha — published on PyPI as `pythonlings`.
3130

3231
![Coding screen](docs/assets/screenshots/coding-screen.png)
3332

@@ -49,8 +48,9 @@ Status: `v0.3.1`, alpha — published on PyPI as `pythonlings`.
4948

5049
## What Happens When You Run It
5150

52-
1. `pythonlings init` creates a self-contained learner workspace with exercises,
53-
hidden checks, local docs, and original snapshots for reset.
51+
1. `pythonlings` with no workspace creates a self-contained one at
52+
`~/.pythonlings` (override with `PYTHONLINGS_HOME` or `pythonlings init
53+
--path <dir>`) and opens the first exercise.
5454
2. `pythonlings` opens the first pending exercise in the terminal UI.
5555
3. You edit the broken code, remove `# I AM NOT DONE`, and checks rerun as you
5656
work.

0 commit comments

Comments
 (0)