-
Notifications
You must be signed in to change notification settings - Fork 11
Dependencies
The page provides brief details on what each of the dependency is used for in Nephos. This is a help page, aimed mostly at developers and contributors.
Below are all the Nephos' dependencies:
- Pydash
- coloredlogs
- PyYAML
- click
- APScheduler
- SQLAlchemy
- google-api-python-client
- oauth2client
- Flask
- Flask-SQLAlchemy
- Flask-WTF
PyDash is used to make the process of data insertion and extraction from data types, such as python dictionary and lists, easier. An example is given below.
dict1 = {
key1: {
"key2": value
}
}
print(pydash.get(dict1, "key1.key2"))
>>> value
coloredlogs enables colored terminal output for Python’s logging module.
PyYAML is used to handle the loading of configuration and data files, which are in YAML format. This format has been chosen due to it's human readable asthetics and way of writing.
You can read writing configuration files in YAML for more details.
Nephos uses PyYAML's safeload
method to load data into the program. The method forbids launching input as a script and is hence a better method than load
.
click is a Command Line Interface creation tool, and the initial interaction between User and Nephos uses the module.
APScheduler, with SQLAlchemy jobstore, is used to manage the scheduling of the jobs. The background scheduler from the module is used in Nephos; it stores jobs in a database permanently, and executes the tasks at designated time, all while running in the background.
Google python API is used to handle all the interactions with Drive API to make uploads and share them with the emails provided.
OAuth2Client handles all the authentication; we use flow method to authenticate with the google Drive.
Flask Is a Framework used to make the Web App. Flask Handles every interaction on the Web User the User Does
Flask-SQLAlchemy Is a Plugin for Flask that is used for to make the database connections.
Flask-WTF Is a Plugin used for creating, rendering and handling forms in a flask web app
Developed by thealphadollar under CCExtractor, GSoC 2018