CLI tool to convert NY Times crosswords into Across Lite files (.puz).
This is a fork of nytxw_puz with some major differences:
- No browser installations are required. Authentication is performed by the program itself.
- Targeted for headless deployments and thus is non-interactive.
- Supports batch downloading with rate limiting and timeout.
pip install nytxw-puz-cli
nytxw_puz --help
The program expects a JSON credentials file to be passed via the --credentials
flag. The expected format of the JSON is simple and as follows:
{"email": "user@domain.com", "password": "my-password"}
A simple example downloading a single crossword:
nytxw_puz --credentials my-creds.creds --urls https://www.nytimes.com/crosswords/game/daily/2020/12/31 --filenames ~/puzzles/2020/12/31.puz
A full example of a run using cookie import/export and input of URL,FILENAME
entries named tasks.csv
via stdin:
nytxw_puz --credentials my-creds.creds --import-cookies mycookies.cookies --export-cookies mycookies.cookies -v < tasks.csv
nytxw_gen
is a small tool to help generate date ranges of crossword puzzles in CSV format to pass into nytxw_puz
. For example:
nytxw_gen --start 2012-07-18 --end 2014-12-31 --path-format "~/puzzles/<year>/<month>/<day>.puz" > puzzles-to-download.csv
This repository uses poetry to manage dependencies and environments. To get started quickly, run:
cd nytxw-puz-cli
poetry install
For Python, the repository uses the default settings of the Black code formatter.
Conformance can be enforced by using black
as follows:
black <file-name>