• Stars
    star
    100
  • Rank 328,774 (Top 7 %)
  • Language
    Python
  • License
    MIT License
  • Created over 7 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ðŸšĨ A report card for Python application



Python Report Card

Analyze and report the python projects which are on Github




Inspired by Go Report Card

A report card for your Python applications. This analyzes the source code quality (pep8, pyflakes and bandit etc.) of the Python projects which are hosted on GitHub, checks for license and readme files, and provides some statistics. Then shows the results on the web.

You can see our planning for future versions in here too.

ScreenShots

main

report

Features

  • Supports checking the code quality using PEP8 and Pyflakes linting tools
  • Supports counting the code lines and calculates some stats
  • Supports checking the license file
  • Provides a grade system
  • Provides a pyreportcard web server
  • Supports checking the compatibility of Python 2 and 3
  • Supports checking the security issues
  • Supports customizable analyzing using own configuration file
  • Serves it as web service
  • Provides ranking system
  • Provides badge link of repository grade

Install and Run

  • Clone this repository.
  • Run pip install -r requirements.txt to install all dependencies (If you don't have pip, install pip first)
  • Install the MongoDB that is used for our backend database.
  • You must configure the secret values in config_secret.py. Firstly, copy the example secret file to create secret file by cp config_secret.py.example config_secret.py, and then fill out the secret values with yours.
class SecretConfig:
    SECRET_KEY = '...'

    MONGO_DBNAME = 'reportcard'
    MONGO_HOST = '...'
    MONGO_PORT = ...
    # MONGO_USER = '...'
    # MONGO_PASSWORD = '...'
  • Run server by python3 run.py.
  • Go 127.0.0.1:5000 and just use it.

It is also possible to run the app and MongoDB in isolated environment using Docker and docker-compose. Follow the instructions above up until setting the secret values. Then, create a .env file comprises of environment variables for configuring the app in the container. An example of .env is provided below:

echo "DEBUG=1" >> .env
echo "FLASK_DEBUG=1" >> .env
echo "FLASK_ENVIRONMENT=development" >> .env

To run the app and MongoDB, build the app and run them using docker-compose. By default, the app will bind to port 5000 and can be accessed via localhost, e.g. 127.0.0.1:5000. If the port conflicted with other running apps, feel free to modify the port binding in docker-compose.yml and re-run the app.

docker-compose up --build -d

Reminder: If you are going to run the app in production, do not forget to turn off DEBUG flags in .env file and set the environment to production.

Tests

Note: We have a test code for only vcs module now. We'll add more tests for all features soon

python3 -m unittest discover tests

Dependencies

License

The content of this project itself is licensed under the Creative Commons Attribution 3.0 license, and the underlying source code used to format and display that content is licensed under the MIT license.

More Repositories

1

diagrams

ðŸŽĻ Diagram as Code for prototyping cloud system architectures
Python
33,942
star
2

go-web-framework-stars

⭐ Web frameworks for Go, most starred on GitHub
Go
3,308
star
3

git-tips

📚 Git 팁 ëŠĻėŒė§‘ (https://github.com/git-tips/tips 한ęĩ­ė–ī ëē„ė „)
1,016
star
4

flog

ðŸŽĐ A fake log generator for common log formats
Go
997
star
5

commonregex

ðŸŦ A collection of common regular expressions for Go
Go
861
star
6

go-todo-rest-api-example

📚 A RESTful API example for simple todo application with Go
Go
523
star
7

awesome-finder

😎 Search the awesome curated list without browser
Python
269
star
8

cfmt

ðŸŽĻ Contextual fmt inspired by bootstrap color classes
Go
100
star
9

funmath

☔ Implementations of mathematical functions, formulas and concepts
Python
91
star
10

blockchain-tutorial

ëļ”록ėēīėļ 튜토ëĶŽė–ž (Building Blockchain in Go 한ęĩ­ė–ī ëē„ė „)
90
star
11

python-web-framework-stars

⭐ïļ Web frameworks for Python, most starred on Github
Python
68
star
12

round

🌀 A command-line for rounding the images
Go
57
star
13

gobyexample

🎁 Go By Example 한ęĩ­ė–ī ëē„ė „
HTML
57
star
14

gosearch

🔍 Search the Go packages via command-line
Go
53
star
15

python-curses-scroll-example

📚 How to implement the scroll and paging in Python curses
Python
46
star
16

gomo

🍔 Terminal based memo application written in Go
Go
40
star
17

redis-migrate

ðŸ“Ū Simple command line tool for redis data migration (minimal functionality)
Python
38
star
18

sorting

ðŸĄ Visualize the process of sorting algorithms simply
Python
25
star
19

go-codelab

🍰 Simple codelab for learning Go language (simple and tiny IoT service)
Go
20
star
20

sheet2db

A tiny python library for syncing data from google spreadsheet to database
Python
18
star
21

mingrammer

mingrammer
15
star
22

casec

🌈 A text case converter
Go
14
star
23

clip

📎 A simple key-value store for clipboard
Go
11
star
24

architecture-by-me

A collection of architectures made by myself
10
star
25

fitter

🍭 An on-demand image server for generating dynamic images
Python
10
star
26

cs231n-numpy-tutorial

IPython notebook for cs231n python numpy tutorial
Jupyter Notebook
7
star
27

tyfy

Truthy and falsy text validators
Go
6
star
28

os-assign

OS programming assignment
C
5
star
29

homebrew-flog

Homebrew tap repository for github.com/mingrammer/flog
Ruby
4
star
30

docker-complex-app

Example repository for testing the CI/CD flow with multi-docker
JavaScript
4
star
31

dynamodb-toolkit

A command line toolkit for aws dynamodb
Go
4
star
32

dotfiles

mingrammer's dotfiles
Vim Script
3
star
33

mingrammer.github.io

ðŸģ mingrammer's note
CSS
3
star
34

python-practices

🐍 A cureated collection of python practices for various topics
Python
3
star
35

go-mod-onbuild

ðŸģ Go + module onbuild image
Dockerfile
3
star
36

problem-solving

A collection of problem solving solutions
Python
2
star
37

bit-counter

ðŸ’Ą A simple bit counter
Python
2
star
38

go-simple-crawler-practice

Simple crawler for learning go
Go
2
star
39

meetup-api

API & Slack bot RTM server for 9XD meetup service
Go
2
star
40

deep-learning-from-scratch

Jupyter notebooks for "deep learning from scratch" book
Jupyter Notebook
1
star
41

atom-settings

my settings for atom editor
CoffeeScript
1
star
42

wiki

My personal wiki
1
star
43

project-euler

A collection of project euler solutions
Python
1
star
44

go-simple-chat-practice

Simple chat server for learning go
Go
1
star
45

coursera-machine-learning

Exercises for coursera machine learning course
MATLAB
1
star
46

docker-react

Example repository for testing the CI/CD flow with docker
JavaScript
1
star