First release of repocribro as result of the semester project for subject MI-PYT (Faculty of Information Technology, CTU in Prague):
- Python powered web application (Flask + SQLAlchemy + extensions)
- Extensibility
- Discovery -
setuptools
entry point group (more in docs or wiki) - Extending - defining methods and calling defined hooks
- Discovery -
- Functionality
- Cooperating with GitHub API - get informations, OAuth, webhooks (create, delete, listen)
- Users can add own personal repositories into app as private, hidden (secret URL) or public
- There are public pages for users, organizations and repositories
- Full-text search of users, organizations and repositories
- Administration zone for managing users, roles and repositories (for access
admin
role is required) - Simple REST API (just GET) for all resources via
flask_restless
(will be reimplemented in the future) - CLI commands for creating DB, assigning roles and checking/processing unregistered webhook events for public repositories
- Tests = Travis CI (
pytest
,pytest-cov
,pytest-pep8
), Coverage 98% - Documentation = ReadTheDocs, docstrings everywhere
- Distribution = setup.py, PyPi
Plans for the future
There are still many TODOs and things to improve. This is just beginning of more complex project. Main goals for v0.2
:
- Organizations and their repositories
- More hooks and other options for extensions, also develop some
- Own REST API (search, GET)
- Refactoring (some parts can be improved, class based views, decorators, ...)
- Allow users to do
repocheck
from the web interface (esp. for private repositories) - Look & feel improvements
- Work on minor TODOs