This tool relies on the Everybody Codes Data library. Shout out to @wimglenn!
- Initialize workspace for Everybody Codes puzzles
- Download puzzle inputs automatically
- Manage session tokens securely
- Run solutions with both test and real input data
- Submit solutions and check if they are correct
The package can be installed using uv, which is recommended for better dependency management and faster installations:
# Install it as a system tool
uv tool install python-ecd
# Otherwise use:
uvx python-ecdThe tool will be available as both 'python-ecd' and 'ecd'
Create a new workspace for your puzzles solutions:
It can be done in the current directory:
ecd initOr in a specified path:
ecd init everybody-codes-solutionsNote that if the directory does not exist, it will be created.
Options:
--force,-f: Overwrite existing files
Configure your session token for accessing puzzle inputs:
ecd set-token <TOKEN>Note that is not necessary if you set it during initialization.
Download the input for all available part
ecd pull <QUEST_NUMBER> [OPTIONS]Options:
--year,-y: Event year (default: actual)--force,-f: Overwrite existing files
This command will create the necessary dirs and files if they do not exist.
Run your solution using test data:
ecd test <QUEST_NUMBER> [OPTIONS]Options:
--year: Event year (default: actual)--part: Part number to test (default: 1)
Execute your solution for a specific puzzle:
ecd run <QUEST_NUMBER> [OPTIONS]Options:
--year: Event year (default: actual)--part: Part number to execute (default: 1)
Submit your solution for a specific puzzle:
ecd push <QUEST_NUMBER> [OPTIONS]Options:
--year: Event year (default: actual)--part: Part number to test (default: 1)
Note that next available part (if exists) will be pulled automatically if the result is correct.
Show the current version of the tool:
ecd --versionThis project is licensed under the terms of the MIT license.
Contributions are welcome! Please feel free to submit a Pull Request.
