A Pylint plugin for improving code analysis when editing code using Flask-SQLAlchemy
Project description
pylint_flask_sqlalchemy
About
pylint_flask_sqlalchemy is a Pylint plugin for improving code analysis with Flask-SQLAlchemy.
Usage
Using a simple flask app
"""app.py"""
# pylint: disable=missing-docstring,too-few-public-methods,invalid-name
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:////tmp/test.db"
db = SQLAlchemy(app)
class Group(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), unique=True, nullable=False)
def __repr__(self):
return "<User %r>" % self.username
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
group = db.relationship(Group)
def __repr__(self):
return "<User %r>" % self.username
user = User(username="test")
db.session.add(user)
db.session.commit()
Without the plugin: pylint app.py
app.py:11:9: E1101: Instance of 'SQLAlchemy' has no 'Column' member (no-member)
app.py:11:19: E1101: Instance of 'SQLAlchemy' has no 'Integer' member (no-member)
app.py:12:11: E1101: Instance of 'SQLAlchemy' has no 'Column' member (no-member)
app.py:12:21: E1101: Instance of 'SQLAlchemy' has no 'String' member (no-member)
app.py:19:9: E1101: Instance of 'SQLAlchemy' has no 'Column' member (no-member)
app.py:19:19: E1101: Instance of 'SQLAlchemy' has no 'Integer' member (no-member)
app.py:20:15: E1101: Instance of 'SQLAlchemy' has no 'Column' member (no-member)
app.py:20:25: E1101: Instance of 'SQLAlchemy' has no 'String' member (no-member)
app.py:21:12: E1101: Instance of 'SQLAlchemy' has no 'relationship' member (no-member)
app.py:28:0: E1101: Instance of 'scoped_session' has no 'add' member (no-member)
app.py:29:0: E1101: Instance of 'scoped_session' has no 'commit' member (no-member)
----------------------------------------------------------------------
Your code has been rated at -18.95/10 (previous run: 10.00/10, -28.95)
😓
With pylint_flask_sqlalchemy: pylint --load-plugins pylint_flask_sqlalchemy app.py
----------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: -13.08/10, +23.08)
🥳
Installation
pip install pylint_flask_sqlalchemy
and tell pylint to --load-plugins pylint_flask_sqlalchemy when you launch it.
Changelog
Current version
New
- Handle scoped_session has no * member.
0.1.0 (2019-07-18)
New
-
Handle scoped_session has no * member.
-
Handle scoped_session has no * member.
Changes
- Udpate readme.
0.0.3 (2019-07-13)
Changes
- Update readme.
0.0.2 (2019-07-13)
New
- First draft of the plugin.
Fixes
- Packaging.
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
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 pylint_flask_sqlalchemy-0.2.0.tar.gz.
File metadata
- Download URL: pylint_flask_sqlalchemy-0.2.0.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ede5baba1a465d8ba39d8383ffcf0889d7a6afeff44bd24177fcf529ba8aa81
|
|
| MD5 |
28f54ae80fe40614a17f70b2f73e2055
|
|
| BLAKE2b-256 |
24b9a21c275e8859afc946559d9ff8358a95c2979e1e20733ff5a7b461e37024
|
File details
Details for the file pylint_flask_sqlalchemy-0.2.0-py3-none-any.whl.
File metadata
- Download URL: pylint_flask_sqlalchemy-0.2.0-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27f1fffb940adc9ac8f00ff7eb91ec39ca070c0f3bcec0d7f1c702a993d40505
|
|
| MD5 |
0aef0c07c0c69c9fa362cd0665c712d0
|
|
| BLAKE2b-256 |
9cff0283bc8ee712a50c55d94f60d8470f74c62aeacb570eee4f674fe84560b8
|