Splint: A simple, easy-to-use Python linter designed for beginner developers.
Project description
Splint
A fast, simple, and easy-to-use Python linter.
##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:
- Clone the Repository:
git clone https://github.com/jerankda/splint cd simple_linter - Install Dependencies:
pip install -r requirements.txt" - Run the Linter:
Replace with the path to the Python file you want to lint.python main.py <path-to-your-python-file>
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac5a849934eec524a0f94edd76f7942692948e32fcc3cffc9208191e53d7f16f
|
|
| MD5 |
484e5794fe389d020c9e2c4df4d2c7c7
|
|
| BLAKE2b-256 |
2eff3c421e56b7747a7a160663be3c4edce48a7aac8eaf98ddb8253253d3cd05
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7eab029b4e55c30b4bfd7fc9a23f72d56422fe71dd26fa8528f4695165bc41ae
|
|
| MD5 |
5f3d595150e19320a62e696f049c88fd
|
|
| BLAKE2b-256 |
cca0d7aa41c13e7303d09215ef28d85bbf2b40a77fcaea20b1cbb5510d9b91ce
|