github-metrics's People
github-metrics's Issues
Use setup.py and requirements.txt for dependency installations
Manual installation of dependencies is discouraged. pip3
should be used for those (which necessitates setup.py
and requirements.txt
AC:
- You can use pip to install requirements for this project
Rename modules to match PEP-8
Makes too many API requests
The script hits the 5000 api requests in an hour limit before finishing. Need to either find a way to pull necessary data in less calls, or set up a counter and have it wait....the entire hour.....before continuing when the limit is reached.
Use `venv` in documentation
Using system-installed libraries is a big no-no for portable python code and for idempotent development so we need to add some info about it into the README
AC:
- README has info on how to use
python3 -m venv
to isolate the installed libraries for this project
Display Information and Statistics
There are unit tests for modules
All modules should ideally have some sort of unit test framework (eg. nose2
)
AC:
- Code has unit tests
Scanning unnecessary repos
The script is scanning all of the repos in each organization and that is time and API calls that don't need to be spent. Need to make it scan repos only owned by a specific team.
Add CLI parsing
Orgs as well as GH username/password should ideally be retrieved from the CLI with a fallback for env vars. argparse
library should help here.
AC:
- Orgs can be specified on the CLI
- Github credentials can be specified on the CLI
Add linting to the codebase
Some linting would be good on the codebase
AC:
- Pylint is run on the codebase on PRs
Use mapping objects for PR/Issues
This code should really use objects instead of these patched members of the class for unmarshaling data.
AC:
- Code has ORM-like mapping for PR/Issues
Use python string formatting for composed strings
Use of "foo" + blah + "bar"
type strings is discouraged due to jumble of symbols needing to be visually parsed so we should transition to "foo %s bar".format(blah)"
-type formatting strings in code.
AC:
- Composed strings use
<string>.format()
This project is versioned
This project has some indication of what version of code is running in both CLI and setup.py
that is pulled from the same source.
AC:
- We can print out the code version on the CLI
- Code version in setup.py matches the CLI version
- Both version are pulled from the same place (to avoid duplication / desync)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.