NectaPy
A Python package for accessing NECTA (National Examinations Council of Tanzania) examination results.
Installation
pip install NectaPy
Usage
from NectaPy import st_result, sc_result, st_compare, st_mentioned
Get student result
# Possible levels: 'sfna', 'psle', 'ftna', 'csee', 'acsee', 'gatce', 'dsee', 'gatscce'
# Use st_result when finding a single student's result.
result = st_result('S4177/0003/2023', 'csee')
print(result)
Get school results
# Possible levels: 'sfna', 'psle', 'ftna', 'csee', 'acsee', 'gatce', 'dsee', 'gatscce'
# Use sc_result when you need to see the results of all students at a given school.
school_results = sc_result('S1001/2023', 'csee')
print(school_results)
Compare student results
# Possible levels: 'sfna', 'psle', 'ftna', 'csee', 'acsee', 'gatce', 'dsee', 'gatscce'
# Use st_compare when you need to compare students of the same level but from different schools or years, or the same school and year.
comparison_results = st_compare(['S0010/0001/2024', 'S3200/0100/2023', 'S0012/0005/2022'], 'csee')
print(comparison_results)
Get mentioned students results
# Possible levels: 'sfna', 'psle', 'ftna', 'csee', 'acsee', 'gatce', 'dsee', 'gatscce'
# Use st_mentioned when you need to find different students at the same time, who can be from different or the same year, level, or school.
mentioned_results = st_mentioned([('S1266/0001/2020', 'csee'), ('S2265/0001/2022', 'ftna'), ('S1066/0001/2017', 'csee')])
print(mentioned_results)
Supported Examinations
Primary Level:
- SFNA (Standard 2): 2017-2024
- PSLE (Standard 7): 2016-2024
Secondary Level:
- FTNA (Form 2): 2022-2024
- CSEE (Form 4): 2015-2024
- ACSEE (Form 6): 2014-2025
College Level:
- GATCE: 2019-2024
- DSEE: 2019-2024
- GATSCCE: 2019-2024
Features
- Easy to use API
- Supports all major NECTA examinations
- Returns results in dictionary format
- Handles errors gracefully
- Python 3+ compatible
Example Output
Student Result
{
"CNO": "S4177/0003",
"CANDIDATE NAME": "JOHN DOE",
"SEX": "M",
"DIV": "I",
"PTS": "17",
"DETAILED SUBJECTS": "CIVICS-'B' HIST-'A' GEO-'A' KISW-'B' ENGL-'A' PHY-'B' CHEM-'A' BIO-'B' B/MATH-'B'"
}
School Results
{
"school_no": "S1001",
"school_name": "S1001 MBESA SECONDARY SCHOOL ",
"results": [
{
"CNO": "S1001/0001",
"PReM NO": "xxxxxxx",
"CANDIDATE NAME": "XXXXX XXXXX XXXXX",
"GENDER": "XX",
"SUBJECTS": "CIVICS-'B' HIST-'A' GEO-'A' KISW-'B' ENGL-'A' PHY-'B' CHEM-'A' BIO-'B' B/MATH-'B'"
},
// ...more student results...
]
}
Compare Student Results
{
"student1": {
"CNO": "S0010/0001",
"CANDIDATE NAME": "XXXXX XXXXX XXXXX",
"SEX": "M",
"DIV": "I",
"PTS": "17",
"DETAILED SUBJECTS": "CIVICS-'B' HIST-'A' GEO-'A' KISW-'B' ENGL-'A' PHY-'B' CHEM-'A' BIO-'B' B/MATH-'B'"
},
"student2": {
"CNO": "P3200/0100",
"CANDIDATE NAME": "XXXXX XXXXX XXXXX",
"SEX": "M",
"DIV": "I",
"PTS": "17",
"DETAILED SUBJECTS": "CIVICS-'B' HIST-'A' GEO-'A' KISW-'B' ENGL-'A' PHY-'B' CHEM-'A' BIO-'B' B/MATH-'B'"
},
"student3": {
"CNO": "S0012/0005",
"CANDIDATE NAME": "XXXXX XXXXX XXXXX",
"SEX": "M",
"DIV": "I",
"PTS": "17",
"DETAILED SUBJECTS": "CIVICS-'B' HIST-'A' GEO-'A' KISW-'B' ENGL-'A' PHY-'B' CHEM-'A' BIO-'B' B/MATH-'B'"
}
}
Mentioned Students Results
{
"student1": {
"CNO": "S1266/0001",
"CANDIDATE NAME": "XXXXX XXXXX XXXXX",
"SEX": "M",
"DIV": "I",
"PTS": "17",
"DETAILED SUBJECTS": "CIVICS-'B' HIST-'A' GEO-'A' KISW-'B' ENGL-'A' PHY-'B' CHEM-'A' BIO-'B' B/MATH-'B'"
},
"student2": {
"CNO": "S2265/0001",
"CANDIDATE NAME": "XXXXX XXXXX XXXXX",
"SEX": "M",
"DIV": "I",
"PTS": "17",
"DETAILED SUBJECTS": "CIVICS-'B' HIST-'A' GEO-'A' KISW-'B' ENGL-'A' PHY-'B' CHEM-'A' BIO-'B' B/MATH-'B'"
},
"student3": {
"CNO": "S1066/0001",
"CANDIDATE NAME": "XXXXX XXXXX XXXXX",
"SEX": "M",
"DIV": "I",
"PTS": "17",
"DETAILED SUBJECTS": "CIVICS-'B' HIST-'A' GEO-'A' KISW-'B' ENGL-'A' PHY-'B' CHEM-'A' BIO-'B' B/MATH-'B'"
}
}
License
MIT License
Metadata
Release files for NectaPy 0.11.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nectapy-0.11.0.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| NectaPy-0.11.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.2 kB
Release files / nectapy-0.11.0.tar.gz
| Download URL | nectapy-0.11.0.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
30b9feb71a95c9cc8f7766dd16810db897a0da1e1a8bb9059ed9d116dddb80eb
|
|
BLAKE2b-256 checksum How to use checksums |
67b022a20f0759ea6c4926b3e6d48dcda0b297741d579ef1ba7f7ea2775c1289
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|
Release files / NectaPy-0.11.0-py3-none-any.whl
| Download URL | NectaPy-0.11.0-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
45710d502b2cc0f82fba64da703085a2c30fc950806555fe0a95f567e70f5699
|
|
BLAKE2b-256 checksum How to use checksums |
ec468948b91201349d2ef0bea3e9a205021fac2a72f3a41f3c6207e67214795f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|