Skip to main content

Python CLI for Everybody Codes

Project description

python-ecd logo

✨ A Python CLI tool for managing Everybody Codes puzzles ✨

Code Quality Release PyPI Latest Release PyPI Downloads versions


📋 Features

  • Initialize workspace for Everybody Codes puzzles
  • Download puzzle inputs automatically
  • Manage session tokens securely
  • Run solutions with both test and real input data
  • Automatic project structure creation

📦 Installation

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-ecd

The tool will be available as both 'python-ecd' and 'ecd'

💻 Usage

Initialize a Workspace

Create a new workspace for your puzzles solutions:

It can be done in the current directory:

ecd init

Or in a specified path:

ecd init everybody-codes-solutions

Note that if the directory does not exist, it will be created.

Set Session Token

Configure your session token for accessing puzzle inputs:

ecd set-token <TOKEN>

Note that is not necessary if you set it during initialization.

Download Puzzle Input

Download the input for a specific puzzle:

ecd pull <QUEST_NUMBER> [OPTIONS]

Options:

  • --year, -y: Event year (default: actual)
  • --part, -p: Puzzle part (default: 1)
  • --force, -f: Overwrite existing files

This command will create the necessary dirs and files if they do not exist.

Run Solutions

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)

Test Solutions

Run your solution using test data:

ecd test <QUEST_NUMBER> [OPTIONS]

Options:

  • --year: Event year (default: actual)
  • --part: Part number to test (default: 1)

Submit Solutions

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)

Display Version

Show the current version of the tool:

ecd --version

©️ License

This project is licensed under the terms of the MIT license.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_ecd-0.2.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_ecd-0.2.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file python_ecd-0.2.0.tar.gz.

File metadata

  • Download URL: python_ecd-0.2.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.8

File hashes

Hashes for python_ecd-0.2.0.tar.gz
Algorithm Hash digest
SHA256 be874c7eba9cfc8a31855645a118553136169bdf397d578845c86de14b090b21
MD5 ca5a426e7e4602a749a8830c3a2060b7
BLAKE2b-256 2cb77fdcdde77bf1050d0991ed8fc6187fc4cc97fa33443b978807a068c0d580

See more details on using hashes here.

File details

Details for the file python_ecd-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for python_ecd-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 653afdfe576dabf69612be009e1caa6ab2e4e733d1e04bf8e110da81b7c79ceb
MD5 5435c9ef11a34d8451cee49938dcbf75
BLAKE2b-256 69ddf34595aedc5f82d043d3919be03c51731452a7f29fa2bf6ade006d4075b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page