isgc


Nameisgc JSON
Version 1.0.2 PyPI version JSON
download
home_pagehttps://github.com/ahsantariq7/isgc
SummaryA SGPA and CGPA Calculator for Islamia University Bahawalpur Graduation Students under supervision of Malik Shahzad, a Senior Developer. Also thankful for departmental support from M. Bux Alvi Sahb and Engr. Mubashir Hussain. A motivation from Muhammad Ibrar. Also very thankful to Sundas Tariq and Laiba Saleem for contributing to this project and making it usable for all IUB Graduation Students. Some friendly support from Asim Zubair and Usman Akram
upload_time2024-01-08 22:38:09
maintainer
docs_urlNone
authorAhsan Tariq
requires_python
license
keywords isgc isgc gpa calculator education islamia university bahawalpur ahsan tariq ahsan tariq 0724
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Islamia University Bahawalpur SGPA, CGPA Calculation And Analysis

1. How to Run the project.

`pip install isgc`

2. import calculation_gpa

`from isgc.gpa_calculator.calculator import calculate_gpa`


3. Enter Semesters detail like that.


<div>
    <pre>
        <code id="semesters" class="json">
{
    "Semester 1": {
        "Subject 1": {"credit_hours": 2, "marks": 44, "total_marks": 50},
        "Subject 2": {"credit_hours": 3, "marks": 76, "total_marks": 100},
        "Subject 3": {"credit_hours": 2, "marks": 36, "total_marks": 50},
        "Subject 4": {"credit_hours": 1, "marks": 46, "total_marks": 50},
        "Subject 5": {"credit_hours": 3, "marks": 31, "total_marks": 50},
        "Subject 6": {"credit_hours": 1, "marks": 43, "total_marks": 50},
        "Subject 7": {"credit_hours": 3, "marks": 88, "total_marks": 100},
        "Subject 8": {"credit_hours": 1, "marks": 44, "total_marks": 50}
    },
    "Semester 2": {
        "Subject 1": {"credit_hours": 2, "marks": 44, "total_marks": 50},
        "Subject 2": {"credit_hours": 3, "marks": 76, "total_marks": 100},
        "Subject 3": {"credit_hours": 2, "marks": 36, "total_marks": 50},
        "Subject 4": {"credit_hours": 1, "marks": 46, "total_marks": 50},
        "Subject 5": {"credit_hours": 3, "marks": 31, "total_marks": 50},
        "Subject 6": {"credit_hours": 1, "marks": 43, "total_marks": 50},
        "Subject 7": {"credit_hours": 3, "marks": 160, "total_marks": 200},
        "Subject 8": {"credit_hours": 1, "marks": 44, "total_marks": 50}
    }
}
        </code>
    </pre>
</div>


4. Make an Object.

`cgpa=calculation_gpa(semesters)`

5. print output.

`print(cgpa)`

```bash
from isgc.gpa_calculator.calculator import calculate_gpa

semesters = {
    'Semester 1': {
        'Subject 1': {'credit_hours': 2, 'marks': 44, 'total_marks':50},
        'Subject 2': {'credit_hours': 3, 'marks': 76, 'total_marks':100},
        'Subject 3': {'credit_hours': 2, 'marks': 36, 'total_marks':50},
        'Subject 4': {'credit_hours': 1, 'marks': 46, 'total_marks':50},
        'Subject 5': {'credit_hours': 3, 'marks': 31, 'total_marks':50},
        'Subject 6': {'credit_hours': 1, 'marks': 43, 'total_marks':50},
        'Subject 7': {'credit_hours': 3, 'marks': 88, 'total_marks':100},
        'Subject 8': {'credit_hours': 1, 'marks': 44, 'total_marks':50},
    },
     'Semester 2': {
        'Subject 1': {'credit_hours': 2, 'marks': 44, 'total_marks':50},
        'Subject 2': {'credit_hours': 3, 'marks': 76, 'total_marks':100},
        'Subject 3': {'credit_hours': 2, 'marks': 36, 'total_marks':50},
        'Subject 4': {'credit_hours': 1, 'marks': 46, 'total_marks':50},
        'Subject 5': {'credit_hours': 3, 'marks': 31, 'total_marks':50},
        'Subject 6': {'credit_hours': 1, 'marks': 43, 'total_marks':50},
        'Subject 7': {'credit_hours': 3, 'marks': 160, 'total_marks':200},
        'Subject 8': {'credit_hours': 1, 'marks': 44, 'total_marks':50},
    }
    }


cgpa = calculate_gpa(semesters)


print(f"CGPA: {cgpa}")


```


