A CLI tool to do LeetCode and LeetCode-like exercises locally
Project description
localeet
A CLI tool to select and solve LeetCode and LeetCode-like problems locally
installation
pip install localeet
usage
localeet
This will find a random question from LeetCode's free question set. It will create a code file shell (Python by default) with the question description and other metadata in it in your current working directory. It will then pop open a code editor (VSCode by default) with the new file opened in it.
Examples of output files:
cli args
See the installed version of localeet with:
localeet --version
localeet -v
Using any of these CLI args will use the output path provided, and create any needed directories in that path as well.
localeet --output_path ~/leetcode
localeet --path problems
localeet -o ~/leetcode/problems/2023-7-22
You can set the max or min difficulty of the problem selected using a
string or an int {1: easy, 2: medium, 3: hard}
.
localeet --max_difficulty medium
localeet --max 1
localeet --min_difficulty 3
localeet --min hard
To specify a code editor other than VSCode, pass the CLI arg used to open said editor using one of these args:
localeet -e charm
localeet --editor subl
localeet --code_editor_open_command atom
To specify a language other than Python, use one of the following CLI arg formats:
localeet --programming_language rust
localeet --language go
localeet -l ts
Valid language options:
c++
cpp
java
python
python3
py
c
c#
cs
javascript
js
ruby
rb
swift
go
golang
scala
kotlin
kt
rust
rs
php
typescript
ts
racket
rkt
erlang
erl
elixir
ex
dart
Print the manual:
localeet --help
overriding defaults
If you want to set a different default value permanently, set it in your environment like in these examples:
export LOCALEET_DEFAULT_MAX_DIFFICULTY=medium
export LOCALEET_DEFAULT_MIN_DIFFICULTY=medium
export LOCALEET_DEFAULT_OUTPUT_PATH=./leetcode
export LOCALEET_DEFAULT_CODE_EDITOR_OPEN_COMMAND=vi
export LOCALEET_DEFAULT_LANGUAGE=cpp
contributions
local setup
git clone https://github.com/dannybrown37/localeet.git
python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -e .[dev, test]
pre-commit install
pytest tests -s -vv
contribution process
- Create a new branch
- Add features you wish to propose
- Stage and commit your changes, ensure pre-commit checks pass
- Push your branch
- Open a pull request
- Ensure Pull Request Verification CI/CD pipeline passes
- Get approved & merged
- Ensure Publish to PyPI pipeline passes
feature ideas
- Add commitizen for auto version updating
- Support submitting responses to LeetCode via CLI as well
- Whatever your imagination holds
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file localeet-0.2.12.tar.gz
.
File metadata
- Download URL: localeet-0.2.12.tar.gz
- Upload date:
- Size: 17.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cfdf87d6ab00027f3d1afe0b9f5bfccc549e8da639b5da8b8bb21d5332481f1 |
|
MD5 | 3e400e1edf46e3c17b01cb1f93a93275 |
|
BLAKE2b-256 | 4698e2a558ae0ae51789ef78006a89dc467fa40105198ae59cd50062964511bf |
File details
Details for the file localeet-0.2.12-py2.py3-none-any.whl
.
File metadata
- Download URL: localeet-0.2.12-py2.py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 015db887a5da270871c259d969a02210cbead9f286fe9c81b932b57b9df4d2f8 |
|
MD5 | 4842dca5743ba281a06b0aeeb77fd666 |
|
BLAKE2b-256 | f76049014b989d4480eec4f6fc46178d59240fd09f1b0d1fcbb1cc9645ae8f79 |