Extensible sifting tool for information from GitHub repositories
Project description
Repocribro is web application allowing users to register their GitHub repository so they can be managed, searched, browsed, tested, etc. (depends on used extensions) with the site. Main idea is to provide simple but powerful modular tool for building groups of GitHub repositories which are developed by different users and organizations.
Cribro means sieve in Italian language (origins in Latin word cribrum). This project provides tool for intelligent sifting repositories, information about them and its contents.
Typical use cases
Community - repositories hub of examples / projects related to the community (methodology, standards, …)
Courses - gathering and evaluating homeworks
Specification
Python-powered web application (Flask + SQLAlchemy)
Distributed as python package (will be on PyPi) and via GitHub
Ability to extend via python packages (from PyPi)
Extend web interface, functionality and/or CLI commands
Functionality
User login via GitHub account (will create an account in app paired with GitHub account)
Each user has own page with details and list of (public) repositories in app
User can allow/forbid own GitHub repository within app
Each registered repository has own page with details and history, details are gathered via GitHub API and some are stored in DB
User can define if the repository page should be public, hidden (secret URL) or private (logged owner and admins)
User has privileges (user/admin)
User = managing own repositories
Admin = managing everything
More roles can be created and privileges assigned to roles
Search repositories (by name, author, description, language, …)
Administration zone
User management
Repositories management
Other settings including extension settings
Listening (webhooks) for changes in repository:
push
release
repository
REST API for search, repository detail and user detail (public content)
All/one repository check can be run as procedure (added to cron or runned at start of the application)
Documentation will be provided (Sphinx, readthedocs)
Everything what can be will be tested (pytest, Travis CI, coverage)
Ideas for extensions
repocribro-file
Read file info and store it in database for repository
repocribro-test
Run test/other script on repository contents and show evaluation on repository page
repocribro-test-docker
Allow to run tests inside Docker (or other container) with restrictions so hosting system cannot be harmed
repocribro-badge
Add functionality to generate badge for repository (like shields.io)
repocribro-<event>
Adding some actions for more webhooks (issues, milestones, statuses, …)
repocribro-gitlab, repocribro-bitbucket, …
repocribro-<org>
Domain/organization-specific functionality
License
This project is licensed under the MIT License - see the LICENSE file for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file repocribro-0.1.2.tar.gz
.
File metadata
- Download URL: repocribro-0.1.2.tar.gz
- Upload date:
- Size: 293.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 826e8c0b2910f59f7f8555742d62532dede460803eca5f4a63707ba422c753c4 |
|
MD5 | dd9696bb96a8b1e59f4e884e825b9aee |
|
BLAKE2b-256 | fe608eb1a753ae71906d370f40bc4996299854238ee9c6a7233d72cb0dc48ccc |