Grading Scale we Use For Calculation official IUB :

<div>
    <pre>
        <code class="json">
        grading_scale = {
        100: {'grade_point': 4.0, 'remark': 'A+ Excellent'},
        99: {'grade_point': 4.0, 'remark': 'A+ Excellent'},
        98: {'grade_point': 4.0, 'remark': 'A+ Excellent'},
        97: {'grade_point': 4.0, 'remark': 'A+ Excellent'},
        96: {'grade_point': 4.0, 'remark': 'A+ Excellent'},
        95: {'grade_point': 4.0, 'remark': 'A+ Excellent'},
        94: {'grade_point': 4.0, 'remark': 'A Very Good'},
        93: {'grade_point': 4.0, 'remark': 'A Very Good'},
        92: {'grade_point': 4.0, 'remark': 'A Very Good'},
        91: {'grade_point': 4.0, 'remark': 'A Very Good'},
        90: {'grade_point': 4.0, 'remark': 'A Very Good'},
        89: {'grade_point': 4.0, 'remark': 'A Very Good'},
        88: {'grade_point': 4.0, 'remark': 'A Very Good'},
        87: {'grade_point': 4.0, 'remark': 'A Very Good'},
        86: {'grade_point': 4.0, 'remark': 'A Very Good'},
        85: {'grade_point': 4.0, 'remark': 'A Very Good'},
        84: {'grade_point': 3.9, 'remark': 'B+ Good'},
        83: {'grade_point': 3.9, 'remark': 'B+ Good'},
        82: {'grade_point': 3.8, 'remark': 'B+ Good'},
        81: {'grade_point': 3.7, 'remark': 'B+ Good'},
        80: {'grade_point': 3.7, 'remark': 'B+ Good'},
        79: {'grade_point': 3.6, 'remark': 'B Good'},
        78: {'grade_point': 3.5, 'remark': 'B Good'},
        77: {'grade_point': 3.5, 'remark': 'B Good'},
        76: {'grade_point': 3.4, 'remark': 'B Good'},
        75: {'grade_point': 3.3, 'remark': 'B Good'},
        74: {'grade_point': 3.3, 'remark': 'B Good'},
        73: {'grade_point': 3.2, 'remark': 'B Good'},
        72: {'grade_point': 3.1, 'remark': 'B Good'},
        71: {'grade_point': 3.1, 'remark': 'B Good'},
        70: {'grade_point': 3.0, 'remark': 'B Good'},
        69: {'grade_point': 2.9, 'remark': 'C Satisfactory'},
        68: {'grade_point': 2.8, 'remark': 'C Satisfactory'},
        67: {'grade_point': 2.7, 'remark': 'C Satisfactory'},
        66: {'grade_point': 2.6, 'remark': 'C Satisfactory'},
        65: {'grade_point': 2.5, 'remark': 'C Satisfactory'},
        64: {'grade_point': 2.4, 'remark': 'C Satisfactory'},
        63: {'grade_point': 2.3, 'remark': 'C Satisfactory'},
        62: {'grade_point': 2.2, 'remark': 'C Satisfactory'},
        61: {'grade_point': 2.1, 'remark': 'C Satisfactory'},
        60: {'grade_point': 2.0, 'remark': 'C Satisfactory'},
        59: {'grade_point': 1.9, 'remark': 'D Poor'},
        58: {'grade_point': 1.8, 'remark': 'D Poor'},
        57: {'grade_point': 1.7, 'remark': 'D Poor'},
        56: {'grade_point': 1.6, 'remark': 'D Poor'},
        55: {'grade_point': 1.5, 'remark': 'D Poor'},
        54: {'grade_point': 1.4, 'remark': 'D Poor'},
        53: {'grade_point': 1.3, 'remark': 'D Poor'},
        52: {'grade_point': 1.2, 'remark': 'D Poor'},
        51: {'grade_point': 1.1, 'remark': 'D Poor'},
        50: {'grade_point': 1.0, 'remark': 'D Poor'},
        49: {'grade_point': 0.0, 'remark': 'F Fail'}
        }

