Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,26 @@
<!-- CHANGELOG.md -->
# Changelog

All notable changes to this project are documented here. Pythonlings follows
Semantic Versioning.

## [0.4.2] - 2026-08-17

### Changed

- Refreshed the project branding, screenshots, terminal demo, and contributor
guidance.

### Fixed

- `pythonlings update` now prefers the current workspace while preserving the
precedence of an explicit `--path` and global `--root`. Missing and invalid
targets fail without being created or modified.
- Invalid, unreadable, and unsafe manifests now produce contextual command-line
errors without Python tracebacks.
- Workspace initialization and updates preserve custom `.gitignore` entries,
ordering, line endings, and repeated-run idempotency.

## [0.4.1] - 2026-06-21

### Added
Expand Down
7 changes: 3 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@ The fastest way in is a [`good first issue`](https://github.com/abhiksark/python

## Where the work is

- **[0.3.0 roadmap](docs/roadmap/0.3.0.md)** — the current focus (wider adoption
for beginners). Each roadmap issue is written to be picked up cold: it has
context, scope, the exact files to touch, and how to verify.
- Browse open issues by label: [`good first issue`](https://github.com/abhiksark/pythonlings/issues?q=is%3Aopen+label%3A%22good+first+issue%22),
- Track current work in the
[open issue tracker](https://github.com/abhiksark/pythonlings/issues?q=is%3Aissue+is%3Aopen).
- Find contributor-ready work by label: [`good first issue`](https://github.com/abhiksark/pythonlings/issues?q=is%3Aopen+label%3A%22good+first+issue%22),
[`help wanted`](https://github.com/abhiksark/pythonlings/issues?q=is%3Aopen+label%3A%22help+wanted%22).

## Claiming an issue
Expand Down
5 changes: 3 additions & 2 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!-- RELEASE.md -->
# Release Checklist

Pythonlings follows Semantic Versioning. Use full `MAJOR.MINOR.PATCH` versions in
Expand Down Expand Up @@ -27,10 +28,10 @@ pythonlings --root "$tmp" solution variables1
pythonlings --root "$tmp" reset variables1 --yes
```

Expected release version for `v0.3.0`:
Confirm that the command reports the version represented by the release tag:

```text
pythonlings 0.3.0
pythonlings MAJOR.MINOR.PATCH
```

## Tag And Publish
Expand Down
9 changes: 5 additions & 4 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ uvx pythonlings
How it works: **edit** the broken exercise in the built-in editor → checks
rerun as you type and advance you to the next one. That's the whole loop.

Status: `v0.4.0`, alpha — published on PyPI as `pythonlings`.
Status: alpha. Published on PyPI as `pythonlings`.

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

Expand Down Expand Up @@ -193,9 +193,10 @@ together. Keep exercise and check filenames mirrored, for example

## Contributing

Pythonlings is actively developed and welcomes contributors — beginners included.
The current focus is the [0.3.0 roadmap](docs/roadmap/0.3.0.md) (wider adoption),
and every roadmap issue is written to be picked up cold. Start with a
Pythonlings is actively developed and welcomes contributors, including
beginners. Current work is tracked in the
[open issue tracker](https://github.com/abhiksark/pythonlings/issues?q=is%3Aissue+is%3Aopen).
Start with a
[`good first issue`](https://github.com/abhiksark/pythonlings/issues?q=is%3Aopen+label%3A%22good+first+issue%22),
comment to claim it, and see [CONTRIBUTING.md](CONTRIBUTING.md).

Expand Down
3 changes: 2 additions & 1 deletion docs-site/faq.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!-- docs-site/faq.md -->
# FAQ

## How is this different from Rustlings?
Expand Down Expand Up @@ -26,7 +27,7 @@ Yes. All exercises and the bundled local Python reference (press `F5` in the TUI

## Is Pythonlings on PyPI?

Yes — install it as [`pythonlings`](https://pypi.org/project/pythonlings/) (current release: `v0.4.0`).
Yes. Install it as [`pythonlings`](https://pypi.org/project/pythonlings/).

## How do I see the reference answer?

Expand Down
7 changes: 5 additions & 2 deletions docs-site/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
# docs-site/index.md
hide:
- toc
---
Expand Down Expand Up @@ -38,5 +39,7 @@ Prefer a permanent install? See [Quick Start](quick-start.md) for `pipx`, `uv to

## Project status

Pythonlings is `v0.4.0`, published on PyPI as `pythonlings`. The learner loop, CLI, and
curriculum are stable; see the [Roadmap](roadmap.md) for what's next.
Pythonlings is published on PyPI as `pythonlings`. The learner loop, CLI, and
curriculum are stable; see the [Roadmap](roadmap.md) and
[open issue tracker](https://github.com/abhiksark/pythonlings/issues?q=is%3Aissue+is%3Aopen)
for current work.
3 changes: 2 additions & 1 deletion docs-site/quick-start.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<!-- docs-site/quick-start.md -->
# Quick Start

> Current release: **v0.4.0** · [PyPI](https://pypi.org/project/pythonlings/)
> Latest release: [pythonlings on PyPI](https://pypi.org/project/pythonlings/)

## Zero-Install (uvx)

Expand Down
16 changes: 8 additions & 8 deletions docs-site/roadmap.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<!-- docs-site/roadmap.md -->
# Roadmap

Pythonlings is `v0.4.0`, published on PyPI as `pythonlings`. Install with
`uvx pythonlings` or `pip install pythonlings`.
Pythonlings is published on PyPI as `pythonlings`. Install with `uvx
pythonlings` or `pip install pythonlings`.

## Shipped

Expand All @@ -11,13 +12,12 @@ Pythonlings is `v0.4.0`, published on PyPI as `pythonlings`. Install with
- Bundled Python docs snippets with official docs links.
- Published on PyPI as `pythonlings`; canonical install is `uvx pythonlings`.

## Next Work
## Active Work

- Improve first-run onboarding and empty-state copy.
- Harden keyboard flow around `Enter`, `Esc`, `F4`, and `F5`.
- Add more TUI tests for the coding screen, docs window, and topic picker.
- Add a release smoke test that installs the built wheel and exercises the CLI.
- Continue auditing exercises for clearer hints and stronger hidden checks.
Current priorities and ready-to-pick-up tasks are maintained in the
[open issue tracker](https://github.com/abhiksark/pythonlings/issues?q=is%3Aissue+is%3Aopen).
New contributors can start with the
[`good first issue` label](https://github.com/abhiksark/pythonlings/issues?q=is%3Aopen+label%3A%22good+first+issue%22).

## Release Policy

Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# pyproject.toml
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "pythonlings"
version = "0.4.1"
version = "0.4.2"
description = "Python learnings, Rustlings-style, in a terminal TUI."
readme = "Readme.md"
requires-python = ">=3.9"
Expand Down
Loading