Package: nectaapi
Necta-APIGet a formated data of examination results scrapped from necta results website.Note this is not an officialNECTAAPI and is still in developmentCurrent version isBeta 2.0.4This Version comes with a more modular structure compared to the previsious onesDeveloped byTanzania Programmers, writtenby Vincent Laizer.UsageGet the package via pippip install nectaapiIn any return valueasterisc '*'indicates that no data could be scrappedGet a list of all schools in a given year and exam type.exam type can beacseeorcsee(for now, more to be added)fromnectaapiimportschoolsdata=schools.schools(2017,'csee')the function returns a dictionary in the form{"exam_type":"examamination type","year_of_exam":"year of examination","number_of_schools":"number of schools in this exam and year","schools":[{"school_name":"school name 1","registration_number":"registration number 1"},{"school_name":"school name 2","registration_number":"registration number 2"},...]}Get a highlight of school overal resultsfromnectaapiimportsummarydata=summary.summary(year,examType,schoolNumber)# schoolNumber is the schools registration number ie s3881 or s1268the function returns a dictionary in the form{"school_name":"name of school","school_number":"school_number","exam_type":"exam_type","year_of_exam":"year","school_category":"category based on number of students","number_of_students":"total number of students","school_region":"regional location of the school","male_students":"number of male students","female_students":"number of female students","absentees":"number of students who missed the exam","division_one":"number of division one","division_two":"number of division two","division_three":"number of division three","division_four":"number of division four","division_zero":"number of division zero","national_position":"school's national position","regional_position":"school's regional position","total_national_schools":"number of schools national wise","total_regional_schools":"number of schools regional wise","gpa":"school's GPA"}Get a single students resultsfromnectaapiimportstudentresults=student.student(year,examType,schoolNumber,studentNumber)# student number is the students part of their examination number eg 0040 or 0553The 'student' function returns a dictionary of this form{"examination_number":"students examination number","year_of_exam":"year","exam_type":"exam type","school_name":"name of student's school","gender":"student's gender","division":"students division","points":"grade points","subjects":{"subject1":"score1","subject2":"score2",...}}Compare schools performance over a range of years or of just a single schoolnot present in perivious versionsThe parameters of the function are, the start year, end year of comparison, exam type and a list of schools to compare. start year is always less than end year, suppose they are equal a one year comparison is returnedfromnectaapiimportcomparisondata=comparison.comparison(start_year,end_year,exam_type,["school_number1","school_number2",...])It then returns a dictionary with school comparable data like, gpa, national_position and number_of_students in the form{"year1":{"school_number1":{"gpa":"","national_position":"","number_of_students":""},"school_number2":{"gpa":"","national_position":"","number_of_students":""},...},"year2":{"school_number1":{"gpa":"","national_position":"","number_of_students":""},"school_number2":{"gpa":"","national_position":"","number_of_students":""},...}...}As one of my teachers said,"Academics is one of the 3 areas in life where competition is allowed"Mr. H. Masegense, so don't mind comparing performance of schools over the yearscomparison module comes with a bonus function to check if a school participated in national examinations of a given type and year. Returns a boolean valuefromnectaapiimportcomparisonisPresent=comparison.schoolPresent(year,exam_type,school_number)What's NewVersion 2.0.5Minor bug fixesVersion 2.0.4Compatibility with 2022ACSEEresults formatVersion 2.0.3Compatibility with 2021CSEEresults formatVersion 2.0.0Bug fixes on the school summary functionproper handling of the year 2015 where GPA system was used.note, in this year, distinction is counted as division one, merit as division two, credit as division three, pass as division four and fail as division zero.school comparison functioncode modularity improvementcheck out video tutorial onYouTubefor demos.contributions are awaited forGitHub repoNECTA-API