Skip to content

Commit d3390c3

Browse files
committed
merge: dev into main for SEO metadata
2 parents dbc28c7 + fe9f3cf commit d3390c3

2 files changed

Lines changed: 50 additions & 6 deletions

File tree

Readme.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,34 @@
66
[![Tests](https://img.shields.io/badge/tests-105%20passing-brightgreen)](#development)
77
[![License: MIT](https://img.shields.io/badge/license-MIT-yellow)](LICENSE)
88

9-
Pylings is a Rustlings-style learning environment for Python. It ships broken
10-
exercises, hidden checks, a live Textual editor, progressive hints, and bundled
9+
Rustlings-style interactive Python exercises in a live terminal TUI.
10+
11+
Pylings helps you learn Python by fixing small broken programs and watching
12+
checks rerun as you type. It is built for beginner Python practice, coding
13+
practice, and self-paced Python tutorial workflows: 292 exercises, hidden
14+
pytest-style checks, a live Textual editor, progressive hints, and bundled
1115
Python documentation snippets so learners can work without leaving the terminal.
1216

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

1519
## Highlights
1620

17-
- 292 exercises across 31 Python topics, from variables through async.
21+
- 292 Python exercises across 31 topics, from variables through async.
22+
- Rustlings-inspired learn-by-doing flow for Python coding practice.
1823
- Live in-terminal editor with automatic checks after edits.
1924
- Topic picker with progress, resume state, reset, hints, and one-shot CLI runs.
2025
- `F5` opens a local Python reference window; `O` opens the official docs page.
2126
- Bundled docs are generated from the official Python documentation for offline use.
2227

2328
## Install
2429

30+
The `pylings` command is installed from this repository. The PyPI project name
31+
`pylings` is already used by another package, so install this project from
32+
GitHub until a package release is published under its distribution name,
33+
`pylings-tui`.
34+
2535
```bash
26-
pipx install pylings
36+
pipx install git+https://github.com/abhiksark/pylings.git
2737
```
2838

2939
For local development:

pyproject.toml

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,50 @@ requires = ["hatchling"]
33
build-backend = "hatchling.build"
44

55
[project]
6-
name = "pylings"
6+
name = "pylings-tui"
77
version = "0.1"
8-
description = "Rustlings-style interactive Python exercises."
8+
description = "Rustlings-style interactive Python exercises in a terminal TUI."
99
readme = "Readme.md"
1010
requires-python = ">=3.11"
1111
license = { text = "MIT" }
12+
keywords = [
13+
"python",
14+
"python-exercises",
15+
"learn-python",
16+
"beginner-python",
17+
"coding-practice",
18+
"rustlings",
19+
"textual",
20+
"tui",
21+
"cli",
22+
"education",
23+
]
24+
classifiers = [
25+
"Development Status :: 3 - Alpha",
26+
"Environment :: Console",
27+
"Environment :: Console :: Curses",
28+
"Intended Audience :: Education",
29+
"License :: OSI Approved :: MIT License",
30+
"Operating System :: OS Independent",
31+
"Programming Language :: Python :: 3",
32+
"Programming Language :: Python :: 3.11",
33+
"Programming Language :: Python :: 3.12",
34+
"Programming Language :: Python :: 3.13",
35+
"Topic :: Education",
36+
"Topic :: Education :: Computer Aided Instruction (CAI)",
37+
"Topic :: Software Development :: Testing",
38+
]
1239
dependencies = [
1340
"textual[syntax]>=8.0.0",
1441
]
1542

43+
[project.urls]
44+
Homepage = "https://github.com/abhiksark/pylings"
45+
Repository = "https://github.com/abhiksark/pylings"
46+
Issues = "https://github.com/abhiksark/pylings/issues"
47+
Changelog = "https://github.com/abhiksark/pylings/blob/main/CHANGELOG.md"
48+
Documentation = "https://github.com/abhiksark/pylings#readme"
49+
1650
[project.optional-dependencies]
1751
dev = [
1852
"pytest>=7.0",

0 commit comments

Comments
 (0)