A Python Educational Linter
Project description
EduLint
EduLint is a Python linter aimed at helping novice programmers improve their coding style. Presently, it integrates flake8 and pylint, with some tweaks to their default configuration.
This repository contains the linter itself, which is packaged and published as a Pypi package edulint
. There is also a web version running at edulint.com for easy use. Its source code is in another repository.
Usage
Web version
Are you just starting with programming in Python? Then the web UI (website, repo) might be the best choice for you.
Python package
You can install the latest release with pip:
python3 -m pip install --user edulint
Once installed, you can run it as a Python module:
python3 -m edulint <file-to-lint>
Read the documentation for more options and configuration details.
Docker container
Don't want to install Python and Edulint as a Python package? You can also run it using Docker.
docker pull edulint/edulint-cli # Optional
docker run -v ${PWD}:/app edulint/edulint-cli some_file.py
# Additional example that lints a file with absolute path /tmp/some_file.py
docker run -v /tmp:/app edulint/edulint-cli /app/some_file.py
It supports the same configuration options as the native Python package.
Road map (long-term)
- Additional explanations for problems detected in code
- Thonny plugin
- More code quality defects (from WPS; detecting duplicate code)
- Rewrite web to React to allow for additional functionality (more settings, better teacher onboarding, …)
- Speed-up linting by switching to Ruff
- VS Code plugin
Sponsorship and academic collaboration
Are you interested in sponsoring this project, want to collaborate on an academic paper, or know of any interesting grants? Feel free to reach out to anna.rechtackova@mail.muni.cz.
Compatibility with other software
Python version
Supported: >= 3.8
Python 3.7 mostly works, but can fail in edge cases due to different parsing between package typed-ast
(<=3.7) and Python's native ast
(>=3.8). We discovered those using the existing compatibility test suite.
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 edulint-3.2.1.tar.gz
.
File metadata
- Download URL: edulint-3.2.1.tar.gz
- Upload date:
- Size: 154.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef995bfd452cde4ca79ef8c793f53801a9f9c0e12b51a92cce633cd70e9cd56f |
|
MD5 | b728389f9c391bb2715a5dbb90aa250f |
|
BLAKE2b-256 | 6c719f4e741925eda336058981346e1bb632ab4d763faeea22076009034abd17 |
File details
Details for the file edulint-3.2.1-py3-none-any.whl
.
File metadata
- Download URL: edulint-3.2.1-py3-none-any.whl
- Upload date:
- Size: 157.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 452914f7af0048cbe76e2983c0f11b32a169738e73d621f5b3755cbf0156a3e2 |
|
MD5 | 6694850a4d1bef29e019d92b9c22267a |
|
BLAKE2b-256 | 5a97770a7bae9f5d5badc91cb17773f68ba2dfa4c81da611b38a8d833de3d514 |