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
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 |