Skip to main content

No project description provided

Project description

EduLint

Pypi Python versions Tests ReadTheDocs Docker image

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.

Demo GIF

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 check <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 check some_file.py

# Additional example that lints a file with absolute path /tmp/some_file.py
docker run -v /tmp:/app edulint/edulint-cli check /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
  • Add additional functionality to web (more settings, better teacher onboarding, …)
  • Speed-up linting by switching to Ruff
  • official VS Code plugin (3rd party plugin already exists: Github, VS Code Marketplace)

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: Python 3.8+ (tested up-to Python 3.12)

Python 3.7 is no-longer officially supported, as Python 3.7 is already EOL. Last version that supported it was Edulint v3.6.1. Be aware that some linting results may be different between 3.7 and 3.8 due to different parsing between package typed-ast (<=3.7) and Python's native ast (>=3.8).

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

edulint-4.2.2.tar.gz (220.1 kB view details)

Uploaded Source

Built Distribution

edulint-4.2.2-py3-none-any.whl (222.7 kB view details)

Uploaded Python 3

File details

Details for the file edulint-4.2.2.tar.gz.

File metadata

  • Download URL: edulint-4.2.2.tar.gz
  • Upload date:
  • Size: 220.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.20

File hashes

Hashes for edulint-4.2.2.tar.gz
Algorithm Hash digest
SHA256 1e0857e8e046fabdab25052ca6724759989c9e364280393c331a166b10000630
MD5 4baa8d6d5cb4ce2ac621c765e4292bbd
BLAKE2b-256 9aa7428fb26fc3d20d09f07b9b6cf96ad6fc2d8b100b5e7b4e7e8000d399cbb4

See more details on using hashes here.

File details

Details for the file edulint-4.2.2-py3-none-any.whl.

File metadata

  • Download URL: edulint-4.2.2-py3-none-any.whl
  • Upload date:
  • Size: 222.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.20

File hashes

Hashes for edulint-4.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 da122d133ed5bd5659a155ce8c2f58efdcf4129a1d67c812ca0ff8fc61856da1
MD5 96a746ca119f4e3221e30b266d93b053
BLAKE2b-256 798087e2dd11a4c20cad6903eac5d677f23f1f8bd1035f2fc06f4fe2a00a29e2

See more details on using hashes here.

Supported by

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