</div>

# Pseude Code

```bash
FUNCTION custom_round(number, decimal_places)
    factor = 10 raised to the power of decimal_places
    rounded_number = integer part of (number * factor + 0.5) divided by factor
    RETURN rounded_number

FUNCTION calculate_gpa(semesters)
    DEFINE grading_scale as a dictionary with grade points and remarks

    INITIALIZE total_grade_points, total_credit_hours, total_rounded_percentage, total_total_marks,
               total_obtained_marks, total_quality_points, semester_gp_list, and subject_grade_remarks

    INITIALIZE result_table as an empty list

    FOR EACH semester, subjects IN semesters
        INITIALIZE semester-specific variables

        FOR EACH subject, details IN subjects
            CALCULATE percentage, rounded_percentage, grade_point, remark, and quality_point

            ACCUMULATE semester-specific data

            ADD grade remarks for each subject across semesters to subject_grade_remarks

        CALCULATE semester_gpa
        ADD semester_gpa to semester_gp_list

        ACCUMULATE total data across semesters

        APPEND semester-wise data to result_table

    CALCULATE cgpa based on total_grade_points and total_credit_hours

    DISPLAY results in a table format using tabulate

    PLOT visualizations using Matplotlib and Seaborn for SGPA and subject grade remarks

    RETURN cgpa rounded to 2 decimal places
```

Certainly! Here's the algorithm described in a more mathematical form using Markdown:


<hr>

You can calculate upto your choice of semesters and subjects format i told you.

