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
12 changes: 6 additions & 6 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
python-version: ["3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: '**/setup.py'
cache-dependency-path: pyproject.toml
- name: Run tests
run: |
python -m unittest
Expand All @@ -26,11 +26,11 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: '3.10'
python-version: '3.12'
cache: pip
cache-dependency-path: '**/setup.py'
cache-dependency-path: pyproject.toml
- name: Install dependencies
run: |
pip install setuptools wheel twine build
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
python-version: ["3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Run tests
Expand Down
17 changes: 12 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,17 @@ into Things by Cultured Code

### On macOS

Install popthings using pip. Both Python 2 and Python 3 are supported.
Run popthings directly with [uv](https://docs.astral.sh/uv/), without installing
it first:

```bash
$ pip install popthings
uvx popthings template.taskpaper
```

Alternatively, install popthings using pip:

```bash
pip install popthings
```

### On iOS
Expand Down Expand Up @@ -79,7 +86,7 @@ To import the template on the Mac, pass the TaskPaper filename to the
their value.

```bash
$ popthings templatex-travel.taskpaper
uvx popthings templatex-travel.taskpaper
Start value? 2018-09-01
Due value? 2018-09-10
Destination value? Paris
Expand Down Expand Up @@ -114,7 +121,7 @@ are any.
1. Bump the version in `popthings.py`
2. Update the changelog, link the versions.
3. Commit and tag with version number. Push tags. Update the release on GitHub.
4. Build a source dist with `python3 setup.py clean && rm dist/* && python3 setup.py sdist bdist_wheel`
4. Build the source and wheel distributions with `uv build`
5. Test upload to PyPI test with `twine upload --repository-url https://test.pypi.org/legacy/ dist/*`
6. Create a temporary environment `mktmpenv` and test install with `pip install --index-url https://test.pypi.org/simple/ popthings`
7. If everything looks good, upload for real with `twine upload dist/*`
7. If everything looks good, upload for real with `twine upload dist/*`
37 changes: 37 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[build-system]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Update the release cache path after removing setup.py

On every release, both actions/setup-python@v2 steps in .github/workflows/publish.yml still use cache-dependency-path: '**/setup.py'. The pip-cache setup errors when that pattern matches no files, so replacing setup.py with this file causes the release workflow to stop before its tests or build run; point those entries at pyproject.toml as part of the migration.

Useful? React with 👍 / 👎.

requires = ["setuptools>=77"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve source-install support for tested Python versions

For Python 3.6–3.8, which remain in both CI matrices, a source installation cannot create its isolated build environment because Setuptools 77 and newer require Python 3.9+. Published wheels may hide this, but pip install --no-binary, installs from an sdist, and source checkouts on those tested interpreters fail before building; either use a compatible backend requirement or explicitly raise the project's supported Python version and update the matrices.

Useful? React with 👍 / 👎.

build-backend = "setuptools.build_meta"

[project]
name = "popthings"
dynamic = ["version"]
description = "Import TaskPaper templates with placeholders into Things"
readme = "README.md"
requires-python = ">=3.12"
license = "MIT"
license-files = ["LICENSE"]
authors = [
{ name = "Alexandre Chabot-Leclerc", email = "github@alexchabot.net" },
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Natural Language :: English",
"Operating System :: MacOS :: MacOS X",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]

[project.scripts]
popthings = "popthings:cli"

[project.urls]
Homepage = "https://github.com/achabotl/popthings"

[tool.setuptools]
py-modules = ["popthings"]

[tool.setuptools.dynamic]
version = { attr = "popthings.__version__" }
37 changes: 0 additions & 37 deletions setup.py

This file was deleted.

7 changes: 7 additions & 0 deletions tests/header_with_note.taskpaper
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Project name:
Note under project
Header:
Note under header
- Task
Header 2:
Note under header 2
2 changes: 2 additions & 0 deletions tests/just_tasks.taskpaper
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- task 1
- task 2
15 changes: 15 additions & 0 deletions tests/just_tasks_.taskpaper
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Project 1:
$due $start $location
Note under project 1
- Task 1 @due($start + 1w)
A note under task 1
- Task 2 @start($start)
- Checklist item under task 2
- A checklist under a checklist
Heading 1, to $location:
- Task under heading 1

Project 2:
- Task under project 2
Heading 2, under project 2:
- Task under heading 2
5 changes: 5 additions & 0 deletions tests/small.taskpaper
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Project:
Note two levels in
- Task
- checklist item
Note
20 changes: 20 additions & 0 deletions tests/text.taskpaper
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Project name: @start($start) @email
$start $due
Comment under project
More comments under project
- Task 0.1 @due($due) @email
Note 0.1
Note 0.1 has two lines of comment
- Task 0.12 @start($start)
Heading 1:
Note 1. Where should it go?
- Task 1.1
Note 1.1
- Task 1.2
HEading 2:
- Task 2.1
Note 2.1
- Checklist Item 2.1.1
Note 2.1.1
Project 2:
- Task under project 2
5 changes: 5 additions & 0 deletions tests/with_empty_line.taskpaper
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Project name:
- Task 1

- Task 2

Loading