Skip to main content

Splint: A simple, easy-to-use Python linter designed for beginner developers.

Project description

Splint

A fast, simple, and easy-to-use Python linter.

Build Status License Version

##Splint is a Python linter designed to help you catch common issues, enforce coding standards, and improve your Python code.

⚠️ Note: Splint is currently in early development


Installation

pip install splint

Features

Working Features:

  • Syntax Checking: Validates Python code syntax using ast.parse.
  • Indentation Checking: Ensures correct indentation levels and alignment.
  • Line Length Checking: Verifies that lines do not exceed a specified length.
  • Naming Conventions Checking: Enforces snake_case for functions and classes, camelCase for variables, and CONSTANT_CASE for constants.
  • Unused Imports Checking: Identifies and reports unused imports.
  • Docstrings Checking: Ensures all functions, classes, and modules have docstrings.
  • Magic Numbers Checking: Detects and flags "magic numbers" that are outside a specified range.
  • Code Complexity Checking: Estimates complexity based on decision points within functions.
  • Deprecated Functions Checking: Flags usage of deprecated functions.

Not Yet Implemented:

  • Single Responsibility Principle Checking: Analysis to ensure that each function or class adheres to the Single Responsibility Principle.
  • Formatting Checking: Comprehensive checks for adherence to PEP8 formatting standards, including code style and formatting rules.
  • Cyclomatic Complexity Checking: Analysis of cyclomatic complexity to measure the number of linearly independent paths through the code.
  • Magic Methods Checking: Verification for the presence and proper implementation of common Python magic methods.
  • PEP8 Compliance: Full compliance with PEP8 style guide for Python code.
  • Code Smells Detection: Identification of common code smells that may indicate potential issues or areas for improvement.
  • Documentation Coverage Checking: Verification to ensure that code is adequately documented.
  • Refactoring Opportunities Checking: Detection of potential areas in the code that may benefit from refactoring.
  • Performance Checking: Analysis to identify potential performance bottlenecks and optimizations.
  • Security Vulnerabilities Checking: Identification of potential security vulnerabilities in the code.

Usage

To use Splint, follow these steps:

  1. Clone the Repository:
    git clone https://github.com/jerankda/splint
    cd simple_linter
    
  2. Install Dependencies:
    pip install -r requirements.txt"
    
  3. Run the Linter:
    python main.py <path-to-your-python-file>
    
    Replace with the path to the Python file you want to lint.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

splint-0.1.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

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

splint-0.1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file splint-0.1.tar.gz.

File metadata

  • Download URL: splint-0.1.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.9

File hashes

Hashes for splint-0.1.tar.gz
Algorithm Hash digest
SHA256 ac5a849934eec524a0f94edd76f7942692948e32fcc3cffc9208191e53d7f16f
MD5 484e5794fe389d020c9e2c4df4d2c7c7
BLAKE2b-256 2eff3c421e56b7747a7a160663be3c4edce48a7aac8eaf98ddb8253253d3cd05

See more details on using hashes here.

File details

Details for the file splint-0.1-py3-none-any.whl.

File metadata

  • Download URL: splint-0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.9

File hashes

Hashes for splint-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7eab029b4e55c30b4bfd7fc9a23f72d56422fe71dd26fa8528f4695165bc41ae
MD5 5f3d595150e19320a62e696f049c88fd
BLAKE2b-256 cca0d7aa41c13e7303d09215ef28d85bbf2b40a77fcaea20b1cbb5510d9b91ce

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