<hr>
Feel Free to contact if you have any kind of Query.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ahsantariq7/isgc",
    "name": "isgc",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "isgc, ISGC, GPA calculator education,Islamia University Bahawalpur,Ahsan Tariq,Ahsan Tariq 0724",
    "author": "Ahsan Tariq",
    "author_email": "ahsantariq0724@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/22/4a/89d16f50b0cc83eaf6882209d3e46178c9dd612645588141b515cca33b85/isgc-1.0.2.tar.gz",
    "platform": null,
    "description": "# Islamia University Bahawalpur SGPA, CGPA Calculation And Analysis\n\n1. How to Run the project.\n\n`pip install isgc`\n\n2. import calculation_gpa\n\n`from isgc.gpa_calculator.calculator import calculate_gpa`\n\n\n3. Enter Semesters detail like that.\n\n\n<div>\n    <pre>\n        <code id=\"semesters\" class=\"json\">\n{\n    \"Semester 1\": {\n        \"Subject 1\": {\"credit_hours\": 2, \"marks\": 44, \"total_marks\": 50},\n        \"Subject 2\": {\"credit_hours\": 3, \"marks\": 76, \"total_marks\": 100},\n        \"Subject 3\": {\"credit_hours\": 2, \"marks\": 36, \"total_marks\": 50},\n        \"Subject 4\": {\"credit_hours\": 1, \"marks\": 46, \"total_marks\": 50},\n        \"Subject 5\": {\"credit_hours\": 3, \"marks\": 31, \"total_marks\": 50},\n        \"Subject 6\": {\"credit_hours\": 1, \"marks\": 43, \"total_marks\": 50},\n        \"Subject 7\": {\"credit_hours\": 3, \"marks\": 88, \"total_marks\": 100},\n        \"Subject 8\": {\"credit_hours\": 1, \"marks\": 44, \"total_marks\": 50}\n    },\n    \"Semester 2\": {\n        \"Subject 1\": {\"credit_hours\": 2, \"marks\": 44, \"total_marks\": 50},\n        \"Subject 2\": {\"credit_hours\": 3, \"marks\": 76, \"total_marks\": 100},\n        \"Subject 3\": {\"credit_hours\": 2, \"marks\": 36, \"total_marks\": 50},\n        \"Subject 4\": {\"credit_hours\": 1, \"marks\": 46, \"total_marks\": 50},\n        \"Subject 5\": {\"credit_hours\": 3, \"marks\": 31, \"total_marks\": 50},\n        \"Subject 6\": {\"credit_hours\": 1, \"marks\": 43, \"total_marks\": 50},\n        \"Subject 7\": {\"credit_hours\": 3, \"marks\": 160, \"total_marks\": 200},\n        \"Subject 8\": {\"credit_hours\": 1, \"marks\": 44, \"total_marks\": 50}\n    }\n}\n        </code>\n    </pre>\n</div>\n\n\n4. Make an Object.\n\n`cgpa=calculation_gpa(semesters)`\n\n5. print output.\n\n`print(cgpa)`\n\n```bash\nfrom isgc.gpa_calculator.calculator import calculate_gpa\n\nsemesters = {\n    'Semester 1': {\n        'Subject 1': {'credit_hours': 2, 'marks': 44, 'total_marks':50},\n        'Subject 2': {'credit_hours': 3, 'marks': 76, 'total_marks':100},\n        'Subject 3': {'credit_hours': 2, 'marks': 36, 'total_marks':50},\n        'Subject 4': {'credit_hours': 1, 'marks': 46, 'total_marks':50},\n        'Subject 5': {'credit_hours': 3, 'marks': 31, 'total_marks':50},\n        'Subject 6': {'credit_hours': 1, 'marks': 43, 'total_marks':50},\n        'Subject 7': {'credit_hours': 3, 'marks': 88, 'total_marks':100},\n        'Subject 8': {'credit_hours': 1, 'marks': 44, 'total_marks':50},\n    },\n     'Semester 2': {\n        'Subject 1': {'credit_hours': 2, 'marks': 44, 'total_marks':50},\n        'Subject 2': {'credit_hours': 3, 'marks': 76, 'total_marks':100},\n        'Subject 3': {'credit_hours': 2, 'marks': 36, 'total_marks':50},\n        'Subject 4': {'credit_hours': 1, 'marks': 46, 'total_marks':50},\n        'Subject 5': {'credit_hours': 3, 'marks': 31, 'total_marks':50},\n        'Subject 6': {'credit_hours': 1, 'marks': 43, 'total_marks':50},\n        'Subject 7': {'credit_hours': 3, 'marks': 160, 'total_marks':200},\n        'Subject 8': {'credit_hours': 1, 'marks': 44, 'total_marks':50},\n    }\n    }\n\n\ncgpa = calculate_gpa(semesters)\n\n\nprint(f\"CGPA: {cgpa}\")\n\n\n```\n\n\nGrading Scale we Use For Calculation official IUB :\n\n<div>\n    <pre>\n        <code class=\"json\">\n        grading_scale = {\n        100: {'grade_point': 4.0, 'remark': 'A+ Excellent'},\n        99: {'grade_point': 4.0, 'remark': 'A+ Excellent'},\n        98: {'grade_point': 4.0, 'remark': 'A+ Excellent'},\n        97: {'grade_point': 4.0, 'remark': 'A+ Excellent'},\n        96: {'grade_point': 4.0, 'remark': 'A+ Excellent'},\n        95: {'grade_point': 4.0, 'remark': 'A+ Excellent'},\n        94: {'grade_point': 4.0, 'remark': 'A Very Good'},\n        93: {'grade_point': 4.0, 'remark': 'A Very Good'},\n        92: {'grade_point': 4.0, 'remark': 'A Very Good'},\n        91: {'grade_point': 4.0, 'remark': 'A Very Good'},\n        90: {'grade_point': 4.0, 'remark': 'A Very Good'},\n        89: {'grade_point': 4.0, 'remark': 'A Very Good'},\n        88: {'grade_point': 4.0, 'remark': 'A Very Good'},\n        87: {'grade_point': 4.0, 'remark': 'A Very Good'},\n        86: {'grade_point': 4.0, 'remark': 'A Very Good'},\n        85: {'grade_point': 4.0, 'remark': 'A Very Good'},\n        84: {'grade_point': 3.9, 'remark': 'B+ Good'},\n        83: {'grade_point': 3.9, 'remark': 'B+ Good'},\n        82: {'grade_point': 3.8, 'remark': 'B+ Good'},\n        81: {'grade_point': 3.7, 'remark': 'B+ Good'},\n        80: {'grade_point': 3.7, 'remark': 'B+ Good'},\n        79: {'grade_point': 3.6, 'remark': 'B Good'},\n        78: {'grade_point': 3.5, 'remark': 'B Good'},\n        77: {'grade_point': 3.5, 'remark': 'B Good'},\n        76: {'grade_point': 3.4, 'remark': 'B Good'},\n        75: {'grade_point': 3.3, 'remark': 'B Good'},\n        74: {'grade_point': 3.3, 'remark': 'B Good'},\n        73: {'grade_point': 3.2, 'remark': 'B Good'},\n        72: {'grade_point': 3.1, 'remark': 'B Good'},\n        71: {'grade_point': 3.1, 'remark': 'B Good'},\n        70: {'grade_point': 3.0, 'remark': 'B Good'},\n        69: {'grade_point': 2.9, 'remark': 'C Satisfactory'},\n        68: {'grade_point': 2.8, 'remark': 'C Satisfactory'},\n        67: {'grade_point': 2.7, 'remark': 'C Satisfactory'},\n        66: {'grade_point': 2.6, 'remark': 'C Satisfactory'},\n        65: {'grade_point': 2.5, 'remark': 'C Satisfactory'},\n        64: {'grade_point': 2.4, 'remark': 'C Satisfactory'},\n        63: {'grade_point': 2.3, 'remark': 'C Satisfactory'},\n        62: {'grade_point': 2.2, 'remark': 'C Satisfactory'},\n        61: {'grade_point': 2.1, 'remark': 'C Satisfactory'},\n        60: {'grade_point': 2.0, 'remark': 'C Satisfactory'},\n        59: {'grade_point': 1.9, 'remark': 'D Poor'},\n        58: {'grade_point': 1.8, 'remark': 'D Poor'},\n        57: {'grade_point': 1.7, 'remark': 'D Poor'},\n        56: {'grade_point': 1.6, 'remark': 'D Poor'},\n        55: {'grade_point': 1.5, 'remark': 'D Poor'},\n        54: {'grade_point': 1.4, 'remark': 'D Poor'},\n        53: {'grade_point': 1.3, 'remark': 'D Poor'},\n        52: {'grade_point': 1.2, 'remark': 'D Poor'},\n        51: {'grade_point': 1.1, 'remark': 'D Poor'},\n        50: {'grade_point': 1.0, 'remark': 'D Poor'},\n        49: {'grade_point': 0.0, 'remark': 'F Fail'}\n        }\n\n</div>\n\n# Pseude Code\n\n```bash\nFUNCTION custom_round(number, decimal_places)\n    factor = 10 raised to the power of decimal_places\n    rounded_number = integer part of (number * factor + 0.5) divided by factor\n    RETURN rounded_number\n\nFUNCTION calculate_gpa(semesters)\n    DEFINE grading_scale as a dictionary with grade points and remarks\n\n    INITIALIZE total_grade_points, total_credit_hours, total_rounded_percentage, total_total_marks,\n               total_obtained_marks, total_quality_points, semester_gp_list, and subject_grade_remarks\n\n    INITIALIZE result_table as an empty list\n\n    FOR EACH semester, subjects IN semesters\n        INITIALIZE semester-specific variables\n\n        FOR EACH subject, details IN subjects\n            CALCULATE percentage, rounded_percentage, grade_point, remark, and quality_point\n\n            ACCUMULATE semester-specific data\n\n            ADD grade remarks for each subject across semesters to subject_grade_remarks\n\n        CALCULATE semester_gpa\n        ADD semester_gpa to semester_gp_list\n\n        ACCUMULATE total data across semesters\n\n        APPEND semester-wise data to result_table\n\n    CALCULATE cgpa based on total_grade_points and total_credit_hours\n\n    DISPLAY results in a table format using tabulate\n\n    PLOT visualizations using Matplotlib and Seaborn for SGPA and subject grade remarks\n\n    RETURN cgpa rounded to 2 decimal places\n```\n\nCertainly! Here's the algorithm described in a more mathematical form using Markdown:\n\n\n<hr>\n\nYou can calculate upto your choice of semesters and subjects format i told you.\n\n<hr>\nFeel Free to contact if you have any kind of Query.\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A SGPA and CGPA Calculator for Islamia University Bahawalpur Graduation Students under supervision of Malik Shahzad, a Senior Developer. Also thankful for departmental support from M. Bux Alvi Sahb and Engr. Mubashir Hussain. A motivation from Muhammad Ibrar. Also very thankful to Sundas Tariq and Laiba Saleem for contributing to this project and making it usable for all IUB Graduation Students. Some friendly support from Asim Zubair and Usman Akram",
    "version": "1.0.2",
    "project_urls": {
        "Bug Reports": "https://github.com/ahsantariq7/isgc/issues",
        "Homepage": "https://github.com/ahsantariq7/isgc",
        "Source": "https://github.com/ahsantariq7/isgc"
    },
    "split_keywords": [
        "isgc",
        " isgc",
        " gpa calculator education",
        "islamia university bahawalpur",
        "ahsan tariq",
        "ahsan tariq 0724"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1beeb4a8d4e6869de0a704f2543e645f03059d95887ce3667ccbced786a1537c",
                "md5": "995f174681a7ddd94aa13fa0643c50e6",
                "sha256": "85cf6415fce342fac73c3e932671f5c0975810690191d4e4ec9d1d44daef9ccc"
            },
            "downloads": -1,
            "filename": "isgc-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "995f174681a7ddd94aa13fa0643c50e6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 7553,
            "upload_time": "2024-01-08T22:38:06",
            "upload_time_iso_8601": "2024-01-08T22:38:06.000092Z",
            "url": "https://files.pythonhosted.org/packages/1b/ee/b4a8d4e6869de0a704f2543e645f03059d95887ce3667ccbced786a1537c/isgc-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "224a89d16f50b0cc83eaf6882209d3e46178c9dd612645588141b515cca33b85",
                "md5": "755c13fec81eaaeb4fb1e5db46198a68",
                "sha256": "d48bebfed50796165d0b580e9b96c90790c3a1910b70c29342bce4f644922c72"
            },
            "downloads": -1,
            "filename": "isgc-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "755c13fec81eaaeb4fb1e5db46198a68",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 5730,
            "upload_time": "2024-01-08T22:38:09",
            "upload_time_iso_8601": "2024-01-08T22:38:09.378653Z",
            "url": "https://files.pythonhosted.org/packages/22/4a/89d16f50b0cc83eaf6882209d3e46178c9dd612645588141b515cca33b85/isgc-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-08 22:38:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ahsantariq7",
    "github_project": "isgc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "isgc"
}
        
Elapsed time: 3.52934s