mlops_a01_i200556_i202308
Science Score: 18.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: s-araqayyum
- Language: Python
- Default Branch: main
- Size: 24.3 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
MLOps CI/CD Pipeline Documentation
Overview 🌐
This document outlines the Continuous Integration/Continuous Deployment (CI/CD) pipeline designed for our project, which includes a machine learning model and a unique dataset for each group. Our pipeline integrates several tools and technologies, including Jenkins, GitHub, Docker, Python, and Flask, to automate testing, building, and deployment processes.
Team Members 👥
- Member 1: Sara Qayyum, s-araqayyum
- Member 2: Fouzan Yaseen, fozanyaseen
Pipeline Workflow 🔄
1. Development Workflow 🛠️
Branches:
main: Stable version of the project.dev: Development branch where all features are pushed till successful feature completion.test: Branch for running automated tests.
Code Quality Checks: On pushing changes to the dev branch, a GitHub Actions workflow is triggered to perform code quality checks using flake8.
2. Pull Requests and Code Review ✅
- Admin Approval: Changes pushed to
devrequire a pull request and approval from a group admin before merging, ensuring code review and quality, the same is required for all other branches.
3. Automated Testing 🧪
- On merging changes to the
testbranch, another GitHub Actions workflow triggers automated unit tests to verify the application's functionality.
4. Deployment 🚀
- Dockerization and Push to Docker Hub: Successful completion of tests on the
testbranch, and a subsequent merger to main after a pull request triggers a Jenkins job that dockerizes the application and pushes the Docker image to Docker Hub. - Post-Merge to Main: Upon merging, a notification is sent to the administrator (i202308@nu.edu.pk), indicating the successful execution of the Jenkins job.
Tools and Technologies 🛠️
- Jenkins: Automates the Dockerization process and pushes the Docker image to Docker Hub.
- GitHub Actions: Manages automated code quality checks and unit testing.
- Docker: Containerizes the application for consistent deployment.
- Python & Flask: Backend technology stack for application development.
Setup and Configuration ⚙️
Jenkins
- Jenkins is configured to monitor the
mainbranch for changes. It uses a webhook to trigger the Dockerization process. - The
Jenkinsfileincludes steps for building the Docker image and pushing it to Docker Hub.
GitHub Actions
- Two workflows are defined:
.github/workflows/code_quality.ymlfor flake8 checks on thedevbranch..github/workflows/autotester.ymlfor running automated tests on thetestbranch.
Docker
- A
Dockerfileis included at the root of the repository, specifying the build instructions for the application image.
Notifications 📧
- Email notifications are set up in Jenkins to alert the administrator upon the successful deployment of the application to Docker Hub.
Conclusion 🎯
This CI/CD pipeline streamlines our development process, ensuring that our application is thoroughly tested and reliably deployed with minimal manual intervention.
Owner
- Name: Sara
- Login: s-araqayyum
- Kind: user
- Repositories: 2
- Profile: https://github.com/s-araqayyum
happy to be here
Citation (citation.py)
_CITATION = """\
@inproceedings{saravia-etal-2018-carer,
title = "{CARER}: Contextualized Affect Representations for Emotion Recognition",
author = "Saravia, Elvis and
Liu, Hsien-Chi Toby and
Huang, Yen-Hao and
Wu, Junlin and
Chen, Yi-Shin",
booktitle = "Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing",
month = oct # "-" # nov,
year = "2018",
address = "Brussels, Belgium",
publisher = "Association for Computational Linguistics",
url = "https://www.aclweb.org/anthology/D18-1404",
doi = "10.18653/v1/D18-1404",
pages = "3687--3697",
abstract = "Emotions are expressed in nuanced ways, which varies by collective or individual experiences, knowledge, and beliefs. Therefore, to understand emotion, as conveyed through text, a robust mechanism capable of capturing and modeling different linguistic nuances and phenomena is needed. We propose a semi-supervised, graph-based algorithm to produce rich structural descriptors which serve as the building blocks for constructing contextualized affect representations from text. The pattern-based representations are further enriched with word embeddings and evaluated through several emotion recognition tasks. Our experimental results demonstrate that the proposed method outperforms state-of-the-art techniques on emotion recognition tasks.",
}
"""
_DESCRIPTION = """\
Emotion is a dataset of English Twitter messages with six basic emotions: anger, fear, joy, love, sadness, and surprise. For more detailed information please refer to the paper.
"""
_HOMEPAGE = "https://github.com/dair-ai/emotion_dataset"
_LICENSE = "The dataset should be used for educational and research purposes only"
_URLS = {
"split": {
"train": "data/train.jsonl.gz",
"validation": "data/validation.jsonl.gz",
"test": "data/test.jsonl.gz",
},
"unsplit": {
"train": "data/data.jsonl.gz",
},
}
GitHub Events
Total
Last Year
Dependencies
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- python 3.8 build
- Flask-Testing *
- datasets *
- flake8 *
- flask *
- joblib *
- pandas *
- pytest *
- scikit-learn *