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
Last synced: 10 months ago · JSON representation ·

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
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme Citation

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 dev require 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 test branch, 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 test branch, 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 main branch for changes. It uses a webhook to trigger the Dockerization process.
  • The Jenkinsfile includes steps for building the Docker image and pushing it to Docker Hub.

GitHub Actions

  • Two workflows are defined:
    • .github/workflows/code_quality.yml for flake8 checks on the dev branch.
    • .github/workflows/autotester.yml for running automated tests on the test branch.

Docker

  • A Dockerfile is 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

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

.github/workflows/autotester.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/code_quality.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
Dockerfile docker
  • python 3.8 build
requirements.txt pypi
  • Flask-Testing *
  • datasets *
  • flake8 *
  • flask *
  • joblib *
  • pandas *
  • pytest *
  • scikit-learn *