All Projects → thealphadollar → Nephos

thealphadollar / Nephos

Licence: GPL-3.0 license
Project Nephos [GSoC '18]: Automated recording, processing, and uploading of TV streams for Universities.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to Nephos

CCAligner
🔮 Word by word audio subtitle synchronisation tool and API. Developed under GSoC 2017 with CCExtractor.
Stars: ✭ 131 (+555%)
Mutual labels:  ccextractor, closed-captions
pyGinit
A simple github automation cli
Stars: ✭ 15 (-25%)
Mutual labels:  click, cli-app
pysubs2
A Python library for editing subtitle files
Stars: ✭ 174 (+770%)
Mutual labels:  subtitles-parsing, closed-captions
exch
a command-line tool to see currency exchange rates
Stars: ✭ 20 (+0%)
Mutual labels:  click, cli-app
roundup
un-official mirror of http://hg.code.sf.net/p/roundup/code -- used for CI. Please visit https://issues.roundup-tracker.org for finding starter issues or log new issues.
Stars: ✭ 20 (+0%)
Mutual labels:  sqlite3, cli-app
Utlyz-CLI
Let's you to access your FB account from the command line and returns various things number of unread notifications, messages or friend requests you have.
Stars: ✭ 30 (+50%)
Mutual labels:  click, cli-app
laravel-database-manager
Make your database simple, easier and faster with vuejs.
Stars: ✭ 50 (+150%)
Mutual labels:  sqlite3
contessa
Easy way to define, execute and store quality rules for your data.
Stars: ✭ 17 (-15%)
Mutual labels:  sqlite3
diffido
Watch web pages for changes
Stars: ✭ 19 (-5%)
Mutual labels:  apscheduler
ndb.nim
A db_sqlite fork with a proper typing
Stars: ✭ 38 (+90%)
Mutual labels:  sqlite3
esp arduino sqlite3 lib
Sqlite3 library for ESP8266 Arduino core
Stars: ✭ 78 (+290%)
Mutual labels:  sqlite3
GiG
🎉 generate gitignore files for almost all languages
Stars: ✭ 24 (+20%)
Mutual labels:  cli-app
flipper
Search/Recommendation engine and metainformation server for fanfiction net
Stars: ✭ 29 (+45%)
Mutual labels:  sqlite3
Android-Touch-Helper
开屏跳过-安卓系统的开屏广告自动跳过助手
Stars: ✭ 488 (+2340%)
Mutual labels:  click
awesome-cli-apps
🖥 📊 🕹 🛠 A curated list of command line apps
Stars: ✭ 10,603 (+52915%)
Mutual labels:  cli-app
gorest
Go RESTful API starter kit with Gin, JWT, GORM (MySQL, PostgreSQL, SQLite), Redis, Mongo, 2FA, email verification, password recovery
Stars: ✭ 135 (+575%)
Mutual labels:  sqlite3
sqlite3-compression-encryption-vfs
Compression and Encryption Virtual File System for SQLite 3.
Stars: ✭ 88 (+340%)
Mutual labels:  sqlite3
electron-RxDB
RxDB is a high-performance, observable object store built on top of SQLite & intended for database-driven Electron applications.
Stars: ✭ 68 (+240%)
Mutual labels:  sqlite3
bin-version-cli
Get the version of a binary in semver format
Stars: ✭ 36 (+80%)
Mutual labels:  cli-app
sqlite3
The fastest and correct module for SQLite3 in Deno.
Stars: ✭ 143 (+615%)
Mutual labels:  sqlite3

logo

Project Nephos forthebadge made-with-python GPLv3 license

Google Summer Of Code 2018 (Open Source Love png3) Project under CCExtractor; Project Nephos

CodeFactor Requirements Status Build Status codecov

Abstract

Project Nephos aims at simplifying the process of moving samples from local storage to cloud for Universities by automating, almost, all the steps involved. It consists of three independent modules; recording module, processing module, and uploading module.

The recording module is responsible for managing the addition of channel lists, set up of recording jobs and saving the recorded streams. The processing module parses saved samples, associates tags, extracts subtitles and converts the video files to MP4 to reduce the file size. The uploading module uploads the processed stream files, and also shares samples with other universities if required.

Nephos is developed, using Python and few other open source projects. To accomplish all the above mentioned tasks with cent-percent reliability and zero failures (unless wrong data is input, which gets logged), testing and logging is an integral part of Nephos development and running cycle, respectively.

Project Link


Installation (And Setup)

  1. Nephos requires following environment dependencies:
    • Python 3
    • Pip
    • pipenv
  2. Nephos requires following third party libraries:
    • FFmpeg and FFprobe
    • Multicat
    • CCExtractor (requires tesseract-ocr-dev and leptonica-dev)
    1. Nephos uses mail client to send email notifications, please configure it before running Nephos.
    2. You'll be asked to enter the email address(es) of recipient(s) of critical mails at initialisation of Nephos. It is only asked on first launch, to edit it later:
      • Go to Nephos directory, default is $HOME/Nephos
      • Edit the hidden file ".critical_mail_addrs", multiple addresses separated by a single whitespace
      • Restart Nephos after editing the file
      • In case of any email address fails at RegEx match, it'll be listed in info logs, ignored by config handler and you can correct it in the same file

Install Using Git Clone

    1. Clone the repository, git clone https://github.com/thealphadollar/nephos.git && cd nephos
    2. Run the script, sudo ./install.sh
      The script will install all the aforementioned system dependencies and python libraries for Nephos.
      NOTE: Running pip3 install . Will automatically determine your distribution and install the dependencies for you
    1. Observe and modify configurations available in $HOME/Nephos/config (especially maintenance and module configurations, and processing script)
      • Update path to various libraries, in the config file, being used; fatal error might error in case where the path to binaries (soft links work) is not appropriate.
    2. Add nephos_start.sh as a cron job to be executed at startup in root crontab.
      @restart /path/to/nephos_start.sh 2&> ~/Nephos/boot_start.log
    3. Run nephos using sudo ./nephos_start.sh. This command runs Nephos under a new screen session. Press ctrl + a and then 'd' to detach from the session while it keeps running in the background.

To Add Channels And Jobs

Please go to Nephos Config repository to modify the channels, jobs and share lists that Nephos works on.

Running the Web Interface

Nephos has a Web Interface that you can see how everything works. To get started set the enviorment FLASK_APP to the path where webServer.py is and run it with flask run and you can see the database entries in an instant!

Currently the web app offers for you to see which channels are jobs in the database and can be accessed by visiting the url flask provides with the following paths: /channels and /jobs

Developer Documentation

Developers can view the documentation that is present for users since it is detailed and one needs to read it in order to understand how Nephos functions. Along with that, docstrings have been placed in HTML format in docs/DevDocs and can be accessed in a systematic manner by opening docs/DevDocs/nephos.html in a browser.

You can also go here to access it online.

Tests

In order for all code to be successful and well maintanable we run tests to test out the code. To do so run pipenv run py.test

More Info

For more information regarding using Nephos and how it works, visit the wiki

Reporting Bugs

Bugs should be reported in the issue tracker. Security issues must be reported at [email protected] to avoid exploitation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].