Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anybox/pylint_flask_sqlalchemy
pylint_flask_sqlalchemy is a Pylint plugin to improve static code analysis of Flask-SQLAlchemy based projects.
https://github.com/anybox/pylint_flask_sqlalchemy
flask pylint python sqlalchemy
Last synced: 4 days ago
JSON representation
pylint_flask_sqlalchemy is a Pylint plugin to improve static code analysis of Flask-SQLAlchemy based projects.
- Host: GitHub
- URL: https://github.com/anybox/pylint_flask_sqlalchemy
- Owner: anybox
- License: mit
- Created: 2019-11-26T08:36:43.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-27T14:10:56.000Z (8 months ago)
- Last Synced: 2024-12-29T11:45:18.198Z (11 days ago)
- Topics: flask, pylint, python, sqlalchemy
- Language: Python
- Homepage:
- Size: 76.2 KB
- Stars: 8
- Watchers: 8
- Forks: 5
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Pylint Flask SQLAlchemy
[![PyPI](https://badge.fury.io/py/pylint-flask-sqlalchemy.svg)](https://pypi.org/project/pylint-flask-sqlalchemy/)
[![Workflow](https://github.com/anybox/pylint_flask_sqlalchemy/actions/workflows/main.yml/badge.svg)](https://github.com/anybox/pylint_flask_sqlalchemy/actions)
[![Downloads](https://pepy.tech/badge/pylint-flask-sqlalchemy/month)](https://pepy.tech/project/pylint-flask-sqlalchemy)## About
`pylint_flask_sqlalchemy` is a [Pylint](https://www.pylint.org/) to improve static code
analysis of [Flask-SQLAlchemy](https://flask-sqlalchemy.palletsprojects.com) based
projects.`pylint_flask_sqlalchemy` is now hosted on GitHub: https://github.com/anybox/pylint_flask_sqlalchemy
## Installation
```sh
pip install pylint_flask_sqlalchemy
```And tell Pylint to `--load-plugins pylint_flask_sqlalchemy`.
## Usage
Here's a simple flask application:
```python
"""app.py"""
from flask import Flask
from flask_sqlalchemy import SQLAlchemyapp = 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 f""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 f""user = User(username="test")
db.session.add(user)
db.session.commit()
```### Without the plugin 😓
```sh
pylint app.pyapp.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 🥳
```sh
pylint --load-plugins pylint_flask_sqlalchemy app.py----------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: -13.08/10, +23.08)
```